Funções DAX – CROSSFILTER()

Aprenda a utilizar a função SELECTEDVALUE para trabalhar suas medidas DAX no Power BI.

Olá, nesse artigo vou abordar um tema que é fundamental para que suas medidas funcionem de maneira correta. Relacionamentos do Power BI é um assunto vasto e poderia ser tema de vários artigos. Entretanto, para organizar nosso pensamento vou abordar nesse artigo apenas direção de filtros em um relacionamento.

Então vamos lá, no Power BI quando conectamos duas tabelas através de uma chave primária são três as possibilidades de direções de filtro. No nosso exemplo utilizarei duas tabelas dVendedor e IdNomes, ambas com registros de ID únicos.

  1. Tabela dVendedor filtra a tabela dIdNomes
    Funções DAX - CROSSFILTER()
  2. Tabela dIdNomes filtra a dVendedor
    Funções DAX - CROSSFILTER()
  3. Tabelas realizam filtros em ambas as direções
    Funções DAX - CROSSFILTER()

Funções DAX - CROSSFILTER()Para alterar o relacionamento entre duas tabelas basta dar um duplo clique no relacionamento ou clicar no botão gerenciar relações na guia Página Inicial

 

Em diversas ocasiões, utilizar direção de filtro correta fará com que chegue aos valores que procura em seus cálculos no DAX e pode melhor performance das suas métricas. Vamos abordar dois exemplos nesse artigo. O primeiro é o caso de um relacionamento em Snowflake, floco de neve, conforme a figura abaixo.

Funções DAX - CROSSFILTER()

Funções DAX - CROSSFILTER()Nesse situação o filtro que desejamos é que Vendedor que esta na tabela IdNomes filtre a tabela fDados. Todavia, para que isso seja possível é fundamental que a tabela IdNomes filtre a tabela dVendedor e, em sequência, a tabela dVendedor filtre a tabela fDados. Porém, conforme a figura acima a direção do filtro de IdNomes, você pode verificar isso pela seta nessa relação, é de dVendedor para IdNomes. Portanto, o filtro não funciona, como podemos verificar na tabela ao lado.

Para resolver esse problema temos duas opções:

  1. Alterar manualmente a direção dessa relação conforme demonstrei no inicio deste artigo
  2. Alterar através das funções CROSSFILTER e CALCULATE no DAX apenas para a medida que vamos abordar

Vamos a segunda opção, pois ela nos da uma melhor performance e pode ser utilizada sem alterar outros cálculos do seu painel.
Para isso vamos criar uma nova medida chamada Receita CROSS. Clique com o botão direito na tabela de medidas no canto direito do Power BI e selecione a opção nova medida. Digite a seguinte fórmula na barra de fórmulas:

Receita CROSS =
CALCULATE(
SUM(fDados[Valor]);
CROSSFILTER(dINomes[ID];dVendedor[ID];Both))

Pronto, agora basta utilizar a medida Receita CROSS no lugar de Receita.

 

Faça o download do material desse artigo/aula e acompanhe essa solução.

Ícone

Funções DAX - CROSSFILTER() 0.70 KB 1126 downloads

Download dos materiais da aula. ...

Abraços e até breve

Funções DAX – SELECTEDVALUE()

Aprenda a utilizar a função SELECTEDVALUE para trabalhar suas medidas DAX no Power BI.

Olá! Depois de algumas semanas sem artigos aqui no blog estamos de volta com força total.

Essa aula surgiu de um hackathon (hack+athon) que tive o prazer de participar junto com o papa do DAX Fernando Garcia, Paulo Victor Mariah e Robson Cruz. Na ocasião, era necessário que uma tabela só mostrasse valores caso um único valor fosse selecionado em uma segmentação de dados.

Missão dada é missão cumprida! Na época resolvemos o problema utilizando a função IF(), em conjunto com a função HASONEVALUE() e VALUES().

= IF (
HASONEVALUE([COLUNA]);
VALUES([COLUNA])
)

Todavia, alguns meses depois foi adicionada ao DAX uma função que simplifica essa conta. A função SELECTEDVALUE(). Resolvi então gravar essa vídeo aula que demonstra as duas formas de realizar essa operação.

No formato raiz, ainda com IF, HASONEVALUE E VALUES. E no formato nutella com SELECTEDVALUE.

Brincadeiras a parte, a função SELECTEDVALUE facilita nosso dia a dia e deve ser utilizada.

Faça o download do material dessa vídeo aula e acompanhe essa solução.

Ícone

Funções DAX - SELECTEDVALUE() 0.70 KB 948 downloads

Download dos materiais da aula de novidades do Power BI. ...

Abraços e até breve