1

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

此 MDX 在 Account Type 列上显示“#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]

知道如何改进吗?

4

1 回答 1

0

如果您在 Management Studio 中执行查询并将鼠标悬停在“#ERROR”上或双击显示“#ERROR”的单元格,则会显示错误消息,指出您使用元素表达式,CurrentMember而它预期等级制度。你应该使用

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

代替

[Account].[Accounts].[Account Type].CurrentMember.Name

访问属性。在这种特定情况下,Properties可以省略第二个参数 to,因为它表明结果应该作为属性的数据类型(例如整数或日期)返回。但是在这里,原始文件无论如何都是一个字符串,因此您可以简单地使用

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

它总是将属性作为字符串返回,与它的类型无关。

于 2014-07-30T07:35:35.720 回答