TopSum

EssbaseのMDX TopSum()関数は、数値評価の合計結果が指定された合計以上であるセットの、可能なかぎり最小のサブセットを返します。結果セットの要素は、最大から最小の順に列挙されます。

構文

TopSum ( set, numeric_value_expression1, numeric_value_expression2 )

パラメータ

set

合計が最も高い要素が選択されるセット。

numeric_value_expression1

指定された合計(MDX文法ルールを参照)。

numeric_value_expression2

数値評価(MDX文法ルールを参照)。

ノート

  • 数値評価の合計結果が指定した合計に達しない場合は、空のセットが返されます。

  • この関数は、負の値と欠落した値を無視します。

次のMDX問合せは、Diet製品の合計年間売上高の60,000を集合的に占める最も売れている市場を選択し、各Diet製品の四半期売上高を表示します:

SELECT
 CrossJoin(
          [Product].[Diet].Children,
          [Year].Children
          ) 
ON COLUMNS,
 TopSum(
       [Market].Levels(0).Members,
       60000, 
       [Product].[Diet]
       )
ON ROWS
FROM Sample.Basic
WHERE ([Scenario].[Actual], 
       [Measures].[Sales])

前述の問合せは、次の出力を返します:

表4-134 MDX例からの出力グリッド

(軸) 100-20 100-20 100-20 100-20 200-20 200-20 200-20 200-20 300-30 300-30 300-30 300-30
(軸) Qtr1 Qtr2 Qtr3 Qtr4 Qtr1 Qtr2 Qtr3 Qtr4 Qtr1 Qtr2 Qtr3 Qtr4
Illinois 755 958 1050 888 1391 1520 1562 1402 675 755 859 894
California 367 491 506 468 1658 1833 1954 1706 700 802 880 673
Colorado 700 802 880 673 549 465 412 539 1006 921 892 991
Washington 637 712 837 704 459 498 597 514 944 799 708 927
Iowa 162 153 121 70 129 129 129 129 1658 1833 1954 1706
Florida 620 822 843 783 548 611 657 577 332 323 260 159
Oregon 389 303 277 322 1006 921 892 991 263 231 197 184