ユーザー定義メンバ プロパティ (MDX)

属性リレーションシップとして、ディメンション内の指定されたレベルにユーザー定義メンバ プロパティを追加できます。ユーザー定義メンバ プロパティは、階層の (All) レベル、または階層そのものには追加できません。

ユーザー定義メンバ プロパティの作成

以下のように、ユーザー インターフェイスを使用して、またはプログラムによって、サーバー ベースのディメンションまたはキューブにユーザー定義メンバ プロパティを追加できます。

  • ユーザー インターフェイスを使用してユーザー定義メンバ プロパティを追加するには、Business Intelligence Development Studio でディメンション デザイナを使用します。詳細については、「属性リレーションシップの定義」を参照してください。

  • プログラムによってユーザー定義メンバ プロパティを追加するには、アプリケーションで Analysis Manager Objects (AMO) を使用するか、XML for Analysis (XMLA) と Analysis Services Scripting Language (ASSL) を組み合わせて使用できます。詳細については、「属性リレーションシップ」を参照してください。

ユーザー定義メンバ プロパティの取得

ユーザー定義メンバ プロパティを取得するには、PROPERTIES キーワードまたは Properties 関数を使用できます。

PROPERTIES キーワードを使用したユーザー定義メンバ プロパティの取得

次に示すように、ユーザー定義メンバ プロパティを取得する構文は、固有レベル メンバ プロパティを取得する構文と同様です。

DIMENSION PROPERTIES [Dimension.]Level.<Custom_Member_Property>

PROPERTIES キーワードは、軸を指定するセット式の後に指定します。たとえば、次の MDX クエリの PROPERTIES キーワードは List Price および Dealer Price ユーザー定義メンバ プロパティを取得するもので、1 月に販売された製品を示すセット式の後に指定されています。

SELECT 
   CROSSJOIN([Ship Date].[Calendar].[Calendar Year].Members, 
             [Measures].[Sales Amount]) ON COLUMNS,
   NON EMPTY Product.Product.MEMBERS
   DIMENSION PROPERTIES 
              Product.Product.[List Price],
              Product.Product.[Dealer Price]  ON ROWS
FROM [Adventure Works]
WHERE ([Date].[Month of Year].[January]) 

Properties 関数を使用したユーザー定義メンバ プロパティの取得

別の方法として、Properties 関数を使ってカスタム メンバ プロパティにアクセスすることもできます。たとえば、次の MDX クエリでは、WITH キーワードを使用して、List Price メンバ プロパティで構成される計算されるメンバを作成します。

WITH 
   MEMBER [Measures].[Product List Price] AS
   [Product].[Product].CurrentMember.Properties("List Price")
SELECT 
   [Measures].[Product List Price] on COLUMNS,
   [Product].[Product].MEMBERS  ON Rows
FROM [Adventure Works]

計算されるメンバの作成の詳細については、「MDX での計算されるメンバの作成 (MDX)」を参照してください。