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!

Linguagem DAX
A Linguagem DAX dá ao Power BI a verdadeira dimensão da palavra POWER. É com ela que o Power BI faz mágica e transforma dados e informações em inteligência para seus relatórios. A Linguagem DAX dá dinâmica, compreensão e vida aos dados.

Continue lendo para entender mais sobre o que é DAX, porque ele é tão importante, sua origem e onde utilizar. No final fazemos um pequeno comparativo entre as funções de excel e DAX.

O que é DAX

A Linguagem DAX que é a sigla para Data Analysis eXpression, numa tradução livre: Expressão de Análise de Dados.

É uma coleção de funções, operadores e constantes que podem ser usados em uma fórmula ou expressão, para calcular e retornar um ou mais valores. Resumindo, o DAX ajuda você a criar novas informações a partir de dados já presentes em seu modelo.

Quando foi criada a Linguagem DAX

Em 2010, foi criada uma linguagem para suportar um suplemento para Excel, o Power Pivot, esta foi a primeira vez que a Linguagem DAX apareceu. De lá para cá ela só vem evoluindo, passou a ser utilizada em outros programas da Microsoft, conforme falamos abaixo.

Por que a Linguagem DAX é tão importante

Ao longo do tempo, à medida que ficar mais familiar com o Power BI, vai perceber que é fácil criar um novo arquivo. É fácil também importar alguns dados nele e até visualizações que mostrem informações valiosas sem usar nenhuma fórmula DAX.

Mas, por exemplo, para analisar o percentual de crescimento em diferentes categorias de produtos em intervalos de datas diferentes. Para calcular o crescimento ano a ano comparado às tendências do mercado. Para localizar um valor específico nas tabelas, é necessário construir fórmulas em DAX.

Por meio das funções DAX é possível realizar estes exemplos e muito mais.

DAX é útil para diferentes propósitos. Por exemplo, usuários de Excel podem usar DAX para criar modelos de dados no suplemento Power Pivot. Profissionais de BI precisam implementar linguagem DAX em soluções de BI tenham elas qualquer tamanho. Usuários eventuais de Power BI podem precisar criar algumas fórmulas em seus modelos.

Criar fórmulas eficientes ajudará você a tirar o máximo proveito de seus dados. Quando obtém as informações de que precisa, você pode começar a resolver problemas reais na sua empresa, que afetam o seu resultado. Esse é o potencial do Power BI, e o DAX ajudará você a aproveitá-lo.

Onde utilizar a Linguagem DAX

Linguagem DAX - 3 programas

Como mencionado acima o DAX foi criado a partir de um suplemento do excel (Power Pivot) e começou a ser utilizado aí. No excel é possível utilizar tanto dentro do Power Pivot como em Tabelas Dinâmicas, por meio de colunas calculadas e criação de medidas.

Posteriormente o time SSAS – SQL Server Analysis Services da Microsoft começou a utilizar a linguagem no modo SSAS Tabular.

Em 2015, com o nascimento do Power BI, a linguagem passou a ganhar mais dimensão e mais funções. É nesta ferramenta que esta linguagem vem demonstrando seu verdadeiro poder (POWER).

Veja 5 funções DAX que vão facilitar a sua vida, tanto no Power BI quanto no Power Pivot.

Comparando as funções DAX com as funções do Excel

As fórmulas DAX são bem parecidas com as do Excel. O processo de criação é quase o mesmo, você digita um sinal de igual, seguido de um nome de função ou uma expressão, e todos os valores ou argumentos necessários. Assim como o Excel, a DAX fornece diversas funções que você pode usar para trabalhar com caracteres, executar cálculos usando datas e horas, ou criar valores condicionais.

Porém, as fórmulas DAX são diferentes no que diz respeito aos seguintes itens mais importantes:

  • Uma função DAX sempre faz referência à uma coluna completa ou uma tabela. Para usar apenas valores específicos de uma tabela ou coluna, você adiciona filtros na fórmula.
  • Para personalizar os cálculos linha por linha, existem funções que permitem usar o valor da linha atual ou um valor relacionado para executar cálculos que variam de acordo com o contexto.
  • Algumas funções da Linguagem DAX fornecem inteligência de tempo, que permitem criar cálculos usando intervalos de datas e comparar os resultados em períodos semelhantes.

A biblioteca de funções de DAX se baseia a partir da biblioteca do Excel, mas há grandes diferenças. Abaixo algumas diferenças e semelhanças entre funções do Excel e de DAX.

  • Muitas funções de DAX têm o mesmo nome e o mesmo comportamento das funções do Excel, mas foram modificadas para aceitar diferentes tipos de entradas e, em alguns casos, podem retornar um tipo de dados diferente.
  • As funções de DAX nunca aceitam um intervalo de células como referência, mas aceitam uma coluna ou tabela.
  • As funções de data e hora de DAX retornam um tipo de dados datetime. Por outro lado, as funções de data e hora do Excel retornam um inteiro que representa uma data após formatação.
  • A linguagem DAX oferece novas funções de pesquisa, semelhantes às funções de pesquisa de matriz e vetor do Excel. Porém, as funções de DAX requerem que uma relação seja estabelecida entre as tabelas.

Se tiver dúvidas em relação à quando usar excel e quando usar o Power BI, onde a Linguagem DAX é nativa veja em: Excel vs Power BI – Descubra quem vence esta batalha.

Referência: Technet/Microsoft

Temos um e-book com as 15 funções DAX mais utilizadas e que te ajudarão muito nos seus modelos de dados.

15 funções DAX mais usadas

E agora, o que você deve fazer com estas informações?

DAX é uma linguagem relativamente nova, é simples, mas não é fácil. O completo domínio dela pode levar algum tempo.

Quem tem familiaridade com tabelas dinâmicas no excel, experiências com análise de dados, mesmo que de forma mais superficial, terá um pouco mais de facilidade em aprender. Mas mesmo quem é totalmente leigo consegue aprender do zero e colocar em prática.

Sua utilização usa lógicas parecidas a criação das lógicas do excel, mas tem sua própria lógica quando observada mais a fundo. Você deve aprendê-la sem pré-formatações na cabeça. Tente não ligar a um conceito já formado, assim será mais rápido aprender.

O importante é que comece a aprender já e coloque em prática enquanto aprende. Com o tempo irá ganhar propriedade e conseguirá utilizá-la para resolver muitos problemas. Você não vai se arrepender.

Você já conhecia DAX? Se não conhecia, o que achou? Se já conhece compartilhe conosco um pouco. Deixe um comentário com a sua opinião abaixo.

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

Até a próxima!