1

我正在使用一个数据多维数据集,该数据立方体的计算成员是百分比,我需要让该成员的聚合成为平均值而不是总和。

这是 Excel 中的屏幕截图或立方体:

在此处输入图像描述

粗体百分比是一个总和,对于百分比没有意义。我怎样才能让它们成为分组百分比的平均值?

Unit ID 是一个维度,Order ID 是一个单独的维度。订单包含一组单位 ID。我试图为订单创建一个单独的计算成员,但我不知道如何在 MDX 中表示这个集合,尽管在 SQL 中它会很容易。

换句话说,我想将以下 SQL 语句表示为 MDX 中的一个集合:

SELECT [UnitSMA] WHERE [OrderKey] = <OrderKey>
4

3 回答 3

2

如果答案真的只是为了代表这一点SELECT [UnitSMA] WHERE [OrderKey] = <OrderKey>,那么以下内容就足够了:

EXISTS(
  [fact connectivity].[UnitSMA].MEMBERS 
 ,[fact connectivity].[OrderKey].[<OrderKey>]
)

...所以我猜你的“换句话说”是不正确的?


EXISTS- 这里是 MSDN:https ://msdn.microsoft.com/en-us/library/ms144936.aspx?f=255&MSPPError=-2147217396

如果您通过使用第二个层次结构中的成员来查找一个层次结构中的成员,并且两个层次结构都是同一维度的一部分,那么上面的 Exists 版本就可以了。

如果成员来自不同的维度,那么您需要使用 Exists 的第二种形式,其中包含第三个参数 - 这是链接两个维度的度量值组的名称。

于 2016-05-06T23:00:52.337 回答
0

选择聚合中的平均值,而不是右下角的总和,呈现有问题的图像。

更多细节

https://support.office.com/en-us/article/Aggregations-in-Power-Pivot-f36a448a-4962-4baf-baa2-68187b6387ce

于 2016-05-07T03:19:56.563 回答
0

(代表 OP 发布答案)

出于某种原因,我必须在 .dsv 中创建一个新的命名计算,它实际上只是“1”,然后将连通性的移动平均值除以该命名计算的移动平均值。现在它正在显示正确的聚合。(仅除以 1,甚至 1 的移动平均线都不起作用,.dsv 中必须有两个单独的列才能起作用)。

于 2016-06-05T10:48:10.693 回答