【问题标题】:How to add calculated column to a pivot table connected to SSAS tabular model?如何将计算列添加到连接到 SSAS 表格模型的数据透视表?
【发布时间】:2023-04-01 06:51:01
【问题描述】:

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

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

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

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

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

所以,(问题部分)现在我想在我的数据透视表中添加一个额外的列,它应该计算列 ActualBudget 之间的一些东西(例如差异) >。我希望这个新列成为数据透视表的一部分,这样我就可以对其进行过滤或\并添加新的分组级别,而无需更改数据透视表“外部”的内容。


到目前为止尝试过

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


最终解决方案

我终于得到它结合了两个数据透视表:旧的一个和一个带有Diff 度量的数据透视表,定义为Diff:=[Actual Amount]-[Budget Amount],其中

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

正如@WimV 建议的那样

【问题讨论】:

    标签: excel pivot sql-server-2014 dax ssas-tabular


    【解决方案1】:

    第一个计算的度量是好的:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      相关资源
      最近更新 更多