MDXプロパティ式

PROPERTY_EXPRを使用して、関連するEssbaseメンバーのプロパティを問い合せるためにMDXを使用する方法について説明します。

メンバーの固有プロパティとカスタム・プロパティの問合せに加えて、PROPERTY_EXPR関数を使用してMDXプロパティの問合せを実行することもできます。この関数を使用すると、メンバー値の式に基づいて、関連するメンバーのプロパティを問い合せられます。

構文


PROPERTY_EXPR (dimension name, property_name, member_value_expression, display_name)

表4-18 PROPERTY_EXPRパラメータ

パラメータ 説明

dimension name

ディメンション名、またはキーワードALL。ディメンション名を指定すると、プロパティ式は、そのディメンションのメンバーに対してのみ評価されます。キーワードALLを指定すると、プロパティ式は、軸上のすべてのメンバーに対して評価されます。

property_name

プロパティ仕様。固有プロパティの1つ(MEMBER_NAME、MEMBER_ALIAS、LEVEL_NUMBER、GEN_NUMBER、IS_EXPENSE、COMMENTS、MEMBER_UNIQUE_NAME)、またはカスタム・プロパティの1つ(属性ディメンション名、別名表名、またはUDA仕様)。

member_value_expression

メンバー値の式。<member_value_expression> ::= MDX文法ルールで参照してください。

display_name

文字列リテラル。問合せ出力で問合せされたプロパティ情報に使用する表示名。

説明

ディメンション名からの軸上のすべてのメンバーについて、member_value_expressionは、コンテキスト内のディメンション名からの現在のメンバーを使用して評価されます。property_nameは、member_value_expressionの出力で評価されます。指定したdisplay_nameは、問い合されたプロパティの出力に使用するラベルを示します。

CurrentAxisMemberを使用して、軸上の現在のメンバーを参照できます。


SELECT
 {[100]}
ON COLUMNS, 
Market.Levels(0).Members 
 DIMENSION PROPERTIES 
  PROPERTY_EXPR
   (
    Market,
    MEMBER_NAME,
    Ancestor
     (
      Currentaxismember(), 
      Currentaxismember().Dimension.Levels(1)
     ),
   "Parent_level_1"
   ),
  PROPERTY_EXPR
   (
    Market,
    MEMBER_NAME,
    Ancestor
     (
      Currentaxismember(), 
      Currentaxismember().Dimension.Levels(2)
     ),
   "Parent_level_2"
   )
ON ROWS 
FROM Sample.Basic;

これは、次のグリッド(切捨て)を返します。

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

(軸) Axis-1.properties 100
[New York] Parent_level_1 = East, Parent_level_2 = market 3498
[Massachusetts] Parent_level_1 = East, Parent_level_2 = market 5105
[Florida] Parent_level_1 = East, Parent_level_2 = market 2056
... ... ...