5 erros de DAX que fazem o número sair errado
Erros de DAX que fazem o número sair errado: confundir medida e coluna, ignorar o contexto de filtro, somar o que não soma e mais. Veja os 5 e como corrigir.
O pior erro de DAX é o que não dá erro: o número sai errado em silêncio
Errar a sintaxe do DAX é fácil de resolver: o Power BI acusa e você corrige. O problema de verdade são os erros que não geram nenhum aviso, apenas um número errado que parece certo. Esses passam despercebidos, entram em uma apresentação, e alguém decide com base neles. São os mais perigosos justamente por serem silenciosos. A boa notícia é que a maioria desses erros de DAX se concentra em uns poucos padrões conhecidos, ligados a como o DAX realmente funciona. Reunimos os cinco erros de DAX que mais fazem o número sair errado, com a explicação e a correção de cada um. Conhecê-los é a melhor defesa contra os resultados enganosos que minam a confiança em um relatório.
Erro 1: confundir quando usar medida e quando usar coluna calculada
O erro mais fundamental é escolher errado entre medida e coluna calculada. Eles às vezes dão o mesmo número em um teste rápido, mas se comportam de forma diferente quando o usuário filtra. Usar uma coluna calculada para o que deveria ser uma agregação faz os totais não reagirem corretamente aos filtros e ainda infla o modelo. A regra de correção é clara: para somas, contagens e comparações que devem respeitar o contexto da tela, use medida; use coluna calculada só para atributos de linha estáveis, usados para filtrar ou relacionar. Acertar essa escolha evita totais que não fecham.
Erro 2: ignorar o contexto de filtro ao escrever a medida
O conceito mais importante do DAX é o contexto de filtro: uma medida é avaliada considerando os filtros da visualização onde aparece. Ignorar isso leva a medidas que dão certo em um lugar e erram em outro, porque o autor não previu como o filtro afeta o cálculo. Um caso típico é uma medida que precisava remover ou alterar um filtro e não o fez, ou o contrário. A correção passa por entender o contexto de filtro e usar funções como CALCULATE de forma consciente para ajustá-lo quando necessário. Boa parte dos números estranhos vem de medidas que não consideram corretamente o contexto em que serão usadas.
Os cinco erros e suas correções em resumo
| Erro | Consequência | Correção |
|---|---|---|
| 1. Medida vs coluna errada | Totais não reagem ao filtro | Medida para agregar, coluna para atributo |
| 2. Ignorar contexto de filtro | Número certo num lugar, errado noutro | Entender e ajustar com CALCULATE |
| 3. Somar o que não soma | Total inflado e sem sentido | Tratar métricas semi-aditivas certo |
| 4. Divisão sem proteção | Erro ou infinito na tela | Usar DIVIDE |
| 5. Inteligência de tempo sem calendário | Comparações erradas ou vazias | Tabela de datas dedicada |
Erro 3: somar o que não deveria ser somado
Nem toda métrica pode ser somada ao longo do tempo, e ignorar isso gera totais absurdos. Saldo de estoque, saldo bancário, número de assinantes ativos: essas métricas de posição não se acumulam entre dias, porque o valor de cada dia já é a posição completa. Somar os saldos diários de um mês dá um número gigante e sem sentido. A correção é reconhecer essas métricas semi-aditivas e tratá-las corretamente, pegando o último valor do período em vez da soma, com funções apropriadas de última data. Esse erro é traiçoeiro porque a soma não dá aviso nenhum, apenas um total inflado que parece plausível se ninguém confere.
Erro 4: dividir sem proteger contra zero
Divisões são onipresentes em DAX: atingimento de meta, margem, crescimento percentual. E dividir usando a barra comum tem um problema: quando o denominador é zero ou vazio, o resultado é um erro ou um infinito que suja o relatório com células estranhas. A correção é simples e deveria ser automática: use sempre a função DIVIDE, que trata a divisão por zero devolvendo um resultado limpo ou um valor alternativo que você define. Trocar toda divisão por DIVIDE elimina de uma vez esses erros de borda que aparecem justamente nos casos sem dado, que são comuns em relatórios reais. É uma correção pequena com grande efeito na robustez.
Erro 5: usar inteligência de tempo sem uma tabela de datas adequada
O último erro clássico aparece nas comparações de tempo. Funções de inteligência de tempo, como as que trazem o mesmo período do ano anterior, dependem de uma tabela de datas dedicada, contínua e relacionada ao fato. Quem tenta usá-las sem esse calendário obtém resultados errados ou vazios, e às vezes conclui que a função está com defeito, quando o problema é a ausência de uma boa tabela de datas. A correção é construir um calendário adequado antes de escrever qualquer comparação temporal. Com a tabela de datas no lugar, as comparações de período passam a funcionar de forma confiável. Esse erro é frustrante porque a fórmula parece certa; o que falta é o alicerce. Juntando as cinco correções, escolher certo entre medida e coluna, dominar o contexto de filtro, tratar métricas semi-aditivas, usar DIVIDE e ter uma boa tabela de datas, você elimina a maioria dos números errados que passam despercebidos. Como esses erros são silenciosos, a defesa é conhecê-los e conferir os totais em diferentes recortes, garantindo que fazem sentido de negócio. Um número que não bate com a realidade é sempre um convite a revisar um destes cinco pontos. Para medidas corretas e confiáveis, veja nossos serviços de Power BI, os dashboards e o guia completo de Power BI para empresas.
Perguntas frequentes
Por que os erros de DAX são perigosos? Porque os piores não geram nenhum aviso, apenas um número errado que parece certo. Eles passam despercebidos, entram em apresentações e levam a decisões erradas. Por serem silenciosos, exigem que você os conheça para preveni-los.
Quando usar medida e quando usar coluna calculada? Para somas, contagens e comparações que devem respeitar os filtros da tela, use medida. Use coluna calculada só para atributos de linha estáveis, usados para filtrar ou relacionar. Escolher errado faz os totais não reagirem corretamente aos filtros.
O que é contexto de filtro? É o conjunto de filtros da visualização onde a medida aparece, e que afeta como ela é calculada. Ignorá-lo leva a medidas que acertam em um lugar e erram em outro. Entender o contexto e ajustá-lo com CALCULATE quando preciso é essencial.
Por que não posso somar saldo de estoque? Porque é uma métrica de posição, semi-aditiva: o saldo de cada dia já é a posição completa e não se acumula entre dias. Somar os saldos diários dá um total absurdo. O certo é pegar o último valor do período com funções de última data.
Por que usar DIVIDE em vez da barra de divisão? Porque a barra comum gera erro ou infinito quando o denominador é zero ou vazio, sujando o relatório. A função DIVIDE trata esses casos devolvendo um resultado limpo ou um valor alternativo, eliminando os erros de borda comuns em dados reais.
Por que minhas comparações de tempo dão errado? Quase sempre por falta de uma tabela de datas dedicada, contínua e relacionada ao fato. As funções de inteligência de tempo dependem desse calendário; sem ele, retornam resultados errados ou vazios, mesmo que a fórmula pareça correta.
Conheça os cinco e confira os totais
Os erros de DAX mais perigosos são silenciosos: o número sai errado sem aviso. Escolher certo entre medida e coluna, dominar o contexto de filtro, tratar o que não soma, usar DIVIDE e ter uma boa tabela de datas evita a maioria deles. Se quiser medidas em que confiar, fale com a gente.
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