MDX メンバー プロパティ - メンバー プロパティ User-Defined
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
属性リレーションシップとして、ディメンション内の指定されたレベルにユーザー定義メンバー プロパティを追加できます。 ユーザー定義メンバー プロパティは、階層の (All) レベル、または階層そのものには追加できません。
ユーザー定義メンバー プロパティの作成
以下のように、ユーザー インターフェイスを使用して、またはプログラムによって、サーバー ベースのディメンションまたはキューブにユーザー定義メンバー プロパティを追加できます。
ユーザー インターフェイスを使用してユーザー定義のメンバー プロパティを追加するには、SQL Server Data Toolsのディメンション Designerを使用します。 詳細については、「 属性リレーションシップの定義」を参照してください。
プログラムによってユーザー定義メンバー プロパティを追加するには、アプリケーションで 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)」を参照してください。