VisualTotals (MDX)
指定されたセットの子メンバーの合計を動的に算出することによって生成したセットを返します。結果セット内で親メンバーの名前に対してパターンを使用することも可能です。
構文
VisualTotals(Set_Expression[,Pattern])
引数
Set_Expression
セットを返す有効な多次元式 (MDX) 式。
パターン
親の名前を置き換える文字のアスタリスク (*) を格納した、セットの親メンバーを表す有効な文字列式です。
解説
指定された set 式では、1 つのディメンション内の任意のレベルのメンバー (一般に先祖と子孫のリレーションシップを持つメンバー) を含むセットを指定できます。 VisualTotals 関数は、指定したセット内の子メンバーの値を合計し、結果の合計を計算するセットに含まれていない子メンバーを無視します。 合計は、階層順に並べ替えられたセットに対して視覚的に合計されます。 セット内のメンバーの順序と階層の順序が一致しない場合、結果は表示部分の合計になりません。 たとえば、VisualTotals (USA, WA, CA, Seattle) は WA を Seattle として返すのではなく、WA、CA、および Seattle の値を返してから、これらの値の合計を USA の表示部分の合計として算出します。このため、Seattle の売上は 2 回加算されることになります。
Note
VisualTotals 関数をメジャーに関連しないディメンション メンバー、またはメジャー グループの粒度の下にあるディメンション メンバーに適用すると、値が null に置き換えられます。
パターン (省略可能) では、合計ラベルの形式を指定します。 パターン には、親メンバーの置換文字としてアスタリスク (*) が必要であり、文字列内のテキストの残りの部分が親名と連結された結果に表示されます。 リテラルとしてのアスタリスクを表示するには、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]