Item
EssbaseのMDX Item関数は、タプルからメンバーを抽出する、またはセットからタプルを抽出します。
構文
メンバーを返す構文: 次のいずれかです。
tuple[.Item] ( index )
または
Item ( tuple, index )
タプルを返す構文: 次のいずれかです。
set[.Item] ( index )
または
Item ( set, index )
パラメータ
- tuple
-
メンバーの取得元のタプル。
- index
-
使用方法は、メンバーまたはタプルのどちらを返すかによって異なります。
-
メンバーを返す場合、indexは、タプルから抽出するメンバーの数値の位置(0から開始)です。indexの有効な値は、入力タプルのサイズよりも0から1小さい値です。0未満、または入力タプルのサイズ以上の値の場合、空のメンバーが返されます。
-
タプルを返す場合、indexは、セットから抽出するタプルの数値の位置(0から開始)です。indexの有効な値は、入力セットのサイズよりも0から1小さい値です。0未満、または入力セットのサイズ以上の値の場合、空のタプルが返されます。
-
- set
-
タプルの取得元のセット。
例1、メンバーのタプルからの抽出
次の問合せ:
SELECT
{( [Qtr1], [Sales], [Cola], [Florida], [Actual] ).Item(3)}
ON COLUMNS
FROM Sample.Basic
次の出力を返します:
表4-100 MDX例からの出力グリッド
Florida |
---|
5029 |
次の問合せ:
SELECT
{Item(( [Qtr1], [Sales], [Cola], [Florida], [Actual] ), 2)}
ON COLUMNS
FROM Sample.Basic
次の出力を返します:
表4-101 MDX例からの出力グリッド
Cola |
---|
22777 |
例2、タプルのセットからの抽出
次の問合せは、セットCrossJoin([Market].CHILDREN, [Product].CHILDREN)
内の最初のタプルを返します。これは([East], [Colas])
です:
SELECT
{CrossJoin
(
[Market].CHILDREN,
[Product].CHILDREN
).ITEM(0)}
ON COLUMNS
FROM Sample.Basic
ITEMキーワードはオプションであるため、前述の問合せは次のように記述することもできます:
SELECT
{CrossJoin
(
[Market].CHILDREN,
[Product].CHILDREN
)(0)}
ON COLUMNS
FROM Sample.Basic
例3、メンバーのセットからの抽出
次の相互結合されたMarketメンバーとProductメンバーのセットについて考えます。
{
([East],[100]),([East],[200]),([East],[300]),([East],[400]),([East],[Diet]),
([West],[100]),([West],[200]),([West],[300]),([West],[400]),([West],[Diet]),
([South],[100]),([South],[200]),([South],[300]),([South],[400]),([South],[Diet]),
([Central],[100]),([Central],[200]),([Central],[300]),([Central],[400]),([Central],[Diet])
}
次の例では、相互結合されたセットの最初のタプル(([East],[100])
)を返します:
CrossJoin([Market].CHILDREN, [Product].CHILDREN).item(0)
次の例では、相互結合されたセットの最初のタプルの2番目のメンバー([100]
)を返します:
CrossJoin([Market].CHILDREN, [Product].CHILDREN).item(0).item(1)