Función DIVIDE frente al operador de división (/)

Como modelador de datos, al escribir una expresión DAX para dividir un numerador por un denominador, puede usar la función DIVIDE o el operador de división (/: barra diagonal).

Cuando se usa la función DIVIDE, se deben pasar expresiones de numerador y denominador. Opcionalmente, puede pasar un valor que representa un resultado alternativo.

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

La función DIVIDE se ha diseñado para controlar de forma automática los casos de división entre cero. Si no se pasa un resultado alternativo y el denominador es cero o está en blanco, la función devuelve un valor en blanco. Al pasar un resultado alternativo, se devuelve, en lugar de ofrecer un valor en blanco.

La función DIVIDE es útil porque guarda la expresión para que no tenga que probar primero el valor del denominador. La función también está mejor optimizada para probar el valor del denominador que la función IF. La mejora del rendimiento es importante, ya que la búsqueda de la división entre cero resulta costosa. El uso adicional de DIVIDE da lugar a una expresión más concisa y elegante.

Ejemplo

La siguiente expresión de medición genera una división segura, pero implica el uso de cuatro funciones DAX.

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

Esta expresión de medición consigue el mismo resultado, pero de forma más eficaz y elegante.

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

Recomendaciones

Se recomienda usar la función DIVIDE siempre que el denominador sea una expresión que pueda devolver cero o BLANK.

En el caso de que el denominador sea un valor constante, se recomienda el uso del operador de división. En este caso, la división tiene la garantía de que se realizará correctamente y la expresión funcionará mejor porque evitará pruebas innecesarias.

Considere detenidamente si la función DIVIDE debe devolver un valor alternativo. En el caso de las medidas, normalmente se trata de un mejor diseño, ya que devuelven un valor BLANK. La devolución de un valor BLANK es más indicada ya que, de forma predeterminada, los objetos visuales de los informes eliminan las agrupaciones cuando los resúmenes están en blanco. Esto permite que el objeto visual se centre en los grupos en los que existen los datos. Si es necesario, en Power BI puede configurar el objeto visual para mostrar todos los grupos (que devuelven valores o BLANK) dentro del contexto de filtro si habilita la opción Mostrar elementos sin datos.