Compartilhar via


Função DIVIDE versus operador de divisão (/)

Como um modelador de dados, ao escrever uma expressão DAX para dividir um numerador por um denominador, você pode optar por usar a função DIVIDE ou o operador de divisão (/– barra de avanço).

Ao usar a função DIVIDE, você deve passar expressões de numerador e de denominador. Opcionalmente, você pode passar um valor que representa um resultado alternativo .

DIVIDE(<numerator>, <denominator> [,<alternateresult>])

A função DIVIDE foi projetada para lidar automaticamente com casos de divisão por zero. Se um resultado alternativo não for passado e o denominador for zero ou BLANK, a função retornará BLANK. Quando um resultado alternativo é passado, ele é retornado em vez de BLANK.

A função DIVIDE é conveniente porque salva sua expressão de ter que primeiro testar o valor do denominador. A função também é melhor otimizada para testar o valor do denominador do que a função IF. O ganho de desempenho é significativo, já que a verificação para divisão por zero é dispendiosa. Usar DIVIDE resulta em uma expressão mais concisa e elegante.

Exemplo

A expressão de medida a seguir produz uma divisão segura, mas envolve o uso de quatro funções DAX.

Profit Margin =
IF(
    OR(
        ISBLANK([Sales]),
        [Sales] == 0
    ),
    BLANK(),
    [Profit] / [Sales]
)

Essa expressão de medida obtém o mesmo resultado, ainda mais eficiente e elegantemente.

Profit Margin =
DIVIDE([Profit], [Sales])

Recomendações

É recomendável que você use a função DIVIDE sempre que o denominador for uma expressão que possa retornar zero ou BLANK.

No caso de o denominador ser um valor constante, recomendamos que você use o operador de divisão. Nesse caso, a divisão tem a garantia de ter êxito e sua expressão terá um desempenho melhor porque evitará testes desnecessários.

Considere cuidadosamente se a função DIVIDE deve retornar um valor alternativo. Para as medidas, geralmente é melhor um design que faça com que elas retornem BLANK. Retornar BLANK é melhor porque os visuais de relatório, por padrão, removem agrupamentos quando os resumos são BLANK. Ele permite que o visual concentre a atenção em grupos em que os dados existem. Quando necessário, no Power BI, você pode configurar o visual para exibir todos os grupos (que retornam valores ou BLANK) dentro do contexto de filtro, habilitando a opção Mostrar itens sem dados.