SSAS - MDX - 从维度中读取多个属性

时间:2014-07-29 15:50:26

标签: sql-server ssas mdx adventureworks

例如,考虑到Adventure Works数据库,我想在行上显示帐户层次结构,在列上显示我想显示“帐户类型”属性。

此MDX在“帐户类型”列中显示“#Error”:

WITH MEMBER [Measures].[Account Type] AS [Account].[Accounts].[Account Type].CurrentMember.Name 
SELECT
    {[Measures].[Account Type]} ON 0,   
    (
        [Account].[Accounts].Members
    ) ON 1
FROM [Adventure Works]

知道如何改进它吗?

1 个答案:

答案 0 :(得分:0)

如果您在Management Studio中执行查询并将鼠标悬停在“#ERROR”上或双击显示“#ERROR”的单元格,则会显示错误消息,其中指出您使用{{{{{{{{ 1}}虽然期待层次结构。你应该使用

CurrentMember

而不是

[Account].[Accounts].CurrentMember.Properties("Account Type", TYPED)

访问属性。在这种特定情况下,[Account].[Accounts].[Account Type].CurrentMember.Name 的第二个参数可以省略,因为它声明结果应该作为属性的数据类型(例如整数或日期)返回。但是在这里,原来是一个字符串,所以你可以简单地使用

Properties

始终将属性作为字符串返回,与其类型无关。