Andrey Morozov
Andrey Morozov

Reputation: 7979

How to add calculated column to a pivot table connected to SSAS tabular model?

Or in another words the question is - how to add some calculation in the pivot table based on columns which do not exist in model level.

I've reproduced my problem using AdventureWorksDW2014 sample database.

Let's say I want to calculate difference between Actual and Budget scenario amounts in the FactFinance table for each Organisation and present it in a form of pivot table.

tabular model

To achieve that I've created a simple model (screen above) and added SumOfAmount measure to the FactFinance table SumOfAmount:=SUM([Amount])

Next, I've opened my model in Excel and created very simple pivot table (shown below)

pivot field ist pivot in excel

So, (the question part) now I want to add an extra column to my pivot table, which should calculate something (for example difference) between columns Actual and Budget. And I want this new column been a part of the pivot table so I could filter it or\and add new grouping levels without necessity to change something "outside" the pivot table.


TRIED SO FAR

I tried to add Calculated Field but it seems like I can only use "real" columns for calculations. Columns which appeared in a pivot table based on values from COLUMNS quadrant can't be used as sources for calculations.

enter image description here


FINAL SOLUTION

I got it finally combined two pivot tables: the old one and the one with Diff measure, defined as Diff:=[Actual Amount]-[Budget Amount], where

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

as @WimV suggested enter image description here

Upvotes: 1

Views: 2049

Answers (1)

WimV
WimV

Reputation: 1005

First calculated measure is good:

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

Add the following Calculated measures (if needed mark as hidden):

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

You can use the new calculations for example in a difference calculations

Upvotes: 1

Related Questions