可以将用户定义的成员属性作为属性关系添加到维度中的特定命名级别。 用户定义成员属性不能添加到 (All) 层次结构级别或层次结构本身。
创建 User-Defined 成员属性
可以通过用户界面或编程方式将用户定义的成员属性添加到基于服务器的维度或多维数据集:
若要通过用户界面添加用户定义的成员属性,请在 SQL Server Data Tools(SSDT)中使用维度设计器。 有关详细信息,请参阅 “定义属性关系”。
若要以编程方式添加用户定义的成员属性,应用程序可以使用 Analysis Manager 对象(AMO)或 XML for Analysis(XMLA)和 Analysis Services 脚本语言(ASSL)的组合。 有关详细信息,请参阅 属性关系。
检索 User-Defined 成员属性
可以使用关键字或 Properties 函数检索用户定义的成员属性PROPERTIES。
使用 PROPERTIES 关键字检索 User-Defined 成员属性
检索用户定义的成员属性的语法类似于用于检索内部级别成员属性的语法,如以下语法所示:
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 函数检索 User-Defined 成员属性
或者,可以使用函数访问自定义成员属性 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) 中生成计算成员。