Módulo 7: DAX essencial: contexto é tudo

Aula 3 de 4

Agregações, DIVIDE e variáveis

As funções do dia a dia escritas do jeito profissional.

17 minutos de leitura


DAXAs medidas-base de qualquer modelo de vendas
Receita Total    = SUM( fVendas[Receita] )Custo Total      = SUM( fVendas[Custo] )Qtd Vendida      = SUM( fVendas[Quantidade] )Qtd Pedidos      = DISTINCTCOUNT( fVendas[NumeroPedido] )Qtd Clientes     = DISTINCTCOUNT( fVendas[IdCliente] )Linhas de Venda  = COUNTROWS( fVendas )Ticket Médio     = DIVIDE( [Receita Total], [Qtd Pedidos] )Preço Médio      = DIVIDE( [Receita Total], [Qtd Vendida] )Margem Bruta     = [Receita Total] - [Custo Total]Margem %         = DIVIDE( [Margem Bruta], [Receita Total] )

Variáveis: legibilidade e performance

VAR calcula uma vez e guarda o resultado. Além de deixar o código legível, evita recalcular a mesma expressão várias vezes — ganho real de performance em medidas complexas.

DAXAntes e depois
-- Difícil de ler e recalcula tudo três vezesCrescimento Ruim =DIVIDE(    SUM(fVendas[Receita]) - CALCULATE(SUM(fVendas[Receita]), SAMEPERIODLASTYEAR(dCalendario[Date])),    CALCULATE(SUM(fVendas[Receita]), SAMEPERIODLASTYEAR(dCalendario[Date]))) -- Legível, testável e mais rápidoCrescimento YoY % =VAR Atual    = [Receita Total]VAR Anterior = CALCULATE( [Receita Total], SAMEPERIODLASTYEAR( dCalendario[Date] ) )VAR Delta    = Atual - AnteriorRETURN    IF( NOT ISBLANK( Anterior ), DIVIDE( Delta, Anterior ) )

Contagens que você precisa distinguir

FunçãoContaCuidado
COUNT(coluna)Valores não vazios da colunaIgnora nulos
COUNTA(coluna)Valores não vazios, inclusive texto—
COUNTROWS(tabela)Linhas da tabelaMais rápida e clara que COUNT em uma chave
DISTINCTCOUNT(coluna)Valores distintosCustosa em colunas de alta cardinalidade
COUNTBLANK(coluna)Valores vaziosÓtima para auditoria de qualidade

Formatação e organização

  • Crie uma tabela vazia chamada '_Medidas' e mova todas as medidas para lá.
  • Use pastas de exibição: Base, Comparativos, Metas, Auxiliares.
  • Defina o formato na própria medida (Ferramentas de Medida → Formato), não no visual.
  • Padronize o nome: substantivo + qualificador. 'Receita LY', 'Receita YTD', 'Receita Meta'.

Exercício prático

Crie o conjunto completo de medidas-base acima em uma tabela '_Medidas', organize-as em pastas de exibição, defina os formatos e reescreva uma medida antiga usando variáveis.