如何在MDX中创建新列?选择的尺寸并不重要。我只想要所选数据的行数/总和。我不是mdx专家......
以下当前代码:
CREATE MEMBER CURRENTCUBE.[Measures].[Weight]
AS IIF([Measures].[Sales Line Amount AC Budget hidden] <> 0,
Divide([Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(Root(),[Measures].[Sales Line Amount AC Budget hidden])),NULL),
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'Sales Forecast' ;
嗨,他们是同一列......我只是引用一个隐藏的列,这样我就可以更改它的属性,而不会影响原始度量。你确定MDX会给我我想要的结果吗?这可能是格式化问题吗?该度量的格式为#,0.00
答案 0 :(得分:3)
OK! 我想我明白你想要的尝试这个。使用Root,您可以从所有维度获得全部。
Divide(
[Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(
Root()
,[Measures].[Sales Line Amount AC Budget hidden]
)
)
编辑:
不要认为有一种相当简单的方法可以做到这一点。也许看看Axis(1)而不是root。
我没有在查询中只在一个多维数据集中尝试这个...并且它有效..
Divide(
[Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(
Axis(1)
,[Measures].[Sales Line Amount AC Budget hidden]
)
)
EDIT2:
因为您希望这与Excel一起使用。没有明确的方法可以让它在不知道你想要“重量”的确切尺寸的情况下工作。 Excel使用子立方体,这意味着,轴功能实际上返回该轴的所有成员。
没有办法确切知道哪些成员实际显示在MDX中。这应该是客户端计算。
只需选择转到OPTION的字段并转到“将值显示为”,即可在EXCEL中轻松完成此操作。 “%Grand Total”将为您提供您正在寻找的百分比。