我发现这个小代码而动态计算TOTAL
献给所有维度/层次我想。
这是接近我的需要,但不会为具有不同数量的层级(属性层次结构)的外形尺寸工作。 目前代码只如果只有一个,因为属性层次工程CurrentMember.Parent
。 我可以用CurrentMember.Parent.Parent
为Dimension.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 ;
我愿作任何Dimension.Hierarchy此MDX代码的工作,无论属性层次(水平/秒)的数量。
任何帮助表示赞赏!
您可以使用ancestors
函数,而不是父母。 它需要一个尺寸参数,这表明你要多少级获得(在树有多深去),第二个参数。 所以,如果你知道有多少水平维度有,你可以使用这样的:
Ancestors(Axis(1).Item(0).Item(0).Dimension.CurrentMember, 5)
取而代之的是一些你还可以添加一个维度级别作为第二个参数。 然后,它会去深如指定的维度级别 - 因此,如果您添加根维度级别应该到那里
(Axis(1).Item(0).Item(0).Dimension.Levels(0).Item(0), [Measures].[On Hand Amount])
上面给了我正确的答案, 总的措施对任何尺寸的动态选择,但这MDX计算不会从PowerBI(DAX)报告,该报告只是PowerBI的限制下进行工作。
我得到了TOTAL这个现在的工作 -
SCOPE(DESCENDANTS([Warehouses].[Warehouses],,AFTER));
[Measures].[Total On Hand Amount] = (ROOT([Warehouses]),[Measures].[On Hand Amount]);
END SCOPE;
我只是重复此范围内的每个[维度]。[层次]多维作出任何选择,包括从电源BI多个维度的总功。 它没有像轴动态功能()一样,但它得到我需要的结果。
希望这会帮助别人过!