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