Pular para o conteúdo
Home » Blog » Linguagem DAX: Tudo para começar a usar do jeito certo

Linguagem DAX: Tudo para começar a usar do jeito certo

Se você precisa aprender mais sobre a linguagem DAX, leia todo este post. Seja porque você está entrando no mundo do Power BI, ou seja para usar no Power Pivot do Excel vamos te ajudar a conhecer esta linguagem e ter as noções básicas para iniciar bem neste mundo.

Temos um curso grátis de Power BI: Curso de Power BI Gratuito.

Este artigo é essencial para você que quer dominar a linguagem DAX e saber de vários macetes.

Dicas para dominar DAX

O que é Linguagem DAX?

DAX é uma sigla para “Data Analysis Expression” em tradução livre: Expressão de análise de dados. Essa linguagem é usada nos produtos que fazem análise de dados da Microsoft, como: Power BI, Power Pivot do Excel, SQL Server Analysis Services Tabular Edition e Azure Analysis Services. A criação desta linguagem aconteceu utilizando uma combinação de T-SQL, fórmulas do Excel e linguagem C#.

DAX é uma linguagem com base em expressões, ou seja, a maior parte fica após um sinal de igual (=) como uma fórmula de Excel que estamos acostumados.

Existem centenas de funções para centenas de aplicações diferentes. Mas a própria linguagem possui alguns fundamentos e princípios básicos para seguir.

Como o objetivo aqui é apresentar a Linguagem DAX no Power BI e no Power Pivot do Excel, vamos tentar ao máximo utilizar exemplos e imagens desses dois programas.

Aplicações possíveis para DAX

Utilizando DAX para fazer cálculos

Esta é a aplicação mais comum para DAX, escrever as expressões para fazer cálculos.

O cálculo, tanto no Power BI como no Power Pivot do Excel vem em três formas em seguida:

  • Coluna Calculada
  • Tabela Calculada
  • Medida

Abaixo está onde criamos as expressões DAX no Power BI e em seguida no Excel.

Linguagem DAX no Power BI
Criar medida no Excel

Este artigo ficaria muito longo se fossemos discutir a diferença entre esses três tipos de cálculos. Falaremos mais sobre as diferenças em artigos específicos aqui no nosso Blog.

Utilizando a Linguagem DAX para restringir acessos

Podemos usar o DAX para escrever expressões lógicas para fins de segurança a nível de linha. Isso significa usar DAX em um cálculo que retorna apenas um valor booleano (verdadeiro ou falso). Todavia, esta funcionalidade está apenas no Power BI.

segurança a nível de linha em DAX

Há vários artigos na internet que explica como fazer isso, o intuito aqui não é detalhar este tema. Posteriormente teremos artigos aqui que falem mais sobre isso.

Utizando DAX como uma linguagem de Consultas (Queries)

A Linguagem DAX também pode ser usada como uma consulta independente. No entanto, você precisa ter uma configuração específica para executar isso.

Você precisa estar conectado ao modelo usando um programa como SSMS (SQL Server Management Studio) ou DAX Studio. Então nesse ambiente, escreva a consulta e obtenha os resultados que precisa.

Esta é uma das aplicações que pouco você utilizará, mas é importante mencionar que isso é possível. No seu dia a dia, você passará a maior parte do tempo usando DAX para fazer cálculos, por isso que a maior parte deste artigo trata mais desta forma.

Sintaxe da expressão DAX

As expressões na linguagem DAX, para fazer cálculos sempre vem depois de um sinal de igual (=), por exemplo temos as que se seguem:

=55
="Digite um texto"
=15*4
=SUM(TabelaT[ColunaC])
=CALCULATE(Soma(TabelaT[ColunaC]), TabelaJ[ColunaA] ="Condição" )

Em todos os exemplos acima temos expressões após o sinal de igual. Chamamos estas expressões também de “Fórmulas”, ou seja, um conjunto de valores, textos ou funções.

Se for texto, ele será colocado entre aspas duplas (” “). Você também pode usar operadores como * ou / na expressão, bem como pode usar funções (como SUM e CALCULATE nos exemplos acima) e pode fazer referência a outras colunas, tabelas e medidas.

Referenciando a objetos na expressão da Linguagem DAX

Uma parte importante de uma expressão DAX é quando você faz referência a outros objetos. Por exemplo, você pode criar uma coluna, que inclusive pode ser exatamente igual a outra coluna.

Criar nova coluna no Power BI com DAX

Para fazer referência a uma coluna, você precisa do nome da coluna dentro de [ ], ou seja, dentro de “colchetes”. O nome da tabela pode aparecer antes.

Se você estiver criando a coluna dentro da mesma tabela, pode pular o nome da tabela e tê-lo o código abaixo também.

Nova Coluna = [Grupo]

A fórmula acima funciona desde que a coluna que esteja na mesma tabela em que a coluna “Grupo” está. Portanto, como boa prática, é recomendável colocar o nome da tabela antes do nome da coluna. O nome da tabela vem antes do nome da coluna conforme exemplo abaixo.

Nova Coluna = Produtos[Grupo]

Se o nome da tabela tiver algum caractere especial (o espaço também é considerado como um caractere especial), os nomes das tabelas virão entre aspas simples (‘) como abaixo.

Maior data = MAX('Calendário'[Date])

Como a palavra “Calendário” tem um “á” com acento é considerado um caractere especial e por isso o nome da tabela fica entre aspas simples no exemplo.

As colunas calculadas são referenciadas da mesma forma que as colunas normais. As tabelas calculadas são referenciadas exatamente igual às tabelas normais.

As medidas são referenciadas com a mesma estrutura das colunas com [ colchetes ], e os nomes das tabelas na frente delas. No entanto, para as medidas, é aconselhável NÃO usar o nome da tabela, pois você pode mover suas medidas entre as tabelas.

Operadores

Há muitos operadores que você pode usar nas expressões da linguagem DAX. Há quatro tipos diferentes de operadores: aritmético, comparação, concatenação de texto e lógico

Operadores Aritiméticos

Para executar operações de matemáticas básicas, como adição, subtração ou divisão. Bem como, combinar números e produzir resultados numéricos, use os operadores aritméticos a seguir.

Operadores aritiméticos Linguagem DAX

Operadores de Comparação

Você pode comparar dois valores com os operadores em seguida. Eles servem na comparação de dois valores, assim o resultado é um valor lógico, TRUE ou FALSE.

Operadores de comparação

Operadores de concatenação de textos

Use o “E” comercial (&) para unir duas ou mais cadeias de caracteres de texto para produzir uma única parte do texto.

Operador de concatenação de textos

Operadores Lógicos

Use os operadores lógicos para combinar expressões e produzir um único resultado.

Operadores lógicos na linguagem DAX

Uso de Variáveis na Linguagem DAX

Você pode definir uma variável dentro de uma expressão DAX, a variável pode guardar um único valor ou uma tabela e pode ser reutilizada dentro da fórmula DAX.

Ao usar variáveis em casos em que uma saída é necessária, a palavra RETURN também é obrigatória. Em seguida está um exemplo de uso de variáveis.

Envio Atrasado = 
VAR DiasEnvio = DATEDIFF(Base_Vendas[Data Pedido]; Base_Vendas[Data Envio];DAY)
RETURN
IF(DiasEnvio > 8; "Sim"; "Não")
Exemplo de variável no Power BI

Como pode ver, a variável “DiasEnvio” é definida uma vez e reutilizada na função IF. Variáveis tem um papel interessante nas fórmulas DAX, então você pode pesquisar mais sobre o assunto na web para mais detalhes.

Comentários na Linguagem DAX

Em todas as linguagens, é útil poder escrever algumas linhas não executáveis dentro do código. Isso permite que o desenvolvedor coloque alguns comentários para entendimentos futuras.

Da mesma forma, podemos colocar comentários na Linguagem DAX. Você pode fazer isso usando duas barras em uma linha (//). Em seguida está um exemplo de comentário de linha simples.

Coméntarios nas fórmulas DAX

Bem como você pode usar /* e */ para escrever comentários em várias linhas.

Comentários em várias linhas

Os comentários não são executáveis e não afetarão o desempenho ou o resultado da expressão DAX.

Funções DAX

E, finalmente, o principal da linguagem DAX é o uso de funções. No DAX, existem funções para muitas operações diferentes.

Uma função pode ser tão simples quanto concatenar dois valores de texto. Existem funções para lidar com cálculos baseados em datas, assim como calcular o valor para o mesmo período do ano passado.

Cada função obtém parâmetros de entrada e tem uma saída. As funções podem ser usadas uma dentro da outra. Por exemplo, veja algumas expressões com funções.

SUM(TabelaT[ColunaC])
SUMX ( ALL (‘Tabela T’), [ColunaC] + [ColunaF] )

As funções têm uma grande variedade, e normalmente o “intellisense” (pop-up que ajuda escrever as fórmulas) dá as informações sobre quais parâmetros a função precisa e qual é a saída gerada.

As funções DAX são divididas em várias categorias conforme o tipo de cálculo e avaliação que cada uma faz.

Em seguida veja as principais categorias e as principais funções.

Funções de Agregação

As funções de agregação calculam um valor, como contagem, soma, média, mínimo ou máximo para todas as linhas de uma coluna ou tabela, conforme definido pela expressão.

  • MIN
  • MAX
  • AVERAGE
  • SUM
  • SUMX
  • DISTINCTCOUNT
  • COUNT
  • COUNTA
  • COUNTROWS
  • COUNTBLANK

Funções Lógicas

As funções lógicas agem sobre uma expressão para retornar informações sobre os valores ou conjuntos dela. Por exemplo…

  • AND
  • OR
  • NOT
  • IF
  • IFERROR
  • SWITCH

Funções de Texto na Linguagem DAX

O DAX tem um conjunto de funções de texto com base na biblioteca de funções de cadeia de caracteres no Excel, mas que foram modificadas para funcionar com tabelas e colunas em modelos de tabela.

  • REPLACE
  • SEARCH
  • UPPER
  • FIXED
  • CONCATENATE
  • LEFT
  • MID
  • VALUE

Funções de Data e Hora

Essas funções ajudam você a criar cálculos baseados em datas e horas. Muitas das funções do DAX são parecidas com as funções de data e hora do Excel. Contudo, as funções DAX usam um tipo de dados “datetime” e podem usar valores de uma coluna como argumento.

  • DATE
  • HOUR
  • WEEKDAY
  • NOW
  • EOMONTH
  • CALENDAR
  • TIME
  • YEAR

Funções Informativas

Essas funções examinam a célula ou a linha fornecida como um argumento e informa se o valor corresponde ao tipo esperado. Por exemplo, a função ISERROR retornará TRUE se o valor contiver um erro.

  • ISBLANK
  • ISNUMBER
  • ISTEXT
  • ISNONTEXT
  • ISERROR
  • ISFILTERED
  • HASONEVALUE
  • CONTAINS

Funções de Inteligência de Tempo

A linguagem DAX inclui funções de inteligência de dados temporais que permitem manipular dados usando períodos, inclusive dias, meses, bem como trimestres e anos, além de criar e comparar cálculos referentes a esses períodos.

  • DATESMTD
  • DATESINPERIOD
  • FIRSTDATE
  • LASTDATE
  • DATEADD
  • SAMEPERIODLASTYEAR
  • TOTALYTD
  • PREVIOUSMONTH

Acima cito somente as principais categorias e funções, mas existem várias outras que deixo o link de referência da página da Microsoft para você consultar.

A grande maioria das expressões DAX que você vai escrever será utilizando funções. São as funções que dão o grande poder de análise, cruzamento de dados e modelagem para a linguagem DAX. Então, com certeza você precisa aprender a trabalhar com elas.

Alterando o tamanho da fonte do editor DAX no Power BI Desktop

Você pode usar CTRL +/- para alterar o tamanho da fonte no editor DAX no Power BI Desktop.

Guia de cores da Linguagem DAX no Power BI Desktop

Ao escrever sua fórmula DAX no Power BI Desktop, você pode ver que o código tem cores diferentes em algumas das palavras. Em seguida estão o que elas significam.

  • Verde claro: Variáveis
  • Verde: Comentário
  • Roxo: Medidas
  • Azul: funções (como SUM, SUMX, CALCULATE) e palavras-chave (como YEAR, RETURN, VAR)
  • Vermelho: valores de texto
  • Preto: nomes de tabelas e colunas, literais e operadores

Veja, por exemplo, a tela abaixo com as cores listadas.

Cores dos códigos em DAX

Conclusão

Veja quanto conhecimento vimos sobre a Linguagem DAX. São várias dicas e formas de utilizar e entender tudo sobre esta importante ferramenta de análise de dados.

As expressões podem ser usadas para criar cálculos no Power BI, Power Pivot do Excel e Analysis Services do SQL Server.

Passamos por vários aspectos em relação ao DAX e espero que você tenha tido um bom proveito deste artigo. Tenha sempre algo em mente, você precisa saber mais sobre a linguagem DAX para ser um profissional top em análise de dados nas ferramentas da Microsoft.

Por favor comente sobre suas dúvidas, sugestões ou elogios no espaço abaixo. Até a próxima.

1 comentário em “Linguagem DAX: Tudo para começar a usar do jeito certo”

Deixe um comentário

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