Ssas MDX错误:在子多维数据集中引用计算的度量值(与成员一起使用)将返回错误

Ssas MDX错误:在子多维数据集中引用计算的度量值(与成员一起使用)将返回错误,ssas,mdx,Ssas,Mdx,我对MDX很陌生。你能帮我澄清一下这个概念吗。谢谢你的帮助 下面是执行得非常好的MDX查询 with member [measures].[perc] as ([Dim Customer].[Customer ID].currentmember,[Measures].[Amount]) select [measures].[perc] on 0, [Dim Customer].[Customer ID].children on 1 from [Analysis DW] 但是,当我尝试引用[m

我对MDX很陌生。你能帮我澄清一下这个概念吗。谢谢你的帮助

下面是执行得非常好的MDX查询

with member [measures].[perc] as
([Dim Customer].[Customer ID].currentmember,[Measures].[Amount])

select
[measures].[perc] on 0,
[Dim Customer].[Customer ID].children on 1
from [Analysis DW]
但是,当我尝试引用[measure].[perc]时,我得到一个错误,即“解析字符串[measures].[perc]时,在多维数据集中找不到“[perc]”成员。

请在下面找到错误mdx脚本以供参考-

with 
 member [measures].[perc] as
([Dim Customer].[Customer ID].currentmember,[Measures].[Amount])

select [measures].[perc]  on 0
from
    (
       select
       [measures].[perc] on 0,
       [Dim Customer].[Customer ID].children on 1
        from [Analysis DW]
     )
你为什么不试试呢

     with 
     member [measures].[perc] as
     ([Dim Customer].[Customer ID].currentmember,[Measures].[Amount])

     select
     [measures].[perc] on 0,
     [Dim Customer].[Customer ID].children on 1
     from [Analysis DW]
迟到了很多,但我认为这可能会让有类似问题的人受益。

MDX查询失败,因为计算的度量值与子多维数据集的上下文无关。您正在MDX select代码段上方声明[Measures].[perc]。因此,在设计上,它对跟随它的选择是可见的但是它对选择中的子多维数据集不可见。因此,下面的代码对SSAS引擎毫无意义

   select
   [measures].[perc] on 0, //Compiler is like .... WHAT THE %@#^ ??
   [Dim Customer].[Customer ID].children on 1
   from [Analysis DW]
这和写作一样好

   select
   [measures].[RandomGarbageName] on 0, 
   [Dim Customer].[Customer ID].children on 1
   from [Analysis DW]

希望这能有所帮助。

谢谢布比什的回答。我知道我可以在不使用子选择的情况下获得上述示例的结果。在这里,我很想知道为什么不能在子选择中选择计算成员。如果我能够在子选择中引用calculated with成员,我将能够轻松解决一些复杂的场景。