Sum

EssbaseのMDX Sum()関数は、セットのタプルの値の合計を返します。

構文

Sum ( set [,numeric_value_expression ] )

パラメータ

set

集約するタプルを含むセット。空の場合、戻り値は#MISSINGです。

numeric_value_expression

オプション。値を返す式。一般に、集約をMeasuresディメンションからのスライスに制限するために使用されます(MDX文法ルールを参照)。次の例では、[Measures].[Total Expenses]は、Sum関数に提供される数値式です。

ノート

集約ストレージ(ASO)キューブでこの関数のパフォーマンスを最適化するには、問合せに次の種類のセットを含めます:

  • 名前付きセット内および(または)この関数の引数として使用されるIntersect、CurrentMember、Distinct、CrossJoin、PeriodsToDateの各関数のいずれか。

  • dimensionName.CurrentMember IS memberNameとして定義された検索条件を持つFilter関数。

  • true_partfalse_partが前述の条件を満たすセットであるIIF関数。

  • 他の関数(Membersなど)を使用すると、最適化が無効になります。

  • パフォーマンスを最適化するには、2番目のパラメータnumeric_value_expressionを含める必要があります。

問合せパフォーマンスを最適化するには、より大きな数式キャッシュ・サイズが必要になる場合があります。次のようなエラー・メッセージが表示される場合は、メッセージに応じてMAXFORMULACACHESIZE構成設定を調整してください。

Not enough memory for formula execution. Set MAXFORMULACACHESIZE configuration parameter to [1072]KB and try again.

set内のタプルごとに、数値式がそのタプルのコンテキストで評価され、結果の値が合計されます。

次のいずれかに該当する場合、Sumの戻り値は#MISSINGです。

  • 入力セットは空です。

  • すべてのタプルの評価結果は#MISSING値になります。

次のMDX問合せ:

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-128 MDX例からの出力グリッド

(軸) Total Expenses
New York 8914
Massachusetts 3412
Florida 5564
East 25310
California 11737
Texas 4041
Illinois 6900
Ohio 5175
Colorado 6131
Central 34864
Sum Expense for Main States 51874

関連項目

Aggregate