ユーザー定義メンバ プロパティ (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)」を参照してください。