次の方法で共有


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
    有効な文字列式です。通常は、1 番目の文字列式から返された NULL 値を置き換える、指定された文字列です。

説明

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

1 つ以上の文字列式が指定されている場合、この関数は、左から右の順に見て、空でない値に解決される最初の文字列式の文字列値を返します。指定されている文字列式に、空でない値に解決される式がない場合、この関数は、空のセル値を返します。通常、2 番目の文字列式に対応する値が、1 番目の文字列式から返された NULL 値を置き換える文字列値です。

CoalesceEmpty 関数に指定できるのは、すべて同じデータ型の値です。つまり、指定した値式は、すべて 1 つの数値データ型または空のセル値に評価されるか、すべて 1 つの文字列データ型または空のセル値に評価される必要があります。この関数の 1 回の呼び出しで、数値式と文字列式を両方含めることはできません。

空のセルの詳細については、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]}