Pular para o conteúdo
Fynx
Business Intelligence13 min de leitura

Medidas rápidas (quick measures) em DAX: o que faz e quando usar (com exemplos)

Entenda as medidas rápidas (quick measures) DAX: o que a interface gera, exemplos de código, onde ajudam quem começa e os limites que você precisa conhecer.

F
Fynx

Quando o prazo aperta, você escreve a medida ou deixa o Power BI escrever por você?

Todo mundo que abre o Power BI Desktop chega numa parede parecida: sabe exatamente o número que precisa (o total acumulado do mês, a variação contra o ano passado, quanto cada categoria representa do total), mas trava na hora de traduzir isso em DAX. É aí que entram as medidas rápidas (quick measures) DAX, um recurso nativo do Power BI Desktop que gera código DAX pronto a partir de uma caixa de diálogo, sem você digitar uma linha de fórmula. Você escolhe o cálculo numa lista, arrasta os campos para os campos certos e o Power BI cospe uma medida funcionando.

Parece bom demais, e em parte é. Mas como consultoria que já viu muito relatório nascer e morrer, a gente precisa ser honesto: medida rápida ajuda, resolve casos comuns e é um professor decente de DAX. Só que ela não substitui entender contexto de filtro, e o código que ela gera costuma ser mais verboso do que o que você escreveria à mão. Neste artigo mostro o que o recurso faz, trago exemplos reais do DAX que ele gera, aponto onde ele ajuda quem está começando e onde ele para de ajudar. Se você quer o panorama maior da linguagem antes, vale ler nosso guia de modelagem e boas práticas de DAX.

O que são as medidas rápidas (quick measures) DAX e o que elas realmente fazem

As medidas rápidas são um assistente. No painel de campos, você clica com o botão direito numa tabela, escolhe "Nova medida rápida" e o Power BI abre uma janela com uma lista de cálculos agrupados por categoria: agregações, filtros, inteligência de tempo, totais, matemática, texto. Você seleciona um cálculo, por exemplo "Total acumulado", e a janela pede os campos que ele precisa: o valor a somar e o campo de data que define a ordem do acúmulo. Ao confirmar, aparece uma nova medida no modelo, com o DAX já escrito.

O ponto que muita gente não percebe: essa medida gerada é DAX comum. Não é caixa-preta, não é um objeto especial, não fica travada. Depois de criada, ela vira uma medida normal que você pode abrir, ler, renomear e editar linha a linha. Essa é, na verdade, a maior utilidade do recurso para quem está aprendendo. A interface faz o trabalho pesado de estruturar a fórmula, e você fica com um exemplo concreto e correto para estudar.

O que as medidas rápidas cobrem bem são os cálculos que aparecem em quase todo projeto e que têm uma fórmula mais ou menos canônica. Elas não inventam análise nova; elas empacotam padrões conhecidos. É exatamente por isso que servem: 80% do que um dashboard de gestão pede cai nesses padrões.

Os cálculos que a interface cobre e vale conhecer

A lista muda um pouco entre versões do Power BI Desktop, mas os cálculos mais usados estão sempre lá. A tabela abaixo resume os principais e o que cada um pede de você.

CálculoO que entregaCampos que ele pede
Total acumuladoSoma progressiva ao longo de um eixo, normalmente dataValor base e campo de ordenação
Variação ano a anoDiferença ou percentual contra o mesmo período do ano anteriorValor base e campo de data
Percentual do totalParticipação de cada item no total geral ou do grupoValor base e campo de agrupamento
Média móvelMédia dos últimos N períodos, suaviza sazonalidadeValor base, data e número de períodos
Diferença de período anteriorComparação com o período imediatamente anteriorValor base e campo de data
Ranking por categoriaPosição de cada item dentro de um recorteValor base e campo de categoria

Para quem começa, essa lista já cobre a maior parte dos pedidos que chegam da área de negócio. Vamos ver o DAX que sai de três deles.

Exemplo 1: total acumulado gera CALCULATE com ISONORAFTER

O total acumulado é o pedido mais comum de todos: "quero ver a receita somando dia após dia dentro do mês". Quando você escolhe esse cálculo, aponta o valor e o campo de data, o Power BI gera algo assim:

Total Acumulado de Valor em Data =
CALCULATE(
    SUM('Vendas'[Valor]),
    FILTER(
        ALLSELECTED('Calendario'[Data]),
        ISONORAFTER('Calendario'[Data], MAX('Calendario'[Data]), DESC)
    )
)

Vale ler devagar, porque tem bastante coisa acontecendo. O CALCULATE soma o valor dentro de um contexto de filtro reescrito. O FILTER percorre as datas visíveis (ALLSELECTED respeita o que o usuário filtrou fora do eixo) e o ISONORAFTER mantém apenas as datas menores ou iguais à data da linha atual. O efeito é o acúmulo: em cada ponto do gráfico, a medida soma tudo desde o início até ali.

Repare que o Power BI não escreveu o total acumulado da forma mais enxuta possível. Um desenvolvedor experiente talvez usasse uma variante mais curta. Mas o código gerado é correto, respeita a seleção do usuário e funciona em qualquer eixo de data. Para quem nunca viu ISONORAFTER, esse é um ótimo primeiro contato com uma função que dificilmente você descobriria sozinho no começo.

Exemplo 2: variação ano a ano gera VAR, DATEADD e DIVIDE

A variação ano a ano é o segundo pedido mais frequente. A área quer o crescimento percentual da receita contra o mesmo período do ano passado. O cálculo de variação percentual ano a ano gera um DAX que já ensina três boas práticas de uma vez:

Valor Variação % A/A =
VAR __VALOR_ANO_ANTERIOR =
    CALCULATE(
        SUM('Vendas'[Valor]),
        DATEADD('Calendario'[Data], -1, YEAR)
    )
RETURN
    DIVIDE(
        SUM('Vendas'[Valor]) - __VALOR_ANO_ANTERIOR,
        __VALOR_ANO_ANTERIOR
    )

Aqui tem lição embutida. Primeiro, o uso de VAR para guardar o valor do ano anterior num nome legível, em vez de repetir a mesma expressão duas vezes. Segundo, o DATEADD deslocando a data um ano para trás, que é a forma padrão de inteligência de tempo em DAX e depende de uma tabela de datas bem construída no modelo. Terceiro, o DIVIDE protegendo contra divisão por zero, algo que gente iniciante quase sempre esquece ao usar o operador de barra comum.

Esse exemplo mostra bem por que a medida rápida é um professor útil. Se você escrevesse essa variação de cabeça no seu terceiro dia de DAX, provavelmente usaria / em vez de DIVIDE, repetiria o CALCULATE inteiro no numerador e no denominador e talvez errasse o sinal do DATEADD. Ver o padrão correto pronto encurta o caminho.

Exemplo 3: percentual do total gera ALLSELECTED no denominador

O terceiro clássico é o percentual do total: quanto cada categoria pesa dentro do conjunto. O truque conceitual desse cálculo é que o numerador respeita o filtro da linha e o denominador precisa ignorar esse filtro, senão todo mundo daria 100%. A medida rápida resolve isso assim:

Valor % do Total =
VAR __VALOR_BASE = SUM('Vendas'[Valor])
VAR __VALOR_TOTAL =
    CALCULATE(
        SUM('Vendas'[Valor]),
        ALLSELECTED('Produto'[Categoria])
    )
RETURN
    DIVIDE(__VALOR_BASE, __VALOR_TOTAL)

O __VALOR_BASE usa o contexto como está, então respeita a categoria da linha. O __VALOR_TOTAL usa CALCULATE com ALLSELECTED('Produto'[Categoria]) para remover o filtro de categoria, mantendo o total de todas as categorias que o usuário deixou visíveis. O DIVIDE fecha a conta com segurança. É exatamente o padrão de participação que a gente escreve à mão em projeto real, e a interface entregou de graça.

Repare no fio condutor dos três exemplos: todos giram em torno de reescrever o contexto de filtro com CALCULATE. Não é coincidência. A grande maioria das análises úteis passa por essa função, e por isso a gente costuma dizer que entender CALCULATE vale mais do que decorar dez cálculos prontos.

Onde as medidas rápidas ajudam quem está começando

Sendo justo com o recurso, ele tem valor real, e não só para novato. Alguns cenários em que a gente recomenda usar sem cerimônia:

  • Aprender por exemplo. Gerar a medida, abrir o DAX e estudar cada função é a forma mais rápida de sair do zero. Você vê CALCULATE, FILTER, DATEADD e DIVIDE trabalhando juntos num caso que faz sentido para o seu negócio.
  • Prototipar rápido. Num piloto ou numa demo, você precisa de um total acumulado funcionando em dois minutos, não de uma medida perfeita. A medida rápida entrega o número na hora e você refina depois.
  • Lembrar de uma sintaxe. Mesmo quem já sabe DAX às vezes não lembra a assinatura exata de DATESINPERIOD ou a ordem dos argumentos de ISONORAFTER. Gerar uma medida rápida é mais veloz do que abrir a documentação.
  • Padronizar cálculos comuns. Total acumulado e percentual do total têm uma forma canônica. Deixar a ferramenta escrever evita erro bobo de digitação em algo que já é conhecido.

Se você está montando seu primeiro modelo de verdade, vale combinar esse aprendizado com a base de um bom projeto de Power BI bem estruturado, porque medida boa em cima de modelo ruim continua sendo problema.

Onde as medidas rápidas param de ajudar

Agora a parte honesta, que é onde a gente ganha o dinheiro corrigindo depois. Medida rápida tem limites claros, e ignorá-los custa caro. A tabela abaixo separa o que o recurso resolve do que ele não resolve.

LimitePor que importaO que fazer
Não ensina contexto de filtroO código funciona, mas você não entende por queEstudar o DAX gerado, não só copiar
Gera código verbosoFica mais longo do que o necessário e polui o modeloRefatorar as medidas que vão para produção
Cobre só padrões prontosRegras de negócio específicas não estão na listaEscrever DAX à mão a partir de certo ponto
Cria dependências ocultasAlgumas versões geram medidas auxiliares escondidasRevisar o modelo e limpar o que não usa
Depende de modelo bomInteligência de tempo exige tabela de datas corretaModelar antes, calcular depois

O limite mais sério não está na tabela porque é comportamental: a medida rápida cria a ilusão de que você sabe DAX quando, na verdade, você sabe clicar botão. No dia em que o cálculo pedido não estiver na lista (uma meta ponderada, um acumulado que reinicia a cada trimestre, uma comparação contra a média dos concorrentes), você trava, porque nunca precisou entender o que estava acontecendo por baixo. E esse dia sempre chega. A gente vê isso em projetos de sustentação de BI o tempo todo: relatórios cheios de medidas geradas que ninguém do time consegue explicar nem ajustar.

O segundo limite prático é a verbosidade. O código gerado prioriza correção e generalidade, não elegância. Numa medida ou duas, tudo bem. Num modelo com dezenas de medidas rápidas empilhadas, você acaba com fórmulas longas, nomes automáticos feios e, em algumas versões, medidas auxiliares criadas nos bastidores que sujam o modelo. Nada disso quebra o relatório, mas torna a manutenção mais difícil e o desempenho menos previsível.

Como usar o DAX gerado para aprender de verdade

A forma certa de usar medida rápida não é como muleta permanente, e sim como material de estudo. O fluxo que a gente recomenda para quem quer sair do arrasta-e-solta e virar alguém que escreve DAX:

Primeiro, gere a medida e leia o código antes de usar. Abra a fórmula, identifique cada função e pergunte por que ela está ali. No total acumulado, por que ALLSELECTED e não ALL? Na variação, por que DIVIDE e não a barra? Cada resposta é uma lição.

Segundo, reescreva a medida à mão. Apague a gerada e tente recriar o mesmo resultado sozinho. Se acertar, você entendeu. Se travar, volte ao código gerado e veja onde faltou. Esse ciclo de gerar, apagar e reescrever ensina mais rápido do que qualquer curso passivo.

Terceiro, limpe o que vai para produção. Renomeie a medida para algo que a área entenda, ajuste a formatação do número, remova medidas auxiliares que a ferramenta tenha criado e confira se o cálculo respeita os filtros que o seu relatório usa. Medida de protótipo não é medida de produção.

Quarto, saiba a hora de largar o recurso. Quando você já lê o DAX gerado sem esforço e consegue reescrevê-lo, a medida rápida já cumpriu o papel. Dali em diante, escrever à mão é mais rápido e te dá controle total. Se o seu time quer chegar nesse nível de forma estruturada, um trabalho de analytics avançado com acompanhamento costuma acelerar bastante a curva.

Perguntas frequentes

As medidas rápidas funcionam no Power BI Service ou só no Desktop? Elas são criadas no Power BI Desktop, na caixa de diálogo de nova medida rápida. Depois de publicadas, as medidas continuam funcionando normalmente no Service como qualquer outra medida DAX, porque o que foi gerado é DAX comum. O que não existe no Service é a interface de geração; você cria no Desktop e publica.

A medida rápida gera código diferente do que eu escreveria à mão? Geralmente sim. O Power BI prioriza um código correto e genérico, que funcione em vários cenários, o que costuma deixar a fórmula mais longa do que a versão enxuta que um desenvolvedor experiente escreveria para o caso específico. O resultado numérico é o mesmo; a diferença está na verbosidade e na legibilidade.

Posso editar o DAX gerado por uma medida rápida? Pode, e deve. Assim que a medida é criada, ela vira uma medida normal do modelo, aberta para edição. Você pode renomear, mudar a formatação, ajustar a lógica ou reescrever do zero. Editar o código gerado é, inclusive, a melhor forma de aprender com ele.

Medida rápida serve para regras de negócio específicas da minha empresa? Raramente. O recurso cobre padrões comuns, como total acumulado e variação ano a ano. Regras específicas, como um acúmulo que reinicia por trimestre ou uma meta ponderada por peso de cliente, não estão na lista e precisam de DAX escrito à mão. Use a medida rápida para o comum e reserve a mão para o que é seu.

Preciso de uma tabela de datas para os cálculos de tempo funcionarem? Sim, e esse é um ponto que derruba muita gente. Cálculos como variação ano a ano e média móvel usam funções de inteligência de tempo, como DATEADD, que só funcionam corretamente sobre uma tabela de datas dedicada e marcada como tabela de datas no modelo. Sem ela, o número sai errado ou a medida nem calcula. Modelagem vem antes.

Usar medida rápida é sinal de que não sei DAX? Não. Usar como muleta permanente e nunca abrir o código gerado, isso sim é sinal de estagnação. Gerar a medida, estudar o DAX, reescrever e refinar é exatamente o que gente boa faz para aprender mais rápido. A ferramenta não é o problema; parar de olhar por baixo dela é.

Fechando

As medidas rápidas do Power BI são um bom atalho e um professor decente: geram DAX correto para os cálculos mais comuns, tiram você do zero e mostram padrões que você levaria semanas para descobrir sozinho. O erro é confundir o atalho com o destino. Elas não substituem entender contexto de filtro, produzem código mais verboso do que o ideal e param de ajudar assim que o cálculo sai do trivial. Use para aprender, leia sempre o que a ferramenta escreveu, reescreva à mão e saiba a hora de largar a muleta.

Se a sua equipe está presa em relatórios cheios de medidas geradas que ninguém consegue explicar ou ajustar, esse é um sintoma clássico de modelo e time que precisam de estrutura. Fale com a gente e a gente ajuda a colocar seu Power BI em ordem, do modelo à medida, com o time aprendendo no caminho.

Quer aplicar isso na sua empresa?

A Fynx implementa BI, Power BI e Power Platform de ponta a ponta. Conte seu cenário e devolvemos um diagnóstico direto ao ponto.

Falar com um especialista

Vamos transformar seus dados em decisão?

Conte seu cenário. Devolvemos um diagnóstico e uma proposta com faixa de investimento em poucos dias úteis, sem folheto, direto ao ponto.