Aggregate
タイム・バランスの動作に基づいて勘定科目メンバーを集約します。
構文
Aggregate ( set [, accounts_member] )
パラメータ
ノート
集約ストレージ・データベースでこの関数のパフォーマンスを最適化するには、次の種類のセットを問合せに含めます:
-
指定されたセット内で使用される、またはこの関数の引数として使用される、次のいずれかの関数: 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のタプルごとに、accounts_memberの値が評価されます。
accounts_memberにタイム・バランス・タグがない場合、またはsetが1ディメンションの場合、この関数の動作はSum()と同じです。
accounts_memberにタイム・バランス・タグがある場合、この関数は次のように動作します:
-
TB Firstの場合、setの最初のタプルのaccounts_memberの値を返します。
-
TB First with SKIPの場合、setのタプルを最初から最後までスキャンし、accounts_memberの空でない値を持つ最初のタプルを返します。
-
TB Lastの場合、setの最後のタプルのaccounts_memberの値を返します。
-
TB Last with SKIPの場合、setのタプルを最後から最初にスキャンし、accounts_memberに対して空でない値を持つ最初のタプルを返します。
-
TB Averageの場合、setの各タプルのaccounts_memberの平均値を返します。
-
TB Average with SKIPの場合、空の値を考慮せずに、setの各タプルのaccounts_memberの平均値を返します。
例
WITH
SET [T1] AS '{[Time].[1st Half]}'
SET [GM] AS '{Children ( [Geography].[South] )}'
MEMBER [Measures].[m1] as 'Aggregate(CrossJoin([T1],{[Geography].CurrentMember}),[Measures].[Price Paid])'
SELECT
{[Measures].[m1]}
ON COLUMNS,
NON EMPTY {CrossJoin([T1] ,[GM])}
ON ROWS
FROM ASOSamp.Sample
グリッドを返します:
表4-36 MDXからの出力グリッドの例
(軸) | m1 |
---|---|
(1st Half, DISTRICT OF COLUMBIA) | 961107.26 |
(1st Half、DELAWARE) | 245394.68 |
(1st Half、FLORIDA) | 1446868.96 |
(1st Half、GEORGIA) | 4766285.74 |
(1st Half、MARYLAND) | 2496467.86 |
(1st Half、NORTH CAROLINA) | 4660670.94 |
(1st Half, SOUTH CAROLINA) | 2524777.6 |
(1st Half、VIRGINIA) | 6253779.5 |
(1st Half、WEST VIRGINIA) | 5009523.72 |
関連項目