如何使用 MDX 获取不可见属性和用户定义的层次结构的名称?
Posted
技术标签:
【中文标题】如何使用 MDX 获取不可见属性和用户定义的层次结构的名称?【英文标题】:How to get the name of invisible attributes and user defined Hierarchies using MDX? 【发布时间】:2012-08-31 08:38:20 【问题描述】:我有一个有一些尺寸的立方体。我有一个维度“产品”,其中隐藏了一些属性和用户定义的层次结构。我不知道隐藏了哪些属性。 有没有办法编写 MDX 来获取不可见的属性和用户定义的层次结构? 我可以通过其他方式得到这个名字。但我想知道如何使用 MDX。
【问题讨论】:
【参考方案1】:http://msdn.microsoft.com/en-us/library/ms145613.aspx 给出了一个显示成员属性的示例查询:
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]
我现在无法自己测试它,但我假设您也可以编写 .Properties(0)
或 .Properties(1)
来按索引引用属性,因为您不知道名称。我不确定是否有办法从结果单元集中发现属性名称,抱歉。
【讨论】:
【参考方案2】:我首先会为此查看 DMV,因为您真正关注的是元数据,而不是数据。
http://dwbi1.wordpress.com/2010/01/01/ssas-dmv-dynamic-management-view/
它们看起来像 SQL,但在 SQL Management Studio 的 MDX 窗口中运行,因此也将在 MSOLAP 连接中运行。
SELECT * FROM $system.mdschema_properties
这看起来是查询、成员的完整列表和标识可见的列。
看看你的效果如何。
【讨论】:
我知道元数据的方式。但是还有另一种方法可以使用纯 MDX 来获取它们。我想知道有没有人已经尝试过了。如果是的话是什么方法。以上是关于如何使用 MDX 获取不可见属性和用户定义的层次结构的名称?的主要内容,如果未能解决你的问题,请参考以下文章