/ (除算) (MDX)

1 つの数を別の数で除算する算術演算を実行します。

構文

 Dividend / Divisor

パラメーター

  • Dividend
    数値を返す有効な多次元式 (MDX) 式です。

  • Divisor
    数値を返す有効な MDX 式です。

戻り値

パラメータのデータ型のうち、優先順位が高い方のデータ型を持つ値です。

説明

/ (Divide) 演算子で返される実際の値は、1 番目の式を 2 番目の式で除算して得られる商です。

両方の式は、同じデータ型でなければなりません。または、一方の式をもう一方の式のデータ型に暗黙的に変換できる必要があります。Divisor が NULL 値に評価される場合は、エラーになります。Divisor と Dividend の両方が NULL 値に評価される場合は、NULL 値が返されます。

以下は、この演算子の使用法を示す例です。

-- 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])

0 以外の値または NULL 以外の値を 0 または NULL で除算すると、無限大という値が返されます。これは、値 "1.#INF" としてクエリ結果に表示されます。ほとんどの場合、このような状況を回避するために 0 除算があるかどうかを確認する必要があります。次の例では、この方法を示します。

//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])