首页 > 解决方案 > 具有多个属性层次结构的计算成员 - MDX

问题描述

我找到了这个小代码,它可以TOTAL为我想要的所有维度/层次结构动态计算 s。

这接近我所需要的,但不适用于具有不同数量的层次结构级别(属性层次结构)的维度。当前代码仅在只有一个属性层次结构时才有效,因为CurrentMember.Parent. 我可以使用CurrentMember.Parent.ParentDimension.Hierarchy有两个级别,依此类推,但不适用于只有一个属性层次结构(级别)的那些。

CALCULATE;     
CREATE MEMBER CURRENTCUBE.[Measures].[Total On Hand Amount]
AS ([Measures].[On Hand Amount],Axis(1).Item(0).Item(0).Dimension.CurrentMember.Parent), 
FORMAT_STRING = "#,#", 
VISIBLE = 1  ;

我想让这个 MDX 代码适用于任何 Dimension.Hierarchy,无论属性层次结构(级别/秒)的数量如何。

任何帮助表示赞赏!

标签: ssasmdxcube-script

解决方案


(Axis(1).Item(0).Item(0).Dimension.Levels(0).Item(0), [Measures].[On Hand Amount])

上面给了我正确的答案,total 用于衡量任何维度的动态选择,但这个 MDX 计算不适用于 PowerBI(DAX) 报告,这仅仅是 PowerBI 的限制。

我得到了 TOTAL 现在处理这个 -

SCOPE(DESCENDANTS([Warehouses].[Warehouses],,AFTER));          
[Measures].[Total On Hand Amount] = (ROOT([Warehouses]),[Measures].[On Hand Amount]);
END SCOPE;

我只需为多维数据集中的每个 [Dimension].[Hierarchy] 重复此 SCOPE,以使 TOTAL 适用于任何选择,包括来自 Power BI 的多个维度。它没有 Axis() 那样的动态功能,但它产生了我需要的结果。

希望这对其他人也有帮助!


推荐阅读