VisualTotals (MDX)

指定されたセットの子メンバーの合計を動的に算出することによって生成したセットを返します。結果セット内で親メンバーの名前に対してパターンを使用することも可能です。

構文

VisualTotals(Set_Expression[,Pattern])

引数

  • Set_Expression
    セットを返す有効な多次元式 (MDX) 式です。

  • Pattern
    親の名前を置き換える文字のアスタリスク (*) を格納した、セットの親メンバーを表す有効な文字列式です。

説明

指定するセット式では、1 つのディメンション内の任意のレベルにあるメンバー (通常は先祖と子孫のリレーションシップを持つメンバー) のセットを指定できます。 VisualTotals 関数は、指定されたセット内の子メンバーの値の合計を算出します。ただし、結果の合計を計算する際にセットに存在しない子メンバーは無視します。 階層の順序で並べられたセットの表示部分の合計が算出されます。 セット内のメンバーの順序と階層の順序が一致しない場合、結果は表示部分の合計になりません。 たとえば、VisualTotals (USA, WA, CA, Seattle) は WA を Seattle として返すのではなく、WA、CA、および Seattle の値を返してから、これらの値の合計を USA の表示部分の合計として算出します。このため、Seattle の売上は 2 回加算されることになります。

注意

メジャーに関連していないディメンション メンバーまたはメジャー グループの粒度よりも低いディメンション メンバーに VisualTotals 関数を適用すると、値が NULL に置き換えられます。

Pattern (省略可能) では、合計ラベルの書式を指定します。 Pattern では、親メンバー名を置き換える文字としてアスタリスク (*) を使用する必要があります。文字列内の残りのテキストは、親の名前と連結されて結果に表示されます。 リテラルとしてのアスタリスクを表示するには、2 つのアスタリスク (**) を入力します。

使用例

次の例では、指定された 1 つの子孫 (7 月) に基づいて、2001 年の第 3 四半期の表示部分の合計を返しています。

SELECT VisualTotals
   ({[Date].[Calendar].[Calendar Quarter].&[2001]&[3]
      ,[Date].[Calendar].[Month].&[2001]&[7]}) ON 0
FROM [Adventure Works]

次の例では、Product ディメンション内の Category 属性階層の [All] メンバーを、4 つの子メンバーのうちの 2 つと共に返しています。 Internet Sales Amount メジャーについて [All] メンバーに対して返される合計は、Accessories メンバーと Clothing メンバーのみの合計になります。 また、[All Products] 列のラベルを指定するために、Pattern 引数が使用されています。

SELECT
   VisualTotals
   ({[Product].[Category].[All Products]
      ,[Product].[Category].[Accessories]
      ,[Product].[Category].[Clothing]}
      , '* - Visual Total'
   ) ON Columns
, [Measures].[Internet Sales Amount] ON Rows
FROM [Adventure Works]

関連項目

参照

MDX 関数リファレンス (MDX)