首页 文章

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

提问于
浏览
1

或者换句话说,问题是 - 如何根据模型级别中不存在的列在数据透视表中添加一些计算 .

我使用 AdventureWorksDW2014 示例数据库重现了我的问题 .

假设我想计算每个组织的 FactFinance 表中的实际和预算方案金额之间的差异,并以数据透视表的形式显示它 .

tabular model

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

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

pivot field ist

pivot in excel

所以,(问题部分)现在我想在我的数据透视表中添加一个额外的列,它应该计算列 ActualBudget 之间的某些内容(例如差异) . 我希望这个新列成为数据透视表的一部分,因此我可以过滤它或\并添加新的分组级别,而无需更改某些内容"outside"数据透视表 .


TRIED SO FAR

我试图添加 Calculated Field 但似乎我只能使用"real"列进行计算 . 基于COLUMNS象限的值出现在数据透视表中的列不能用作计算源 .

enter image description here


FINAL SOLUTION

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

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

正如@WimV建议
enter image description here

1 回答

  • 1

    首先计算出来的措施很好:

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

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

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

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

相关问题