Você está na página 1de 11

DAX

DAX - INTRODUÇÃO

Power Query - M Modelo - DAX


Aquisição de Dados Relacionamentos
Limpeza Colunas Calculadas
Transformação Medidas
Estruturação Visuais

https://docs.microsoft.com/pt-br/power-bi/transform-model/desktop-quickstart-learn-dax-basics
DAX – SINTAXE BÁSICA
DAX
Principais Funções SUM, AVG, MIN, MAX, COUNT, IF, SWITCH
Operadores Aritméticos (+-*/), Lógicos (||, &&, =, >, <)
Tipo de Dados Texto, Número, Data, Data/Hora, Booleano
Funções Avançadas CALCULATE, FILTER, ORDER BY, VAR, TOTALYTD

Termo Significado
A Nome da Coluna Calculada ou Medida
B Sinal de igual =
C Nome da função
D Argumentos da Função dentro dos ()
Coluna Calculada Medida
E Nome da Tabela
Retorna um resultado para
Retorna apenas um valor F Nome da Coluna entre []
cada linha de uma tabela
DAX GUIDE

https://dax.guide/
DAX – FUNÇÕES BÁSICAS
Medidas
Função Descrição Prática / Aplicação
SUM Soma os valores de uma coluna Somatória dos valores dos itens pedidos
COUNTROWS Conta os registros de uma tabela Total de Pedidos
MAX Retorna o valor máximo de uma coluna Valor máximo pedido
MIN Retorna o valor mínimo de uma coluna Valor mínimo pedido
Calcula a média dos valores de uma
AVERAGE Média dos preços dos itens
coluna

Colunas Calculadas
Função Prática / Aplicação
COUNTROWS Total de Pedidos de cada Cliente
SUM Valor Total pedido de cada Cliente
AVERAGE Ticket Médio de cada Cliente
DAX – CALCULATE
CALCULATE(expressão, filtros)

Realiza um cálculo ou expressão, usando os filtros definidos.

Parâmetros Definição Exemplo


expressão Cálculo ou expressão à ser calculada SUM, MAX, MIN
filtros Funções de Filtro DAX FILTER(tabela, coluna1=“valor1”), ALL(tabela),
KEEPFILTERS()

Duas formas de aplicar filtros em CALCULATE:

Valor Total dos Pedidos Entregue = CALCULATE(SUM(Pedidos[‘Valor Total’]), Pedidos[Status-PR]=“Entregue”)

Valor Total dos Pedidos Entregue = CALCULATE(SUM(Pedidos[‘Valor Total’]), FILTER(Pedidos,[Status-PR]=“Entregue”))

https://docs.microsoft.com/pt-br/dax/calculate-function-dax
DAX – FUNÇÕES DE FILTRO
Realiza um cálculo ou expressão, usando os filtros definidos. Todas essas funções retornam tabelas filtradas.

Função Definição Exemplo

FILTER(tabela, filtros) Aplica filtros em uma tabela, pode usar expressões FILTER(Pedidos,[Status]=“Shipped”)
lógicas
ALL(tabela ou coluna) Remove os filtros ou retorna todos registros de uma ALL(Pedidos)
tabela ou coluna.
ALLEXCEPT(tabela, colunas) Semelhante à ALL, porém não remove os filtros ALLEXCEPT(Pedidos, [Status])
sobre as colunas especificadas na função.
USERELATIONSHIP(tabela1[coluna1], Ativa um relacionamento dentro de CALCULATE. USERELATIONSHIP(Pedidos[ORDERNUMBER],
tabela2[coluna2]) Esse relacionamento precisa ser previamente ‘Itens do Pedido’[ORDERNUMBER])
configurado. Usado quando há diversos campos
relacionados para as mesmas duas tabelas.
RELATEDTABLE(tabela) Usa o relacionamento atual e ativo da tabela. RELATEDTABLE(‘Itens do Pedido’)

https://docs.microsoft.com/pt-br/dax/filter-functions-dax https://dax.guide/functions/filter/
DAX – IF / SWITCH
Funções de comparação.

=IF( [teste lógico], [se verdadeiro], [se falso])

Faixa de Valor = IF([‘Valor Total’]>1000, “Pedido acima de 1k”, “Pedido até 1k”)

=SWITCH([valor à ser comparado], =SWITCH([QTR_ID],


[opção 1], [ação se opção 1], 1, “Q1”,
[opção 2], [ação se opção 2], 2, “Q2”,
[opção 3], [ação se opção 3], 3, “Q3”,
[se nenhuma opção atende, então faça] 4, “Q4”,
) “Quarter não definido”
)
DAX – SUMMARIZE
Cria uma tabela resumida com os dados agrupados.

Parâmetros Definição
tabela Nome da tabela à ser resumida
Colunas e expressões Colunas e/ou expressões para agrupar os dados

Pedidos por Ano = SUMMARIZE(Pedidos, [YEAR_ID], “Total”, SUM([‘Valor Total’]))


DAX – CONTAINSSTRING
Procura um texto dentro de outro texto.

Parâmetros Definição
within_text O texto no qual você deseja pesquisar find_text
find_text O texto que você deseja encontrar

Loja de Presentes? = CONTAINSSTRING([CUSTOMERNAME],"gift")

https://docs.microsoft.com/pt-br/dax/containsstring-function-dax
DAX – VAR / RETURN
Variáveis dentro de Medidas e Colunas Calculadas.

Vantagens:
- Organização do Código.
- Quebra de grandes expressões em partes menores.
- Pode melhorar a performance de seus cálculos, mas nem sempre.

Total Vendido = CALCULATE(SUM('Itens do Pedido'[SALES]),RELATEDTABLE('Itens do Pedido'))

Total de Vendas = CALCULATE(SUM('Itens do Pedido'[SALES]),ALL('Itens do Pedido'))

% das vendas =
var _total = CALCULATE(SUM('Itens do Pedido'[SALES]),ALL('Itens do Pedido'))
var _total_item = CALCULATE(SUM('Itens do Pedido'[SALES]),RELATEDTABLE('Itens do Pedido'))
return DIVIDE(_total_item,_total,0)

https://docs.microsoft.com/pt-br/dax/best-practices/dax-variables

Você também pode gostar