CoalesceEmpty (MDX)
将空单元值转换为指定的非空单元值,该值可以是数字或字符串。
语法
Numeric syntax
CoalesceEmpty( Numeric_Expression1 [ ,Numeric_Expression2,...n] )
String syntax
CoalesceEmpty(String_Expression1 [ ,String_Expression2,...n] )
参数
Numeric_Expression1
通常是单元坐标(返回数字)的多维表达式 (MDX) 的有效数值表达式。Numeric_Expression2
有效数值表达式,通常为指定的数值。String_Expression1
有效字符串表达式,通常为返回字符串的单元坐标的多维表达式 (MDX)。String_Expression2
有效字符串表达式,通常为指定的字符串值(该值被第一个字符串表达式返回的 NULL 代替)。
注释
如果指定了一个或多个数值表达式,CoalesceEmpty 函数将返回可被解析为非空值的第一个(从左向右)数值表达式的值。 如果指定的所有数值表达式都不能被解析为非空值,则此函数返回空单元值。 通常情况下,第二个数值表达式的值是被第一个数值表达式返回的 NULL 代替的数值。
如果指定了一个或多个字符串表达式,此函数将返回可被解析为非空值的第一个(从左向右)字符串表达式的值。 如果指定的所有字符串表达式都不能被解析为非空值,则此函数返回空单元值。 通常情况下,第二个字符串表达式的值是被第一个字符串表达式返回的 NULL 代替的字符串值。
只能向 CoalesceEmpty 函数传递相同类型的值。 也就是说,指定的所有值表达式的值都必须为数值数据类型或空单元值,或者,指定的所有值表达式的值都必须为字符串数据类型或空单元值。 对此函数的一次调用不能同时包括数值表达式和字符串表达式。
有关空单元的详细信息,请参阅 OLE DB 文档。
示例
下面的示例将查询 Adventure Works 多维数据集。 此示例将返回每个产品的订单数量以及按类别排列的订单数量百分比。 CoalesceEmpty 函数确保了在设置计算成员的格式时用零 (0) 来表示空值。
WITH
MEMBER [Measures].[Order Percent by Category] AS
CoalesceEmpty
(
([Product].[Product Categories].CurrentMember,
Measures.[Order Quantity]) /
(
Ancestor
( [Product].[Product Categories].CurrentMember,
[Product].[Product Categories].[Category]
), Measures.[Order Quantity]
), 0
), FORMAT_STRING='Percent'
SELECT
{Measures.[Order Quantity],
[Measures].[Order Percent by Category]} ON COLUMNS,
{[Product].[Product].Members} ON ROWS
FROM [Adventure Works]
WHERE {[Date].[Calendar Year].[Calendar Year].&[2003]}