除法 - MDX 算子参考

执行一个算术运算,将一个数字除以另一个数字。

Syntax

  
Dividend / Divisor  

参数

股息
一个有效的多维表达式(MDX)表达式,返回一个数值。

除数
一个有效的MDX表达式,返回一个数值。

返回值

一个参数数据类型中优先级更高的值。

Remarks

/ (除法) 算子返回的实际值表示第一个表达式除以第二个表达式的商。

两个表达式必须具有相同的数据类型,或者其中一个表达式必须能够隐式转换为另一个表达式的数据类型。 如果 除子 值为空值,算符会报错。 如果 除子股息 都计算为空值,算符返回空值。

示例

以下示例展示了该算子的使用方法。

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

将非零或非空值除以零或空值,返回无穷值,查询结果中显示为“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])