CoalesceEmpty (MDX)

将空单元格值转换为指定的非空单元格值,该单元格可以是数字或字符串。

Syntax

  
Numeric syntax  
CoalesceEmpty( Numeric_Expression1 [ ,Numeric_Expression2,...n] )  
  
String syntax  
CoalesceEmpty(String_Expression1 [ ,String_Expression2,...n] )  

Arguments

Numeric_Expression1
一个有效的数值表达式,通常是多维表达式(MDX)表达式,表示返回一个数字的单元坐标。

Numeric_Expression2
一个有效的数值表达式,通常是指定的数值。

String_Expression1
一个有效的字符串表达式,通常是多维表达式(MDX)表达式,用于返回一个字符串。

String_Expression2
一个有效的字符串表达式,通常是指定的字符串值,用来替代第一个字符串表达式返回的NULL。

Remarks

如果指定了一个或多个数值表达式, CoalesceEmpty 函数返回第一个可解析为非空的数值表达式(从左到右)的数值值。 如果指定的数值表达式都无法解析为非空值,函数返回空单元格值。 通常,第二个数值表达式的值是第一个数值表达式返回的NULL所替代的数值。

如果指定一个或多个字符串表达式,函数返回第一个字符串表达式的字符串值(从左到右),可解析为非空值。 如果指定的字符串表达式中没有一个能解析为非空值,函数返回空单元格值。 通常,第二个字符串表达式的值是第一个字符串表达式返回的 NULL 替换的字符串值。

CoalesceEmpty 函数只能取同类型的值。 换句话说,所有指定的值表达式必须只应应值为数值数据类型或空单元格值,或者所有指定的值表达式必须应值为字符串数据类型或空单元格值。 对该函数的单次调用不能同时包含数值表达式和字符串表达式。

有关空单元的更多信息,请参阅 OLE 数据库文档。

Example

以下示例查询 了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]}