执行一个算术运算,将一个数字除以另一个数字。
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])