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

Power BI – Como comparar períodos distintos?

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

Olá! Setembro já começou Power. \o/

Nos dias 01 e 02/09/2018 realizamos turmas presenciais de Power BI módulo I em dois lugares incríveis: Fortaleza e Goiânia.

Power BI - Como comparar períodos distintos?Em Goiânia, eu Ruy, ministrei a turma e tive o prazer de conhecer pessoas sensacionais. Nessa mesma turma surgiu uma dúvida que prometi transformar em aula. Como promessa é dívida, essa aula é para o colega Guimarães que teve a seguinte dúvida:

Como posso comparar períodos distintos no Power BI? Por exemplo, tenho minha receita, quero ao selecionar dois filtros distintos comparar a receita de cada período.

Entre as cidades de Goiânia e vitória, e suas 4 horas de voo, solucionei o problema utilizando o princípio dos parâmetros, a função CALENDARAUTO(), CALCULATE() e a função USERRELATIONSHIP().

Primeiro Adicionei ao modelo duas tabelas com a função CALENDARAUTO(). Essa função gera uma tabela com todas as datas desde a data mais antiga do modelo até a mais nova considerando o calendário fiscal. A tabela Período A e a tabela Período B foram geradas de forma idêntica.

PERIODO A =
CALENDARAUTO()

PERIODO B =
CALENDARAUTO()

 

Após gerar as tabelas Periodo A e Período B foi feito o relacionamento entre as tabelas de período e a tabela de vendas. Todavia, a dica é deixar os relacionamentos não-ativos.
Veja na figura abaixo

Power BI - Como comparar períodos distintos?
Relacionamento feito, é hora de gerar as medidas do modelo.

Receita = SUM(fDados[ValPed])

Receita A =
CALCULATE([Receita];
USERELATIONSHIP(fDados[Data];’Periodo A'[Date])
)

Receita B =
CALCULATE([Receita];
USERELATIONSHIP(fDados[Data];’Periodo B'[Date])
)

Agora é só montar um gráfico e colocar as duas medidas: Receita A, que corresponde a medida do período A, e Receita B, que corresponde ao período B. Veja na figura abaixo o resultado.

Power BI - Como comparar períodos distintos?
Ainda no dia 2/09/2018 gravei a aula e escrevi este artigo. Missão dada e missão cumprida!

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

Ícone

Power BI - Como comparar períodos distintos 0.70 KB 1279 downloads

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

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

Power BI (desktop) – Calculando Crescimento Anual YoY ou Mensal MoM

Muitas vezes precisamos encontrar a Taxa anual de crescimento da sua empresa, ou de um produto. Ou ainda, queremos saber como foi o mesmo comportamento, porém, com periodicidade mensal em relação ao ano anterior.

Veja agora 2 maneiras de encontrar estas respostas.

Funções DAX utilizadas e definições no Microsoft

SUM – https://goo.gl/VgJ3wL

IFERROR – https://goo.gl/GNhebv

CALCULATE – https://goo.gl/sJrqhB

SAMEPERIODLASTYEAR – https://goo.gl/eygoRu

BLANK – https://goo.gl/v4HZFd

DATE – https://goo.gl/hECNzC VAR – https://goo.gl/bemcNF

YEAR – https://goo.gl/gVhqew

DIVIDE – https://goo.gl/eLJiu2

ALLSELECTED – https://goo.gl/MwHJND IF – https://goo.gl/DGBHkQ

HASONEFILTER – https://goo.gl/NJkV5r MAX – https://goo.gl/kxteJD Sobre o assunto e referência técnica: SQLBI | Artigo Marco Russo sobre cálculos anuais – https://goo.gl/rO0uZX

DAX Studio – Row/Table Constructor como filtros

Olá pessoal, em plena terça-feira de carnaval, estou aqui trazendo conteúdo sobre DAX para vocês!

Neste post você irá aprender a criar linhas de dados (em uma ou mais colunas), diretamente no DAX com o conceito de ROW CONSTRUCTOR, que também pode ser utilizado para criação de tabelas com uma lista de linhas!

Em seguida utilizaremos o conceito acima como opções de FILTROS em funções DAX como a CALCULATE, cujo um de seus argumentos solicitados são filtros, para gerar 3 soluções distintas para um determinado cálculo que queremos executar, utilizando:

  • CALCULATE
  • TREATAS
  • IN (operador)

Por fim, vamos avaliar a PERFORMANCE de cada uma das 3 maneiras geradas!

Não esqueça de curtir e compartilhar o conteúdo! Nos vemos na próxima vídeo-aula!

Abraços

 

Desnormalizando seus dados (Modelo de Dados)

Qual é o modelo de dados ideal para trabalhar com SSBI? Relacional e normalizado (OLTP) ou Dimensional e desnormalizado (OLAP)?

Aprenda nesta vídeo-aula a criar “desnormalizações” de 3 maneiras diferentes:

  • DAX via Powerpivot;
  • Instrução SQL;
  • Power Query

Criando Média Móvel (Powerpivot e Power BI)

Toda semana recebo ao menos um e-mail, ou comentário nos vídeos do Canal Planilheiros no YouTube, solicitando uma aula para auxiliar na construção de Média Móvel!

Atendendo aos inúmeros pedidos e solicitações, na aula de hoje, utilizando algumas funções DAX (AVERAGEX, FILTER, DATESINPERIOD, MAX, ALL) ensino duas maneiras diferentes de construir a MEDIDA que irá solucionar o problema da média móvel, seja ela por dia, mês, trimestre ou ano.

Esta aula pode ser utilizada no suplemento Powerpivot do Excel E no Power BI