CALCULATE関数は、最も重要なDAX関数になります。
この関数を使わない事には、パワーピボットを勉強する意味もなくなってしまうほどです。
Excel関数に慣れていると少し理解しがたい部分もありますが、この関数をマスターすれば、パワーピボット脱初心者となります。
CALCULATE関数とは
CALCULATE関数について、公式の説明によると次のように表現されています。
変更されたフィルター コンテキストでテーブル式を評価します。
これだけでは、全然わからないのは当然なので、とにかく使って慣れましょう。
データの準備をする
まずは、次のデータテーブルを用意し、売上合計のメジャーを作成します。
テーブル名:売上データ
売上合計
:=SUM([売上])
CALCURETE関数を使ってみる
さっそく、CALCURETE関数を使います。
CALCULATE関数は、(式 , 変更したい条件)で記述するのがルールです。
以下のメジャーを作成してみましょう。
売上_ALL
:=CALCULATE([売上合計],ALL('売上データ'))
ピボットテーブルに出力する
このメジャーを使用して、ピボットテーブルで出力すると次のような結果となります。
ALL関数は、すべてのフィルターを無効にする関数です。
ピボットテーブルにかかっている「A本部」「a商品」といったフィルターを、
すべて無視して最後の合計値だけを表示しています。
つまりこの場合、
売上合計(:=SUM([売上]))という計算式については、フィルター(〇〇本部とか)を全部無視してください。
という条件で指定したことになります。
フィルターを上書きする
今度は、フィルターを解除するのではなく上書きをしてみます。
次のDAX式を記入します。
売上_a商品:=CALCULATE([売上合計],'売上データ'[商品名]="a商品")
ピボットテーブルに出力してみます。
今度は、ピボットテーブル上の「商品名」にかかっているピボットテーブルのフィルターが無視されて、全て「a商品」の売上合計が表示されました。
このようにCALCULATE関数は、ピボットテーブルなどすでにあるフィルターを解除したり別のフィルターで上書きしたりすることができます。
コメント