MDX IIF 语句根据度量和层次叶计算新成员

MDX IIF statement to calculate new member basing on measure and hierarchy leaves

我有一个简单的数据立方体,用于使用一种度量 Amount 和一些维度和层次结构来计算共享支出,但有趣的是 Relationship。它描述了谁为谁买了东西。它的结构是:

我正在尝试编写表示债务的计算。例如,如果我为了共享使用而购买了一些东西,它将是 0.5 * Amount 的一半。另一方面,如果我为自己买东西,那就是 0 * Amount.

到目前为止,我尝试了以下计算:

IIF(
[dimRelationship].[Relationship].currentMember = [dimRelationship].[Relationship].[RelatonshipID].&[MeShared],
[Measures].[Amount]*0.5,
[Measures].[Amount]*0)

它仅在最低 RelationshipID 级别时有效。当我汇总浏览器 pivot-table 时,它根据 else-expression 进行操作。这并不奇怪,因为层次结构的 currentMember 不再是 MeShared。总聚合也不起作用的另一件坏事——作为一般性总结,这将是最重要的。有没有类似 .LeafMember 之类的后缀可以帮助我执行此计算?

提前致谢!

此致,

最大!

试试 SCOPE 语句。

首先,创建新的计算[Debt Calculation] as [Measures].[Amount]*0 /* as ELSE-scenario */

然后创建一个范围:

SCOPE([Debt Calculation],[dimRelationship].[Relationship].[RelatonshipID].&[MeShared]);
THIS=[Measures].[Amount]*0.5;
END SCOPE;

如果它是层次结构的最低级别并且是维度键(用作 link 来衡量组),它将自动 re-calc 此维度的更高级别。不行的话请post在这里给个结果

实际上 table 添加另一列,在此列中存储 "Amount" 乘以该特定行的 relationshipID。这将立即解决您的问题