如何将计算列添加到连接到SSAS表格模型的数据透视表?

换句话说,问题是 – 如何在数据透视表中添加一些基于模型级别不存在的列的计算。

我使用AdventureWorksDW2014示例数据库再现了我的问题。

假设我想计算FactFinance表中每个组织的实际和预算情景金额之间的差异,并以数据透视表的forms显示。

表格模型

为了实现这一点,我创build了一个简单的模型(上面的屏幕),并将SumOfAmount度量添加到FactFinanceSumOfAmount:=SUM([Amount])

接下来,我在Excel中打开了我的模型,并创build了非常简单的数据透视表(如下所示)

枢轴字段ist 在Excel中转​​动

所以,(问题部分)现在我想添加一个额外的列到我的数据透视表,它应该计算列( 实际预算之间的差异)。 而且我希望这个新列成为数据透视表的一部分,所以我可以过滤它或\并添加新的分组级别,而不必更改数据透视表之外的内容。


试了很远

我试图添加计算字段,但它似乎只能使用“真实”列进行计算。 基于来自COLUMNS象限的值出现在数据透视表中的列不能用作计算来源。

在这里输入图像说明


最终的解决scheme

我得到它最后结合了两个数据透视表:旧的和Diff测量,定义为Diff:=[Actual Amount]-[Budget Amount] ,其中

 Actual Amount:=Calculate([SumOfAmount];'DimScenario'[ScenarioName] = "Actual") Budget Amount:=Calculate([SumOfAmount];'DimScenario'[ScenarioName] = "Budget") 

正如@WimV所build议的那样 在这里输入图像说明

首先计算的措施是好的:

 SumOfAmount:=SUM('FactFinance'[Amount]) 

添加以下计算度量值(如果需要标记为隐藏):

 Budget Amount:=Calculate([SumOfAmount],'DimScenario'[Scenariokey] = "Budget") Actual Amount:=Calculate([SumOfAmount],'DimScenario'[Scenariokey] = "Actual") 

例如,您可以在差异计算中使用新计算