Arquivo para Tag: ALL

Em geral as pessoas se assustam quando se fala em fórmulas e funções. Isto vale para qualquer programa que as utilize (excel, Power BI, etc.). Neste artigo falamos de 5 funções DAX para usar e abusar no Power BI ou Power Pivot. Não são as top mais utilizadas, mas são funções essenciais para desenvolver um bom modelo de dados.

Abaixo temos um e-book que contém além destas 5 mais outras 10 funções clique abaixo e faça o download deste arquivo e dê uma turbinada nos seus modelos.

15 funções DAX mais usadas

 

Se você já utiliza o Power BI já percebeu o quanto é tranquilo criar visualizações. Mas também percebeu que somente isto não é suficiente, pois queremos também ver os dados em um período de tempo específico, com alguns filtros e com uma informação determinada. Isto seria impossível apenas com os dados puros.

O bom que não precisar ser expert para execuções as principais funções DAX, um conhecimento básico de DAX (Data Analysis eXpression) já resolve. Assim nosso objetivo aqui é justamente este, lhe dar algumas funções DAX para usar em quase todos os seus modelos de dados. O legal é que estas funções não são somente para quem está começando, quem já está na ativa e ainda não utiliza todas elas, vai aproveitar este conteúdo também.

São funções DAX para usar no seu dia a dia.

Ajudarão a tornar seu trabalho mais dinâmico, mais inteligente.

Então, nas linhas abaixo, você aprenderá sobre as funções: FILTER, ALL, RELATED, TOTALYTD e CALCULATE.

Para melhor exemplificar as funções DAX que apresentamos, baixe o arquivo do Power BI Desktop neste link.

Siga os passos de descrevemos em seguida para cada função.

No modelo que você acabou de baixar (se não baixou, aproveite este momento para fazer isto), há 3 tabelas, veja na figura abaixo como são estas tabelas. Veja as mesmas na visão “Dados”.

funções DAX para usar 1

Na tela abaixo veja como ficou o relacionamento entre as tabelas na visão “Relacionamentos”.

funções DAX para usar 2

Criar as 5 funções DAX para usar no Power BI

1. Função FILTER

Esta função é utilizada para retornar um subconjunto de uma tabela ou expressão.

Esta fórmula tem a seguinte estrutura: FILTER (<tabela>, <filtro>)

Para exemplificar vamos dizer que você queira saber quantas compras foram feitas e que somaram mais que R$ 1.500. Neste exemplo vamos utilizar também a função COUNTROWS, que conta o número de linhas em uma tabela específica e utilizando junto com FILTER consegue retornar uma contagem mais direcionada.

funções DAX para usar 3

Na visão Relatórios clique (1) na Tabela Vendas conforme tela acima, em seguida escolha a faixa de opções Modelagem e clique (2) em Nova Medida. Será aberto uma barra para digitar a medida, apague o que está escrito e digite a linha abaixo:

Vendas acima de 1500 = COUNTROWS(FILTER(Vendas;Vendas[Valor]>1500))

O primeiro parâmetro “Vendas” identifica uma tabela ou uma expressão que resulta uma tabela. O segundo parâmetro “Vendas[Valor]>1500” representa uma expressão de falso/verdadeiro que avalia cada linha da tabela encontrando aquelas que satisfazem a regra.

A função FILTER nunca é usada sozinha, sempre é utilizada em conjunto com uma outra função. No exemplo acima FILTER serviu para retornar dados dentro de uma condição e em seguida a outra função contou este resultado.

Veja o resultado (foi utilizada a visualização Cartão)

funções DAX para usar 4

2. Função ALL

Esta função é utilizada para retornar todas as linhas de uma tabela ou valores em uma coluna, ignorando qualquer filtro que tenha sido aplicado.

Esta fórmula tem a seguinte estrutura: ALL (<tabela> ou <coluna>)

Na imagem abaixo note que uma das cidades está desmarcada no filtro, com isto o resultado não está considerando esta cidade.

funções DAX para usar 5

Queremos manter os filtros, mas em um dos cartões não queremos que os filtros tenham nenhuma influência, então a função para isso é ALL. Vamos criar uma nova medida e digitar a linha abaixo.

Todas Vendas Puro = COUNTROWS(ALL(Vendas))

Crie um Cartão novo com esta nova medida e verá que o resultado não leva em conta nenhum filtro feito.

funções DAX para usar 6

Assim como a função FILTER, esta função não pode ser usada sozinha, sempre estará com outra função em conjunto. No caso utilizamos também a função COUNTROWS para contar todas as linhas sem exceção.

Essa função pode ser utilizada tanto numa tabela quanto numa coluna, limpando qualquer filtro colocado nas visualizações.

3. Função RELATED

A função RELATED retorna um valor relacionado de outra tabela.

Esta fórmula tem a seguinte estrutura: RELATED (<coluna>)

Agora queremos filtrar as vendas feitas em São Paulo, mas o nome da cidade está numa tabela diferente, pois na tabela de vendas tem somente o código da cidade, mas como há um relacionamento entre as tabelas, podemos utilizar esta função.

Para contar a quantidade de vendas feitas em São Paulo, buscando esta informação de outra tabela, vamos utilizar a linha abaixo, criando uma nova medida.

Qtde Vendas SP = COUNTROWS(FILTER(ALL(Vendas);RELATED(Local[Cidade])=”São Paulo”))

Abaixo o resultado, veja que mantemos o filtro.

funções DAX para usar 7

Utilizamos as 3 funções aprendidas até o momento nesta fórmula, além de COUNTROWS, para fazer a contagem das linhas que determinam o número de vendas. A função ALL utilizada fará com que a fórmula não considere nenhum dos filtros aplicados. A função RELATED, neste caso, serviu para apurar mais o filtro e buscar somente informações da cidade de São Paulo, utilizada em conjunto com a função FILTER.

Colocamos aqui as funções DAX para usar todos os exemplos apresentados de uma vez só.

4. Funções TOTALYTD / TOTALQTD / TOTALMTD

Estas funções são de inteligência de tempo, este tipo de funções são uma das grandes vantagens da Linguagem DAX. Através delas, como o próprio nome diz, se consegue mais inteligência na análise de dados que envolvem tempo.

Com estas funções é possível manipular dados de período de tempo, tais como, dias, meses, trimestres e anos. Com elas se cria comparativos entre os períodos. No exemplo vamos utilizar a função TOTALYTD.

Esta fórmula tem a seguinte estrutura: TOTALYTD (<expressão>;<datas>;<filtro>;<data fim ano>)

Vamos então dizer que se queira ver o total de vendas do ano até o momento. Esta função dará este resultado facilmente. Digite a linha abaixo criando uma Nova Medida (no arquivo está na aba “TOTALYTD”).

Total Vendas Ano = TOTALYTD(SUM(Vendas[Valor]);Calendario[Datas])

funções DAX para usar 8

O primeiro parâmetro “Vendas[Valor]” identifica a coluna que será agregada. Pode ser uma expressão que traga valores escalados ou únicos. Neste caso utilizamos junto ao primeiro parâmetro uma expressão com a função SUM que tem o papel de somar todos os valores da coluna determinada.

O segundo parâmetro “Calendario[Datas]” é onde contém todas as datas possíveis para o relatório. A grande vantagem de funções de inteligência de tempo é eliminar a necessidade de utilização de fórmulas complexas para se chegar no mesmo resultado. Viu como foi simples?

No arquivo de exemplo disponibilizado mude as datas de início de fim no filtro e veja que os valores mudam conforme o período que deseja visualizar.

5. Função CALCULATE

Esta função avalia uma expressão em um contexto que pode ser mudado por filtros específicos. Das 5 funções DAX para usar apresentadas aqui, esta provavelmente será uma das que você mais utilizará.

Esta fórmula tem a seguinte estrutura: CALCULATE(<expressão>;<filtro1>;<filtro2>;…)

Para este exemplo vamos chegar no resultado do total de valor vendido para todas as cidades. Dá para chegar no resultado utilizando várias expressões fragmentadas, criando uma fórmula longa e trabalhosa. Mas usando CALCULATE isto é feito de forma limpa e rápida. Veja a linha abaixo.

Vendas Todas Cidades = CALCULATE(SUM(Vendas[Valor]);ALL(Local[Cidade]))

O primeiro parâmetro “SUM(Vendas[Valor])” traz a coluna que terá seus valores agregados. O segundo parâmetro “ALL(Local[Cidade])”, como utiliza a função ALL desconsidera qualquer filtro feito e ao mesmo tempo faz com que o cálculo seja aplicado em relação às cidades. Veja na figura que mesmo com duas cidades não selecionadas a soma das Vendas é total.

funções DAX para usar 9

A função CALCULATE é uma das mais úteis e poderosas funções DAX, é como se fosse um “SE” superpoderoso que junta vários SES em uma única expressão.

Esta função tem algumas regras, veja:

  • Os parâmetros de filtros não podem se referenciar à Medidas;
  • As expressões não podem usar funções que procuram ou retornam tabelas inteiras;

São funções DAX bastante úteis no Power BI e em qualquer aplicação que utilize esta linguagem. Elas ajudarão muito a melhorar suas análises e apresentações e lhe darão eficiência na hora de montar excelentes modelos. Consulte mais funções DAX para usar na biblioteca de referência da Microsoft.

Está percebendo que usar funções DAX não é nada difícil.

Com um pouco de aprendizado ficará fácil e simples, fique atento para mais posts e vídeos sobre funções DAX para usar no seu dia a dia.

Aproveite e confira também nosso artigo sobre as funções de contar: 4 funções DAX para contar essenciais no Power BI.

Compartilhe este conteúdo nas suas redes sociais (utilize os botões abaixo) e ajude seus colegas a compreender melhor sobre o assunto.

Tem dúvidas? Nos pergunte! Utilize a sessão de comentários deste artigo logo abaixo.

Até a próxima!