0

我有一个立方体

  • 两个度量成员:([Measures].[Value]整数)和[Measures].[EffectiveBelowLevel](整数)。
  • 一个名为 [DimParentChild] 的维度,其用户层次结构参差不齐,名为[ParentChildHierarchy].

我想在度量维度上创建一个计算成员,当查询时([Measures].[EffectiveValue])基于该成员,其行为如下:[Measures].[Value][DimParentChild][ParentChildHierarchy]

- [Measures].[Value] is used if the hierarchy level of [DimParentChild].[ParentChildHierarchy].CURRENTMEMBER > [Measures].[EffectiveBelowLevel].
 - 0 is used if the hierarchy level of [DimParentChild].[ParentChildHierarchy].CURRENTMEMBER <= [Measures].[EffectiveBelowLevel].

是否可以通过度量维度上的计算成员来实现此功能?

如果是,那么公式会是什么样子?

如果没有,那还有什么其他方法?我对任何其他类型的解决方案也很感兴趣(例如 mdx 查询等)

举个例子:

[措施] 
[价值] [EffectiveBelowLevel] ParentChildAssociation
10 1 孙子1
20 2 孙子2
[DimParentChild].[ParentChildHierarchy]
成员层次结构级别说明
家长 1 -
孩子 2 父母的第一个孩子
GrandChild1 3 Child 的第一个孩子
GrandChild2 3 Child的第二个孩子

有了这些数据 [Measures].[EffectiveValue] 应该是这样的

ParentChild EffectiveValue
家长 0
儿童 10
孙子1 10
孙子2 20
4

2 回答 2

0

我看到你也在这里发布了这个问题(最初是在 ssas msdn 论坛上看到的),所以我提供了我的答案的链接,因为它可能会帮助其他人。SSAS msdn论坛上的线程链接

@Marc - 由于这是父子维度的情况,并且 p/c 维度可以具有与非叶成员关联的数据,因此您的查询将不会返回正确的结果。我花了一些时间才弄清楚在这种情况下如何汇总儿童的正确结果,并建议您查看链接。题外话:祝你的产品好运,我希望有一天我能有时间评估它:)

问候, 赫尔沃耶

于 2011-04-02T18:47:22.313 回答
0

沿着线的东西怎么样(我不确定级别序数是否基于0):

with member xx as 
  Sum( [DimParentChild].[ParentChildHierarchy].currentMember as myCurrentMember,
    Sum( Descendants( myCurrentMember(0), 64, LEAVES ), 
         IIF( myCurrentMember(0).level.ordinal > [EffectiveBelowLevel], [Value], 0 ) 
    )
  )

select [xx] on 0, [DimParentChild].[ParentChildHierarchy].members on 1 from [...]

您可以在此处查看此 MDX 文档以获取更多详细信息。

于 2011-04-02T09:01:10.817 回答