MDXでのメンバー・プロパティの問合せ

MDXを使用してEssbaseメンバー・プロパティを問い合せる方法について説明します。

プロパティは、MDX問合せ内で次の2つの方法で使用できます。最初の方法では、各軸セットのディメンションとプロパティの組合せを一覧表示できます。問合せが実行されると、指定したプロパティが、指定したディメンションのすべてのメンバーに対して評価され、結果セットに含まれます。

たとえば、列軸に対し、次の問合せはすべてのMarketディメンション・メンバーのGEN_NUMBER情報を返します。行軸に対し、問合せはすべてのProductディメンション・メンバーのMEMBER_ALIAS情報を返します。

SELECT
 [Market].Members
    DIMENSION PROPERTIES [Market].[GEN_NUMBER] on columns,
 Filter ([Product].Members, Sales > 5000)
    DIMENSION PROPERTIES [Product].[MEMBER_ALIAS] on rows
from Sample.Basic

軸のDIMENSION PROPERTIESセクションを使用してメンバー・プロパティを問い合せる場合、プロパティは、ディメンション名とプロパティの名前、またはプロパティ名自体を使用して識別できます。プロパティ名を単独で使用すると、そのプロパティが適用される、その軸上のすべてのディメンションのすべてのメンバーに対してそのプロパティ情報が返されます。

ノート:

DIMENSION PROPERTIESセクション内でプロパティ名を単独で使用する場合は、プロパティ名を大カッコ[]で囲まないでください。

次の問合せで、MEMBER_ALIASプロパティは、YearディメンションとProductディメンションの両方の行軸で評価されます。

SELECT
 [Market].Members
    DIMENSION PROPERTIES [Market].[GEN_NUMBER] on columns,
 CrossJoin([Product].Children, Year.Children)
    DIMENSION PROPERTIES MEMBER_ALIAS on rows
from Sample.Basic

2番目の方法では、プロパティをMDX問合せの値式内で使用できます。たとえば、入力セットのメンバーのプロパティを使用する値式に基づいてセットをフィルタリングできます。

次の問合せは、缶にパッケージされているすべてのカフェイン製品を返します。

         
Select
Filter([Product].levels(0).members,
         [Product].CurrentMember.Caffeinated and
         [Product].CurrentMember.[Pkg Type] = "Can")
         Dimension Properties
           [Caffeinated], [Pkg Type] on columns

次の問合せは、UDA [Major Market]を使用して、Marketディメンションの現在のメンバーが、主要なMarketであるかどうかに基づいて、値[BudgetedExpenses]を計算します。

With 
   MEMBER [Measures].[BudgetedExpenses] AS
      'IIF([Market].CurrentMember.[Major Market],
       [Marketing] * 1.2, [Marketing])'
Select
   {[Measures].[BudgetedExpenses]} on columns,
   Market.Members on rows
Where
  ([Budget])

次の問合せでは、別名表名を使用します。

 SELECT
 [Product].Members
  DIMENSION PROPERTIES [Default] on columns
from Sample.Basic;

SELECT
 [Product].Members
  DIMENSION PROPERTIES [Long Names] on columns
from Sample.Basic;