Diviser - Référence de l’opérateur MDX
Exécute une opération arithmétique qui divise un nombre par un autre.
Syntaxe
Dividend / Divisor
Paramètres
Dividende
Expression MDX (Multidimensional Expressions) valide qui retourne une valeur numérique.
Diviseur
Expression MDX valide qui retourne une valeur numérique.
Valeur renvoyée
Valeur dont le type de données du paramètre possède la priorité la plus élevée.
Remarques
La valeur réelle retournée par l’opérateur / (Diviser) représente le quotient de la première expression divisée par la deuxième expression.
Les deux expressions doivent être de même type de données, ou l'une des expressions doit pouvoir être implicitement convertie dans le type de données de l'autre expression. Si Divisor est évalué à une valeur null, l’opérateur génère une erreur. Si Divisor et Dividend sont tous deux évalués à une valeur null, l’opérateur retourne une valeur null.
Exemples
L'exemple ci-dessous illustre l'utilisation de cet opérateur.
-- 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])
Diviser une valeur non nulle ou non NULL par zéro ou NULL retourne la valeur Infinity qui est affichée dans les résultats de la requête comme valeur "1.#INF". Dans la plupart des cas, vous devez vérifier la présence d'une division par zéro pour éviter cette situation. L'exemple suivant illustre les opérations suivantes :
//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])