Generate

EssbaseのMDX Generate関数は、次のアルゴリズムを使用して集合式を評価することによって形成されるセットを返します。set1のタプルごとに、set2を返します。結果のセットは、set1内のタプルと同じ順序で結合され、出力を生成します。デフォルトでは、重複は含められません。

構文

Generate ( set1, set2 [, [ALL]] )

パラメータ

set1

ループするセット。

set2

set1内のすべてのタプルについて評価するセット式。

ALL

オプションのALLフラグを使用すると、重複するタプルが保持されます。

市場の各リージョンについて、トップ3の売上高の製品を返します。四半期ごとの売上データを表示します:

WITH SET [Top3BevsPerRegion] 
AS 
 'Generate ({[Market].children},
  Crossjoin 
   (
   {[Market].Currentmember}, 
    TopCount 
     (
      [Product].Members, 3, [Measures].[Sales]
     )
   )
 )' 
SELECT
 {[Top3BevsPerRegion]}
ON COLUMNS, 
 {[Year].children}
ON ROWS
FROM Sample.Basic
WHERE ([Scenario].[Actual], [Measures].[Sales])

前述の問合せは、次の結果を返します:

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

(軸) East West South Central
(軸) Product Colas Root Beer Product Diet Drinks Cream Soda Product Root Beer Diet Drinks Product Diet Drinks Colas
Qtr1 20621 6292 5726 31674 8820 8043 12113 5354 4483 31412 10544 8074
Qtr2 224499 7230 5902 33572 9086 8982 12602 5535 4976 33056 10809 8701
Qtr3 22976 7770 5863 35130 9518 9616 13355 5690 4947 33754 10959 8894
Qtr4 21352 6448 6181 32555 8999 8750 12776 5429 4450 31458 10348 8139