如何使用MDX获取不可见属性和用户定义的层次结构的名称?

时间:2012-08-31 08:38:20

标签: ssas mdx ssas-2008

我有一个有一些尺寸的立方体。在那里,我有一个维度“产品”,它隐藏了一些属性和用户定义的层次结构。我不知道隐藏了哪些属性。 有没有办法编写MDX来获取不可见的属性和用户定义的层次结构? 我可以通过其他方式得到这个名字。但我想知道如何使用MDX。

2 个答案:

答案 0 :(得分: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)来按索引引用属性,因为您不知道名称。我不确定是否有办法从结果单元格中发现属性名称,抱歉。

答案 1 :(得分:0)

我首先要研究DMV,因为你真的是在元数据之后,而不是数据。

http://dwbi1.wordpress.com/2010/01/01/ssas-dmv-dynamic-management-view/

它们看起来像SQL,但在SQL Management Studio的MDX窗口中运行,因此也将在MSOLAP连接中运行。

  

SELECT * FROM $system.mdschema_properties

这看起来像是一个查询,一个完整的成员列表和一个标识哪些是可见的列。

了解这对您有何帮助。