具有SSAS 2008的MDX CurrentMember不';如MSDN所述,不工作

具有SSAS 2008的MDX CurrentMember不';如MSDN所述,不工作,ssas,mdx,ssas-2008,Ssas,Mdx,Ssas 2008,首先,我使用SQL Management Studio进行此查询(没有Excel 2007出现问题): 此查询提供一个项目列表,其中包含三个属性和一个基于我的计算集的计算成员。属性显示正确的值,但计算成员始终显示相同的值:应为其计算的第一个项目的结果 我真的不明白为什么,因为MSDN说: 当前成员在查询中轴上使用的层次结构上发生更改。 因此,同一服务器上其他层次结构上的当前成员 轴上未使用的尺寸也可以更改;这种行为 被称为“自动存在” 它们给出了计算成员的示例,但我认为这也适用于计算集,我已经了

首先,我使用SQL Management Studio进行此查询(没有Excel 2007出现问题):

此查询提供一个项目列表,其中包含三个属性和一个基于我的计算集的计算成员。属性显示正确的值,但计算成员始终显示相同的值:应为其计算的第一个项目的结果

我真的不明白为什么,因为MSDN说:

当前成员在查询中轴上使用的层次结构上发生更改。 因此,同一服务器上其他层次结构上的当前成员 轴上未使用的尺寸也可以更改;这种行为 被称为“自动存在”


它们给出了计算成员的示例,但我认为这也适用于计算集,我已经了解到基于查询的计算集本质上是动态的。也许有人能告诉我我是否理解错了,或者我的问题出在哪里。

在一个查询中,命名集只计算一次。这就是为什么计算成员总是返回相同的值

您只需从查询中删除命名集:

MEMBER [Measures].[Test] AS  {
    StrToMember("[Time].[Date].&[" + [Project].[ParentProject].CURRENTMEMBER.PROPERTIES("Project Start Iso") + "]"):
    StrToMember("[Time].[Date].&[" + [Project].[ParentProject].CURRENTMEMBER.PROPERTIES("Project End Iso") + "]")
}.COUNT

命名集在查询中只计算一次。这就是为什么计算成员总是返回相同的值

您只需从查询中删除命名集:

MEMBER [Measures].[Test] AS  {
    StrToMember("[Time].[Date].&[" + [Project].[ParentProject].CURRENTMEMBER.PROPERTIES("Project Start Iso") + "]"):
    StrToMember("[Time].[Date].&[" + [Project].[ParentProject].CURRENTMEMBER.PROPERTIES("Project End Iso") + "]")
}.COUNT

行得通,对吧。但它仍然没有解释为什么文档中会说一些不同的东西。希望微软能很快改变他们文档中混乱的信息。这很有效,对吧。但它仍然没有解释为什么文档中会说一些不同的东西。希望微软能尽快改变他们文档中混乱的信息。