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の代わりに置き換えられる指定された文字列の値です。

Remarks

1つ以上の数値式が指定されている場合、 CoalesceEmpty 関数は最初の数値式(左から右へ)の数値値を返し、空でない値に解決できます。 指定された数値式のいずれも空でない値に解決できない場合、関数は空セルの値を返します。 通常、2番目の数値式の値は、最初の数値式が返すNULLに代わって置き換えられる数値です。

1つ以上の文字列式が指定されている場合、関数は最初の文字列式の値(左から右へ)を返し、それを空でない値に解決できます。 指定された文字列式のいずれも空でない値に解決できない場合、関数は空セルの値を返します。 通常、2番目の文字列式の値は、1番目の文字列式が返すNULLの代わりに置き換えられる文字列の値です。

CoalesceEmpty関数は同じタイプの値しか取れません。 言い換えれば、指定されたすべての値式は数値データ型のみまたは空セル値に評価されなければならず、またはすべての指定された値式は文字列データ型または空セル値で評価されなければなりません。 この関数への単一の呼び出しには数値式と文字列式の両方を含めることはできません。

空セルの詳細については、OLE DBのドキュメントをご覧ください。

以下の例は Adventure Works キューブをクエリします。 この例は各製品の注文数量とカテゴリごとの注文数量の割合を返します。 CoalesceEmpty関数は、計算メンバーのフォーマット時にnull値がゼロ(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]}