CALCULATE関数

パワーピボット 基本

CALCULATE関数は、最も重要なDAX関数になります。
この関数を使わない事には、パワーピボットを勉強する意味もなくなってしまうほどです。

Excel関数に慣れていると少し理解しがたい部分もありますが、この関数をマスターすれば、パワーピボット脱初心者となります。

CALCULATE関数とは

CALCULATE関数について、公式の説明によると次のように表現されています。

変更されたフィルター コンテキストでテーブル式を評価します。

これだけでは、全然わからないのは当然なので、とにかく使って慣れましょう。

データの準備をする

まずは、次のデータテーブルを用意し、売上合計のメジャーを作成します。

テーブル名:売上データ

売上合計
  :=SUM([売上])

CALCURETE関数を使ってみる

さっそく、CALCURETE関数を使います。

CALCULATE関数は、(式 , 変更したい条件)で記述するのがルールです。
以下のメジャーを作成してみましょう。

売上_ALL
  :=CALCULATE([売上合計],ALL('売上データ'))

ピボットテーブルに出力する

このメジャーを使用して、ピボットテーブルで出力すると次のような結果となります。

ALL関数は、すべてのフィルターを無効にする関数です。
ピボットテーブルにかかっている「A本部」「a商品」といったフィルターを、
すべて無視して最後の合計値だけを表示しています。

つまりこの場合、
売上合計(:=SUM([売上]))という計算式については、フィルター(〇〇本部とか)を全部無視してください。
という条件で指定したことになります。

フィルターを上書きする

今度は、フィルターを解除するのではなく上書きをしてみます。

次のDAX式を記入します。

売上_a商品:=CALCULATE([売上合計],'売上データ'[商品名]="a商品")

ピボットテーブルに出力してみます。

今度は、ピボットテーブル上の「商品名」にかかっているピボットテーブルのフィルターが無視されて、全て「a商品」の売上合計が表示されました。

このようにCALCULATE関数は、ピボットテーブルなどすでにあるフィルターを解除したり別のフィルターで上書きしたりすることができます。

仕事の生産性の人気オンラインコース

コメント