SSAS数据立方体,如何获得平均值而不是总和作为维度聚合?

时间:2016-05-06 17:22:16

标签: ssas mdx data-cube

我正在使用一个数据立方体,它具有一个百分比的计算成员,我需要将该成员的聚合作为平均而不是总和。

以下是Excel中的屏幕截图或多维数据集:

enter image description here

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

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

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

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

3 个答案:

答案 0 :(得分:2)

如果答案只是代表这个SELECT [UnitSMA] WHERE [OrderKey] = <OrderKey>,那么以下就足够了:

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

...所以我猜你的&#34;换句话说&#34;不正确吗?

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

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

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

答案 1 :(得分:0)

在聚合中选择平均值而不是在相关的右下角呈现图像中的总和。

更多deatil

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

答案 2 :(得分:0)

(代表OP发表答案)

出于某种原因,我不得不在.dsv中创建一个新的命名计算,它实际上只是&#34; 1,&#34;然后将连接的移动平均值除以该命名计算的移动平均值。现在它显示正确的聚合。 (只需除以1,甚至移动平均值为1,就不起作用,.dsv中必须有两个单独的列才能工作)。