1

言い換えれば、問題は、モデル レベルに存在しない列に基づいてピボット テーブルに計算を追加する方法です。

AdventureWorksDW2014サンプル データベースを使用して問題を再現しました。

各組織のFactFinanceテーブルで実績シナリオ金額と予算シナリオ金額の差を計算し、それをピボット テーブルの形式で表示するとします。

表形式モデル

これを実現するために、単純なモデル (上の画面) を作成し、 SumOfAmountメジャーをFactFinanceテーブルに追加しました。SumOfAmount:=SUM([Amount])

次に、Excel でモデルを開き、非常に単純なピボット テーブルを作成しました (以下を参照)。

ピボット フィールド ist エクセルでピボット

したがって、(質問の部分) ピボット テーブルに余分な列を追加したいと思います。これは、列ActualBudgetの間の何か (たとえば差) を計算する必要があります。そして、この新しい列をピボット テーブルの一部にしたいので、ピボット テーブルの「外部」を変更する必要なく、フィルタリングしたり、新しいグループ レベルを追加したりできます。


これまでに試したこと

計算フィールドを追加しようとしましたが、計算には「実際の」列しか使用できないようです。COLUMNS クアドラントの値に基づいてピボット テーブルに表示された列は、計算のソースとして使用できません。

ここに画像の説明を入力


最終的解決

Diff最終的に 2 つのピボット テーブルを結合しましたDiff:=[Actual Amount]-[Budget Amount]

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

@WimVが提案したように ここに画像の説明を入力

4

1 に答える 1

1

最初に計算されたメジャーは適切です。

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

次の計算メジャーを追加します (必要に応じて非表示としてマークします)。

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

たとえば、差分計算で新しい計算を使用できます

于 2016-04-21T21:02:55.450 に答える