Análise e Modelagem de Dados com DAX

DAX, acrônimo para Data Analysis Expression, é uma linguagem baseada em expressões/funções utilizada no Power Pivot (dentro do Microsoft Excel), no SSAS (SQL Server Analysis Services) e no Power BI (software de BI da Microsoft). Suas funções são muito parecidas com aquelas utilizadas no Excel, mas operam de uma maneira diferente: são capazes de realizar cálculos de altíssima performance em tabelas e colunas, utilizando o contexto de linhas (row context).

Um exemplo da distinção entre funções do Excel e funções DAX pode ser claramente observado abaixo. No Excel, para somar um intervalo de células, a função SOMA menciona cada célula (ou o intervalo de células) que deve ser somada, referenciando-as pelos seus nomes (A1, por exemplo).

No Power Pivot (ainda no Excel, mas utilizando DAX dessa vez), para somar uma coluna, foi criado uma “medida”, que é um conceito de cálculo no Power Pivot e Power BI, com o nome de “Soma Vendas”. Em novos artigos falaremos mais sobre medidas, mas se já quiser aprender, dê uma olhada nesse tópico aqui.

Depois de declarar o nome, foi inserido dois pontos ( : ) e igual (=) e invocada a função SUM. Todas as funções DAX são em inglês, mesmo que o Excel seja em português. E notem a referência do que deve ser somado que foi declarado: a coluna Subtotal foi adicionada por completo na função, pois não é possível referenciar uma célula específica nas expressões DAX. O conceito de células não existe na tabela de dados dentro do Power Pivot. Antes de mencionar a coluna, que é inserida entre colchetes, também foi especificada sua tabela, que se chama “Pedidos Geral”. Resultando na expressão:

=SUM(‘Pedidos Geral’[Subtotal])

Já no Power BI, DAX pode ser utilizado quase da mesma forma que no Power Pivot, com a exceção que não é preciso inserir os dois pontos ( : ) depois do nome da medida.

A medida criada em DAX resultará em um valor apenas, que é suscetível a mudanças de contextos de filtros ao utiliza-la em análises dinâmicas. Essas funções também podem ser utilizadas para calcular colunas dentro da tabela no Power BI e Power Pivot.

Esse foi o exemplo de uma “medida” criada utilizando DAX, que só será calculada ao ser utilizada, ou seja, nada será inserido na tabela principal (no Power BI), nem em uma célula no Excel (no caso do Power Pivot). Ao criar uma medida, o que acontecerá imediatamente é a inserção de um único valor na área de trabalho do Power Pivot, que é suscetível às mudanças de contextos de filtros ao utiliza-la em análises dinâmicas.

As expressões em DAX armazenam um único valor, até que sejam aplicados filtros que obrigarão o cálculo a ser executado de uma forma segmentada. Esse é um dos seus principais conceitos. Como por exemplo, em uma tabela dinâmica, os filtros interferirão automaticamente no cálculo mostrado, que calculará a medida segmentadamente para seu o filtro específico. Na imagem abaixo, a expressão de soma criada anteriormente calculou especificamente a soma das “Bicicletas”, no ano “2018” com todas as Subcategorias selecionadas. O mesmo ocorreu para todas as outras células da tabelas com seus respectivos filtros de linha, coluna e tabela.

E onde está o poder de DAX? Primeiro, na sua capacidade e performance de cálculo, que utiliza a tecnologia xVelocity Engine para armazená-lo sem utilizar muito processamento de RAM e espaço em disco (no caso de uma “medida”). Esse poder é especialmente útil para grandes conjuntos de dados com muitas tabelas.

Em segundo lugar, é sua compatibilidade com as conexões entre tabelas realizadas no Power Pivot ou no Power BI que sobressaem. Ao invés de fazer um join (como no SQL) ou um PROCV no Excel para juntar colunas que precisam ser utilizadas em conjuntos, mas estão em outras tabelas, as conexões entre elas realizadas no Power Pivot habilita que a execução do cálculo em DAX percorra por essas diferentes dimensões, considerando seus filtros conforme selecionados. Habilidade essa que uma função do Excel não consegue realizar.

Tipos de Funções DAX

Existem dez tipos de expressões em DAX, que são armazenadas em uma biblioteca de conjuntos similar ao Excel:

  • Funções de Data e Hora
  • Funções de Inteligência Temporal
  • Funções de Filtro
  • Funções de Informações
  • Funções Lógicas
  • Funções de Matemática e Trigonometria
  • Funções Pai/Filho
  • Funções Estatística
  • Funções de Texto
  • Outras Funções

As mais poderosas funções, na minha opinião, são: IF, CALCULATE, FILTER e RELATED. Elas não serão explicadas aqui, mas fica como informação para incentivá-lo a buscar mais sobre o assunto. A IF, é semelhante a SE do Excel. Já as funções CALCULATE e FILTER são capazes de alterar o atual contexto de filtro. E a RELATED capacita a utilização de colunas em outras tabelas utilizando sua conexão pré-estabelecida (mostrado acima). Todas as funções DAX podem ser consultadas aqui.

 

Por que você deve aprender DAX?

Aprender a ir além das funções disponibilizadas a décadas no Excel transformará o patamar como você analisa dados hoje. É um grande diferencial para um analista e especialista e ainda promove o aprendizado em modelagem de dados no Power Pivot e no Power Query, que é outra sensacional ferramenta que vejo poucos usuários de Excel utilizando e ainda se debatendo com transformações de dados em VBA ou com fórmulas. É um passo para aprender todo o conjunto de self-service BI no Excel. A utilização do Power Pivot otimizará sua planilha, poupará tempo, erros e aprimorará suas análises. E para usar, basta aprender. DAX é a ponta do iceberg para adentrar em outras tecnologias para análise e é uma das mais próximas e ao seu alcance através do Excel.

O Power Pivot e as funções DAX estão disponíveis desde o Excel 2010 e no Excel 2016 em diante a partir da versão ProPlus do Office (versões Home e Student não terão o Power Pivot). Também estão disponíveis no Power BI Free (que é grátis e pode ser baixado agora mesmo por esse link).

Leave a comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *