Partager via


/ (Divide) (MDX)

Exécute une opération arithmétique qui divise un nombre par un autre.

Syntaxe

Dividend / Divisor

Paramètres

  • Dividend
    Expression MDX (Multidimensional Expressions) valide qui retourne une valeur numérique.

  • Divisor
    Expression numérique MDX valide qui retourne une valeur numérique.

Valeur de retour

Valeur dont le type de données du paramètre possède la priorité la plus élevée.

Notes

La valeur réelle retournée par l'opérateur / (Divide) est le quotient de la première expression divisée par la seconde expression.

Les deux expressions doivent être du 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 prend la valeur NULL, l'opérateur crée une erreur. Si Divisor et Dividend prennent toutes les deux la valeur NULL, l'opérateur retourne la 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])