Sum
セット内のタプルの値の合計を返します。
構文
Sum ( set [,numeric_value_expression ] )
パラメータ
- set
-
集計するタプルを含むセット。 空の場合、戻り値は#
MISSING
です。 - numeric_value_expression
-
オプション 値を返す式。 通常、Measuresディメンションのスライスに集計を制限するために使用されます(「MDX文法ルール」を参照)。 次の例では、[Measures].[Total Expenses]は、Sum関数に指定された数値式です。
ノート
集約ストレージ・データベースでこの関数のパフォーマンスを最適化するには、次の種類のセットを問合せに含めます:
-
指定されたセット内で使用される、またはこの関数の引数として使用される、次のいずれかの関数: Intersect, CurrentMember, Distinct, CrossJoin, PeriodsToDate.
-
検索条件が次のように定義されたFilter関数: dimensionName.CurrentMemberはmemberNameです。
-
IIF関数。前述の基準を満たすtrue_partおよびfalse_partが設定されます。
-
他の関数(メンバーなど)を使用すると、最適化が無効になります。
-
最適なパフォーマンスを得るには、別のパラメータであるnumeric_value_expressionを含める必要があります。
問合せのパフォーマンスを最適化するには、式のキャッシュ・サイズを大きくする必要があります。 次のようなエラー・メッセージが表示された場合は、MAXFORMULACACHESIZE構成設定を適宜調整します:
Not enough memory for formula execution. Set MAXFORMULACACHESIZE configuration parameter to [1072]KB and try again.
setのタプルごとに、そのタプルのコンテキストで数値式が評価され、結果の値が合計されます。
次のいずれかに該当する場合、Sumの戻り値は#MISSING
です:
-
入力セットが空です。
-
すべてのタプル評価で
#MISSING
値が生成されます。
例
WITH MEMBER [Market].[Sum Expense for Main States]
AS
'Sum
({[Market].[California], [Market].[Colorado],
[Market].[Texas], [Market].[Illinois],
[Market].[Ohio], [Market].[New York],
[Market].[Massachusetts], [Market].[Florida]},
[Measures].[Total Expenses]
)'
SELECT
{[Measures].[Total Expenses]}
ON COLUMNS,
{UDA([Market], "Major Market"),
[Market].[Sum Expense for Main States]}
ON ROWS
FROM
Sample.Basic
WHERE ([Scenario].[Actual])
グリッドを返します:
表4-129 MDXからの出力グリッドの例
(軸) | 費用合計 |
---|---|
ニューヨーク | 8914 |
マサチューセッツ | 3412 |
Florida | 5564 |
東部 | 25310 |
California | 11737 |
テキサス | 4041 |
Illinois | 6900 |
Ohio | 5175 |
Colorado | 6131 |
中部 | 34864 |
主要都道府県の費用合計 | 51874 |
関連項目