📊 DAX Cheat Sheet

📄 Documentação Oficial do DAX

# Função / Comando O que faz Exemplo
1AmbienteLinguagem nativa (Não requer instalação via pip)Disponível no Power BI / Analysis Services
2VAR / RETURNDefine variáveis para melhorar legibilidade e performanceVAR v = [Total] RETURN v * 2
3CALCULATE()Avalia uma expressão em um contexto de filtro modificadoCALCULATE([Soma], Vendas[Ano]=2023)
4SUM()Soma todos os valores de uma colunaSUM(Vendas[Valor])
5SUMX()Soma o resultado de uma expressão linha a linhaSUMX(Vendas, [Qtd] * [Preço])
6AVERAGE()Média aritmética simplesAVERAGE(Produtos[Custo])
7AVERAGEX()Média de uma expressão calculada por linhaAVERAGEX(Vendas, [Margem])
8MIN()Valor mínimo de uma colunaMIN(Vendas[Data])
9MAX()Valor máximo de uma colunaMAX(Vendas[Data])
10COUNT()Conta números em uma colunaCOUNT(Vendas[ID])
11COUNTA()Conta qualquer valor (não vazio)COUNTA(Clientes[Nome])
12COUNTROWS()Conta o número total de linhas de uma tabelaCOUNTROWS('Calendário')
13DISTINCTCOUNT()Conta valores únicos (sem repetição)DISTINCTCOUNT(Vendas[SKU])
14PRODUCT()Multiplica os números de uma colunaPRODUCT(Taxas[Indice])
15DIVIDE()Divisão segura que trata erro de zeroDIVIDE([Lucro], [Vendas], 0)
16FILTER()Retorna uma tabela filtradaFILTER(Tabela, [Vendas] > 100)
17ALL()Ignora todos os filtros de uma tabela/colunaCALCULATE([Soma], ALL(Vendas))
18ALLEXCEPT()Remove filtros exceto das colunas especificadasALLEXCEPT(Vendas, Vendas[Região])
19ALLSELECTED()Mantém apenas os filtros aplicados externamenteCALCULATE([Soma], ALLSELECTED())
20KEEPFILTERS()Mantém o filtro original ao aplicar CALCULATECALCULATE([S], KEEPFILTERS(C[Cor]="Azul"))
21REMOVEFILTERS()Remove filtros (sinônimo de ALL no CALCULATE)REMOVEFILTERS(Vendas[Vendedor])
22SELECTEDVALUE()Retorna o valor se houver apenas um selecionadoSELECTEDVALUE(Produtos[Nome], "Vários")
23VALUES()Retorna uma tabela de valores únicos no contextoVALUES(Vendas[Categoria])
24DISTINCT()Similar ao VALUES, mas não inclui a linha em brancoDISTINCT(Produtos[Marca])
25TOTALYTD()Acumulado do ano até a dataTOTALYTD([Total], 'Data'[Data])
26TOTALQTD()Acumulado do trimestre até a dataTOTALQTD([Total], 'Data'[Data])
27TOTALMTD()Acumulado do mês até a dataTOTALMTD([Total], 'Data'[Data])
28SAMEPERIODLASTYEAR()Retorna o mesmo período no ano anteriorCALCULATE([T], SAMEPERIODLASTYEAR('D'[D]))
29DATEADD()Desloca datas por intervalos (dia, mês, ano)DATEADD('Data'[Data], -1, YEAR)
30DATESBETWEEN()Datas entre um início e fim específicoDATESBETWEEN('Data'[D], [Ini], [Fim])
31DATESINPERIOD()Datas em um período a partir de um inícioDATESINPERIOD('D'[D], [Hoje], -7, DAY)
32DATESYTD()Retorna as datas desde o início do anoCALCULATE([S], DATESYTD('Data'[Data]))
33PARALLELPERIOD()Retorna um período paralelo completoPARALLELPERIOD('Data'[Data], -1, MONTH)
34PREVIOUSDAY()Retorna a data do dia anteriorPREVIOUSDAY('Data'[Data])
35PREVIOUSMONTH()Retorna todas as datas do mês anteriorPREVIOUSMONTH('Data'[Data])
36NEXTDAY()Retorna o dia seguinteNEXTDAY('Data'[Data])
37CLOSINGBALANCEMONTH()Valor no final do mêsCLOSINGBALANCEMONTH([Saldo], 'D'[D])
38DATE()Cria uma data a partir de Ano, Mês, DiaDATE(2023, 12, 25)
39DATEDIFF()Diferença entre duas datasDATEDIFF([D1], [D2], DAY)
40YEAR()Extrai o ano de uma dataYEAR(Vendas[Data])
41MONTH()Extrai o mês de uma dataMONTH(Vendas[Data])
42DAY()Extrai o dia de uma dataDAY(Vendas[Data])
43WEEKDAY()Retorna o número do dia da semanaWEEKDAY('Data'[Data], 2)
44WEEKNUM()Retorna o número da semana no anoWEEKNUM('Data'[Data])
45EDATE()Data deslocada por X mesesEDATE([Data], -1)
46EOMONTH()Último dia do mês deslocadoEOMONTH(TODAY(), 0)
47TODAY()Data de hojeTODAY()
48NOW()Data e hora atualNOW()
49IF()Condicional SEIF([V]>10, "Sim", "Não")
50IFERROR()Trata erros em fórmulasIFERROR([Cálculo], 0)
51SWITCH()Avalia múltiplos casos (Case When)SWITCH([Cor], "Red", 1, "Blue", 2, 0)
52AND()Operador lógico E (ou use &&)AND([A]>0, [B]>0)
53OR()Operador lógico OU (ou use ||)OR([A]>0, [B]>0)
54NOT()Inverte um valor lógicoNOT(ISBLANK([Venda]))
55COALESCE()Retorna o primeiro valor não nuloCOALESCE([Venda], 0)
56RELATED()Busca valor em tabela do lado "Um"RELATED(Produtos[Preço])
57RELATEDTABLE()Retorna tabela do lado "Muitos"COUNTROWS(RELATEDTABLE(Vendas))
58LOOKUPVALUE()Busca valor sem necessidade de relação ativaLOOKUPVALUE(P[Nome], P[ID], V[ID])
59USERELATIONSHIP()Ativa relação inativa no cálculoCALCULATE([S], USERELATIONSHIP(D[D], V[DE]))
60CROSSFILTER()Muda a direção do filtro entre tabelasCROSSFILTER(T1[ID], T2[ID], Both)
61CONCATENATE()Une dois textosCONCATENATE("R$ ", [Valor])
62CONCATENATEX()Une valores de uma tabela com separadorCONCATENATEX(Produtos, [Nome], ", ")
63FORMAT()Converte valor para texto formatadoFORMAT([Valor], "Currency")
64LEFT()Pega X caracteres à esquerdaLEFT([Código], 3)
65RIGHT()Pega X caracteres à direitaRIGHT([Código], 2)
66MID()Extrai texto do meioMID([Nome], 2, 5)
67UPPER()Texto em MAIÚSCULOUPPER([Cidade])
68LOWER()Texto em minúsculoLOWER([Email])
69TRIM()Remove espaços extrasTRIM([Nome])
70SUBSTITUTE()Substitui parte do textoSUBSTITUTE([Ref], "-", "/")
71LEN()Conta número de caracteresLEN([Senha])
72SEARCH()Busca texto (não case-sensitive)SEARCH("@", [Email])
73ADDCOLUMNS()Adiciona colunas a uma tabela virtualADDCOLUMNS(Filial, "Vendas", [Soma])
74SUMMARIZE()Agrupa dados por colunasSUMMARIZE(Vendas, Vendas[Ano], "T", [S])
75SUMMARIZECOLUMNS()Agrupamento otimizado (moderno)SUMMARIZECOLUMNS(C[Nome], "V", [S])
76SELECTCOLUMNS()Seleciona e renomeia colunasSELECTCOLUMNS(Vendas, "Cli", [Cliente])
77TOPN()Retorna as N primeiras linhasTOPN(5, Clientes, [Total Vendas])
78RANKX()Calcula rankingRANKX(ALL(Vendedor), [Total])
79UNION()Une tabelas verticalmenteUNION(Tabela1, Tabela2)
80INTERSECT()Retorna linhas comuns entre tabelasINTERSECT(Tabela1, Tabela2)
81EXCEPT()Linhas de T1 que não estão em T2EXCEPT(T1, T2)
82CROSSJOIN()Produto cartesiano entre tabelasCROSSJOIN(Cores, Tamanhos)
83GENERATE()Aplica expressão de tabela para cada linhaGENERATE(T1, [Expressão])
84NATURALINNERJOIN()Join interno automáticoNATURALINNERJOIN(T1, T2)
85TREATAS()Aplica filtros de uma tabela em outraTREATAS({2023}, 'Data'[Ano])
86ISBLANK()Verifica se é vazioISBLANK([Venda])
87HASONEVALUE()Verifica se há um único valor no contextoHASONEVALUE(Produtos[Categoria])
88ISFILTERED()Verifica se a coluna tem filtro diretoISFILTERED(Calendário[Ano])
89ISCROSSFILTERED()Verifica se há filtro direto ou indiretoISCROSSFILTERED(Tabela)
90ISINSCOPE()Útil para hierarquias em tabelas/matrizesISINSCOPE(Produtos[Subcategoria])
91ISERROR()Verifica se há erro na expressãoISERROR([Calculo])
92ISNUMBER()Verifica se o valor é numéricoISNUMBER([Coluna])
93ISTEXT()Verifica se o valor é textoISTEXT([Coluna])
94ABS()Valor absoluto (sempre positivo)ABS(-50)
95ROUND()Arredonda para X casas decimaisROUND([Valor], 2)
96INT()Arredonda para baixo para o inteiroINT(5.8)
97SQRT()Raiz quadradaSQRT(100)
98EXP()ExponencialEXP(1)
99LN()Logaritmo naturalLN(10)
100RAND()Gera um número aleatório entre 0 e 1RAND()