次の方法で共有


除算 - MDX 演算子リファレンス

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

構文

  
Dividend / Divisor  

パラメーター

配当
数値を返す有効な多次元式 (MDX) 式。

除数
数値を返す有効な MDX 式。

戻り値

優先順位が高いパラメーターのデータ型を持つ値。

解説

/ (Divide) 演算子によって返される実際の値は、最初の式の商を 2 番目の式で除算した値を表します。

両方の式は、同じデータ型でなければなりません。または、一方の式をもう一方の式のデータ型に暗黙的に変換できる必要があります。 Divisor が null 値に評価された場合、演算子はエラーを発生させます。 除数被除数の両方が 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" としてクエリ結果に表示されます。 ほとんどの場合、この状況を回避するには、ゼロによる除算を確認する必要があります。 次の例では、この方法を示します。

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

参照

IIf (MDX)
MDX 演算子リファレンス (MDX)