言い換えれば、問題は、モデル レベルに存在しない列に基づいてピボット テーブルに計算を追加する方法です。
AdventureWorksDW2014サンプル データベースを使用して問題を再現しました。
各組織のFactFinanceテーブルで実績シナリオ金額と予算シナリオ金額の差を計算し、それをピボット テーブルの形式で表示するとします。
これを実現するために、単純なモデル (上の画面) を作成し、 SumOfAmountメジャーをFactFinanceテーブルに追加しました。SumOfAmount:=SUM([Amount])
次に、Excel でモデルを開き、非常に単純なピボット テーブルを作成しました (以下を参照)。
したがって、(質問の部分) ピボット テーブルに余分な列を追加したいと思います。これは、列ActualとBudgetの間の何か (たとえば差) を計算する必要があります。そして、この新しい列をピボット テーブルの一部にしたいので、ピボット テーブルの「外部」を変更する必要なく、フィルタリングしたり、新しいグループ レベルを追加したりできます。
これまでに試したこと
計算フィールドを追加しようとしましたが、計算には「実際の」列しか使用できないようです。COLUMNS クアドラントの値に基づいてピボット テーブルに表示された列は、計算のソースとして使用できません。
最終的解決
Diff
最終的に 2 つのピボット テーブルを結合しましたDiff:=[Actual Amount]-[Budget Amount]
。
Actual Amount:=Calculate([SumOfAmount];'DimScenario'[ScenarioName] = "Actual")
Budget Amount:=Calculate([SumOfAmount];'DimScenario'[ScenarioName] = "Budget")