Você sabe tudo sobre DAX? Existe um desafio que está testando seus conhecimentos em DAX disponível na internet. Vamos resolver?
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala Impressionadores! Hoje estaremos testando seus conhecimentos em DAX, será que você realmente sabe?
Esse é um teste chamado Do You Think You Know DAX (Você acha que sabe DAX?), é gratuito e vamos disponibilizar também o PDF dele, caso o site fique fora do ar.
O PDF é só para garantir que você vai conseguir fazer o teste, pois ele é um Dashboard de Power BI que foi publicado, então pode sair do ar a qualquer momento.
A ideia aqui é te mostra algumas questões de DAX, que não são fáceis para ver o seu nível em DAX Power BI.
Claro que não é um teste completo, por ter apenas 5 questões, mas são questões bem elaboradas.
Na aula eu vou te mostrar as questões e como você vai resolver cada uma delas para entender o motivo de estarem certas ou erradas.
E aí, quer aprender como testar seus conhecimentos em DAX? Então vem comigo que eu vou te mostrar!
Testando seus Conhecimentos em DAX
Todas as perguntas se referem ao seguinte modelo de dados
Neste modelo temos 2 tabelas, uma de cores, com as cores branco e preto e uma tabela de números com as quantidades de cada cor.
1ª Questão:
As seguintes 2 medidas dão o mesmo resultado:
O resultado é verdadeiro ou falso?
Observe que nas duas medidas estamos contando linhas de uma tabela (COUNTROWS) e o comando All está sendo usado nas duas medidas, mas, em uma foi passado uma tabela e na outra temos colunas da tabela.
O Comando All retorna todos os valores da tabela e no geral também remove as duplicatas, mas quando colocamos uma tabela inteira dentro do All, como na primeira medida, neste caso ele não remove as duplicatas.
Perceba que na tabela a linha Black se repete, mas essa duplicata é mantida neste caso, então o resultado desta medida é 3 linhas.
Na próxima medida ele coloca as duas únicas colunas da tabela, colocando assim, neste formato de coluna as duplicatas são removidas.
Obs. Como duplicatas nós entendemos todas as linhas que são idênticas, os valores têm que se repetir em todas as colunas da linha.
Como a linha Black 1 se repete ela será removida e o resultado da segunda medida é 2.
Resultado da questão 1 = B: False.
2ª Questão
Qual será o resultado desta medida?
Nesta questão está sendo usado duas fórmulas Calculate, uma dentro da outra.
O resultado será um texto que pode ser: Black, (Blank) ou White. Qual texto é a resposta?
Para responder esta questão é importante saber como funciona a função CALCULATE, porque nela temos dois argumentos:
CALCULATE =(EXPRESSÃO, FILTRO)
Exemplo
Se estivéssemos fazendo a soma da quantidade vendida no País USA
CALCULATE =(SUM(QTD. VENDIDA), [PAÍS] = USA)
O calculate primeiro vai isolar a coluna PAÍS e filtrar a opção USA e depois vai fazer o cálculo da soma.
Embora a soma venha como primeiro argumento o CALCULATE funciona de forma inversa.
No caso da nossa questão perceba que o primeiro calculate tem dois argumentos, no segundo que equivale ao filtro ele atribui a cor white, depois ele passa ao primeiro argumento que foi onde ele colocou o segundo CALCULATE.
Nesse CALCULATE ele tem a atribuição da cor Black no segundo argumento, portanto este que vai sobrescrever a palavra White atribuída anteriormente.
A resposta é a letra A = Black.
3ª Questão
As duas medidas vão ter o mesmo resultado?
Em ambas as medida está sendo usada a função SUMX, esta função faz uma soma, mas antes faz uma análise em cada linha da tabela
Quando colocamos uma medida [total quantity] em uma fórmula iterativa SUMX o contexto de filtro próprio da medida se torna contexto de linha, ou seja, o modo de análise muda.
A medida sozinha simplesmente somaria os valores sem analisar linha a linha, então o resultado desta tabela 1 + 3 + 1 daria 5
Quando a medida está dentro da Função SUMX ela passa a analisar como a função SUMX analisa e esta função faz uma análise em cada linha da tabela antes de fazer a soma.
Qual é esta análise?
Basicamente a função SUMX vai ver a primeira linha e vai analisar se existe na tabela uma linha idêntica a ela, com isso ela vai achar a terceira linha que é idêntica à primeira.
Após ver isso, a função vai dar um valor para a linha 1 e esse valor será uma soma da quantidade de linhas equivalentes, então a linha 1 passa a valer 2 porque existe naquela tabela outra linha igual a ela.
A terceira linha vale 3 porque é o valor dela e ela é única, por fim, a última linha também vai receber o valor 2 pelo mesmo motivo da primeira, a função conta as linhas repetidas.
O resultado da soma das linhas que é feito posterior a esta análise fica diferente do resultado da medida anterior.
Portanto, o resultado da 3ª questão é B = False
4ª Questão
As duas medidas vão dar o mesmo resultado?
Measure A -> Esta fórmula está pegando à medida que tem a quantidade total -> 1 + 3 + 1 = 5, mas não vai considerar todas as vendas, o segundo argumento pede que considere apenas a cor White.
Então o resultado da primeira medida é 3, por considerar apenas a cor white.
Measure B -> Aqui à fórmula tenta fazer quase o mesmo da anterior, mas ao invés de colocar a medida Total Quantity na fórmula CALCULATE, foi criada uma variável chamada [Total Quantity] e esta variável foi colocada dentro da função CALCULATE.
A diferença entre medida e variável é que nós podemos modificar o valor de uma MEDIDA, mas, não é possível modificar o valor de uma variável.
Então, neste segundo caso, mesmo que o segundo argumento peça para considerar apenas a cor white, o valor da variável não será modificado e o resultado será 5.
A resposta para essa questão é B = False.
5ª Questão
Nesta questão os dados da tabela foram transformados em uma matriz.
Usando a fórmula, o resultado para a cor Black na matriz deu 2.
Qual será o resultado para a cor White usando a mesma fórmula?
A fórmula é um CALCULATE, está calculando a medida da quantidade total.
A função calculate como comentamos anteriormente pede dois argumentos, no primeiro argumento temos a função All e no segundo argumento a função Filter.
A função All ignora qualquer filtro que for aplicado dentro da tabela, portanto na tabela de cores nenhum filtro será considerado.
Já no segundo argumento temos a função Filter fazendo um filtro na tabela de Números, essa função pede que só seja filtrada as linhas em que a quantidade é igual a 1.
Veja, embora a função All ignore os filtros, ela está recebendo uma informação que já foi filtrada, porque a Função filter no segundo argumento está retirando todos os valores diferentes de 1 da tabela de quantidades.
Neste caso quando os dados são analisados pelo primeiro argumento, a linha que se refere a cor white já foi deixada de lado e seu valor desconsiderado após o Filter.
Por isso o resultado é B = (Blank) vazio…
Conclusão – Testando seus Conhecimentos em DAX
Pessoal! Resolvi fazer esse desafio nada trivial que se chama “Então você acha que conhece o DAX”, este desafio está como público na internet foi disponibilizado para quem quiser testar seus conhecimentos.
Como não é tão fácil resolvê-lo, fiz esta aula “Testando seus Conhecimentos em DAX” mostrando a linha de raciocínio de cada questão, se você quiser, pode tentar resolver e depois conferir suas respostas ou mesmo conhecer o desafio nesta aula e rever conceitos importantes sobre DAX. E u fico por aqui!
Até a próxima impressionadores! Abraço,
Hashtag Treinamentos
Para acessar outras publicações de Power BI, clique aqui!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.