我发现了这个小代码,它可以为我想要的所有维度/层次结构动态计算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 ;
我想使此MDX代码适用于任何Dimension.Hierarchy,而不考虑属性层次结构的数量(级别/秒)。
感谢您的帮助!
答案 0 :(得分:0)
您可以使用ShipmentEntity
函数代替父函数。它带有一个维度参数和第二个参数,该参数显示您想要获取多少个级别(要深入树中的深度)。因此,如果您知道维度有多少个级别,可以使用类似以下内容的方法:
form input[type=search] {
width: 60%;
/* font-size: 1.1em; -- not em */
font-size: 1.1rem; /* -- yes rem */
padding: .35em .4em;
line-height: 1.8em; /* -- add this - whatever height you want in em */
height: 1.8em; /* -- add this - whatever height you want in em */
box-sizing: border-box; /* -- you will probably want to add this because you are using padding */
}
除了数字,您还可以添加尺寸级别作为第二个参数。然后它将达到指定的维度级别的深度-因此,如果您添加根维度级别,则应该达到该级别
答案 1 :(得分:0)
(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;
我只需要对多维数据集中的每个[Dimension]。[Hierarchy]重复此范围,以使TOTAL对包括Power BI中多个维度在内的任何选择有效。它没有Axis()那样的动态功能,但是可以产生我需要的结果。
希望这对其他人也有帮助!