Divide: referencia del operador MDX
Realiza una operación aritmética que divide un número por otro número.
Sintaxis
Dividend / Divisor
Parámetros
Dividendo
Una expresión MDX (Expresiones multidimensionales) válida que devuelve un valor numérico.
Divisor
Expresión MDX válida que devuelve un valor numérico.
Valor devuelto
Un valor con el tipo de datos del parámetro que tiene mayor precedencia.
Comentarios
El valor real devuelto por el operador / (Divide) representa el cociente de la primera expresión dividida por la segunda expresión.
Ambas expresiones deben ser del mismo tipo de datos o una se debe poder convertir implícitamente en el tipo de datos de la otra. Si Divisor se evalúa como un valor NULL, el operador genera un error. Si divisor y dividendo se evalúan como un valor NULL, el operador devuelve un valor NULL.
Ejemplos
En el siguiente ejemplo se muestra el uso de este operador.
-- This query returns the freight cost per user,
-- for products, averaged by month.
With Member [Measures].[Freight Per Customer] as
[Measures].[Internet Freight Cost]
/
[Measures].[Customer Count]
SELECT
[Ship Date].[Calendar].[Calendar Year] Members ON 0,
[Product].[Category].[Category].Members ON 1
FROM
[Adventure Works]
WHERE
([Measures].[Freight Per Customer])
Al dividir un valor distinto de cero o no NULL entre cero o NULL, devolverá el valor Infinity, que se muestra en los resultados de la consulta como el valor "1.#INF". En la mayoría de los casos, debe comprobar la división entre cero para evitar esta situación. En el siguiente ejemplo se muestra lo siguiente:
//Returns 1.#INF when Internet Sales Amount is zero or null
Member [Measures].[Reseller to Internet Ratio] AS
[Measures].[Reseller Sales Amount]
/
[Measures].[Internet Sales Amount]
//Traps the division by zero scenario and returns null instead of 1.#INF
Member [Measures].[Reseller to Internet Ratio With Error Handling] AS
IIF([Measures].[Internet Sales Amount]=0, NULL,
[Measures].[Reseller Sales Amount]
/
[Measures].[Internet Sales Amount])
SELECT
{[Measures].[Reseller to Internet Ratio],[Measures].[Reseller to Internet Ratio With Error Handling]} ON 0,
[Product].[Category].[Category].Members ON 1
FROM
[Adventure Works]
WHERE([Date].[Calendar].[Calendar Year].&[2001])