(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como usar DIVIDE em DAX para evitar a divisão por zero

João Barros 06 de July de 2026 4 min de leitura

Ao criar medidas como a margem de lucro, a taxa de conversão ou o ticket médio, divide-se constantemente um valor por outro. O problema aparece quando o denominador é zero ou está em branco: com o operador /, o Power BI devolve um erro ou o valor Infinity, que estraga o visual. A função DIVIDE em DAX foi feita para resolver isto e evitar qualquer erro de divisão por zero, e é uma das primeiras boas práticas que qualquer autor de relatórios deve dominar.

Pré-requisitos

  • Power BI Desktop instalado (o mesmo se aplica ao Power Pivot no Excel ou ao Microsoft Fabric).
  • Um modelo com uma tabela de valores numéricos. No exemplo usamos uma tabela Vendas com as colunas Receita e Custo.
  • Saber criar uma medida: clique com o botão direito na tabela e escolha Nova medida.

Passo 1: Perceber o problema da divisão por zero

Imagine que quer calcular a margem, dividindo o lucro pela receita. Uma medida direta com o operador / ficaria assim:

Margem sem DIVIDE = ( SUM(Vendas[Receita]) - SUM(Vendas[Custo]) ) / SUM(Vendas[Receita])

Enquanto houver receita, o cálculo funciona. Mas basta existir uma linha em que a receita seja 0 ou esteja em branco — um produto novo, um mês sem vendas — para o resultado se transformar num erro ou em Infinity. Numa matriz, essa célula fica com um aviso e passa uma imagem pouco profissional do relatório.

Passo 2: Conhecer a sintaxe da função DIVIDE

A DIVIDE foi criada precisamente para tratar estes casos. A sintaxe tem três argumentos, sendo o último opcional:

DIVIDE( <numerador>, <denominador> [, <resultado_alternativo>] )

Quando o denominador é 0 ou BLANK, a DIVIDE não gera qualquer erro: devolve o resultado alternativo. Se não indicar nenhum, o valor devolvido por defeito é BLANK. O numerador e o denominador podem ser colunas, medidas ou expressões completas.

Passo 3: Criar a medida com DIVIDE

Vamos reescrever a margem de forma segura. Para o exemplo ficar legível, criamos primeiro duas medidas de apoio:

Total Receita = SUM(Vendas[Receita])
Total Custo = SUM(Vendas[Custo])

Agora a margem, já com DIVIDE em DAX:

Margem % = 
DIVIDE(
    [Total Receita] - [Total Custo],
    [Total Receita]
)

Sempre que a receita for 0 ou estiver em branco, a medida devolve BLANK em vez de rebentar com um erro. Só falta formatar a medida como percentagem, no separador Ferramentas de medida, e já a pode usar em qualquer visual.

Passo 4: Escolher o resultado alternativo

Às vezes queremos mostrar um número em vez de uma célula vazia — por exemplo, um 0 quando ainda não existem vendas. Basta preencher o terceiro argumento:

Margem % com zero = 
DIVIDE(
    [Total Receita] - [Total Custo],
    [Total Receita],
    0
)

A escolha depende do objetivo. Deixe BLANK (sem o terceiro argumento) quando quiser que os visuais escondam automaticamente as linhas sem dados. Use 0 quando precisar mesmo de um número, por exemplo para ordenar uma tabela ou para reaproveitar o valor noutro cálculo.

Passo 5: DIVIDE em vez do operador "/"

A diferença resume-se a duas linhas:

  • O operador / devolve um erro ou Infinity quando o denominador é 0.
  • A DIVIDE deteta esse caso e devolve o resultado alternativo, sem erros.

Por isso, a recomendação da Microsoft é usar DIVIDE sempre que exista a mínima hipótese de o denominador ser zero ou nulo. Na prática, isso significa quase todos os rácios de um relatório real.

Verificar o resultado

Coloque uma matriz no relatório com os produtos nas linhas e a medida Margem % nos valores. Garanta que existe pelo menos um produto sem receita. Se comparar as duas versões, a medida com / mostra um erro ou Infinity nessa linha, enquanto a medida com DIVIDE mostra uma célula vazia (ou 0, se usou o terceiro argumento). Se não aparecer nenhum aviso de erro, o cálculo ficou correto.

Conclusão

Com a DIVIDE passa a ter medidas robustas para qualquer indicador que envolva um rácio — margem, taxa de conversão, ticket médio ou ROI — sem se preocupar com denominadores a zero. O próximo passo é rever as suas medidas antigas e substituir os operadores / por DIVIDE onde fizer sentido. Fica uma dica final: prefira deixar o resultado como BLANK quando quiser que os gráficos ignorem sozinhos as linhas sem dados. Já sabe quais das suas medidas vai corrigir primeiro?