或者换句话说,问题是 - 如何根据模型级别中不存在的列在数据透视表中添加一些计算。
我已经使用AdventureWorksDW2014示例数据库重现了我的问题。
假设我想计算FactFinance表中每个组织的实际和预算方案金额之间的差异,并以数据透视表的形式呈现。
为了实现这一点,我创建了一个简单的模型(上面的屏幕)并将SumOfAmount度量添加到FactFinance表SumOfAmount:=SUM([Amount])
接下来,我在 Excel 中打开了我的模型并创建了非常简单的数据透视表(如下所示)
所以,(问题部分)现在我想在我的数据透视表中添加一个额外的列,它应该计算Actual和Budget列之间的一些东西(例如差异)。我希望这个新列成为数据透视表的一部分,这样我就可以过滤它或添加新的分组级别,而无需更改数据透视表“外部”的内容。
到目前为止尝试过
我尝试添加计算字段,但似乎我只能使用“真实”列进行计算。基于 COLUMNS 象限中的值出现在数据透视表中的列不能用作计算源。
最终解决方案
我终于得到它结合了两个数据透视表:旧的一个和一个有Diff
度量的,定义为Diff:=[Actual Amount]-[Budget Amount]
,其中
Actual Amount:=Calculate([SumOfAmount];'DimScenario'[ScenarioName] = "Actual")
Budget Amount:=Calculate([SumOfAmount];'DimScenario'[ScenarioName] = "Budget")