ユーザー定義メンバー プロパティ (MDX)
属性リレーションシップとして、ディメンション内の指定されたレベルにユーザー定義メンバー プロパティを追加できます。 ユーザー定義メンバー プロパティは、階層の (All)
レベル、または階層そのものには追加できません。
ユーザー定義メンバー プロパティの作成
以下のように、ユーザー インターフェイスを使用して、またはプログラムによって、サーバー ベースのディメンションまたはキューブにユーザー定義メンバー プロパティを追加できます。
ユーザー インターフェイスを使用してユーザー定義のメンバー プロパティを追加するには、SQL Server Data Tools (SSDT) のディメンション Designerを使用します。 詳細については、「 属性リレーションシップの定義」を参照してください。
プログラムによってユーザー定義メンバー プロパティを追加するには、アプリケーションで Analysis Manager Objects (AMO) を使用するか、XML for Analysis (XMLA) と Analysis Services Scripting Language (ASSL) を組み合わせて使用できます。 詳細については、「 属性リレーションシップ」を参照してください。
ユーザー定義メンバー プロパティの取得
ユーザー定義のメンバー プロパティは、キーワード (keyword)または 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)」を参照してください。