覆盖计算成员(SSAS)上的上下文维度

覆盖计算成员(SSAS)上的上下文维度,ssas,mdx,Ssas,Mdx,让我们假设一个简单的场景:一个具有两个维度D1和D2的事实表F F D1 D2 10 A B 15 B C 在这个场景中,我使用一个比这个更接近的表达式定义了一个新的计算成员C1: with member measures.C1 as sum( descendants( [D1].[Ds].currentMember, , leaves ), [myMeasure] ) select measures.C1 on 0, [D2].[Ds].AllMemb

让我们假设一个简单的场景:一个具有两个维度D1和D2的事实表F

F   D1   D2
10   A   B
15   B   C
在这个场景中,我使用一个比这个更接近的表达式定义了一个新的计算成员C1:

with member measures.C1 as
sum(
   descendants( [D1].[Ds].currentMember, , leaves ),
   [myMeasure]
)
select 
 measures.C1 on 0,
[D2].[Ds].AllMembers on 1
   from [MyCube]
如何修改C1以始终合并表达式中的所有D2成员

我得到了这样的结果:

C1  D2
10  B
15  C
我在找这个:

C1  D2
35  B
35  C
(当然,这是实际问题的简化,请不要尝试修复C1表达式,只添加代码以获得预期结果,我已尝试使用:

sum(
   { descendants( [D1].[Ds].currentMember, , leaves ),
     [D2].[Ds].AllMembers },
   [myMeasure]
(未成功)


关于。

对于此特定示例,请将您的会员声明更改为以下内容

WITH MEMBER [Measures].[C1] AS
SUM([D1].[Ds].[All], [myMeasure])
这将为您提供该维度中的所有度量。然后,应该为D2维度中的每个属性重复该值


根据问题的标题和你的一些文章,这只是一个小例子。也许你需要调查一下。它非常强大,你可以用它做一些简单的事情。

我不确定我是否理解你想要的输出。你能解释一下为什么35 B会显示两次吗?@Rick,谢谢你的评论。答案是固定的。