▶ 中間テーブルを作ってリレーションシップの設定をする方法はこちらをご覧ください
▶ カレンダーテーブルの作成方法はこちらの投稿をどうぞ
はじめに
今回はDAX関数の中でもとても重要な関数となるCalculate関数について解説します。Calculate関数の基本を確認した後は実際によく使われる利用シーンとして、前年データと比較をおこない「前年差異」を計算する方法をみていきましょう。
前年差異の計算
Calculate関数
まずはCalculate関数の書式を確認しておきましょう。
Calcuate関数の1つめの引数はexpressionで「評価される式」です。「評価される式」になんのこっちゃと思いますよね。要は「計算したいもの」です。先に何をやりたいか、どんな計算をしたいかを第1引数として渡します。次に、計算するにあたっての条件を指定します。それが第2引数のfilterの部分です。
Calculate関数は別の投稿でも扱うことにしますが、この基本を押さえておけば、前年差異の算出は簡単にできます。
前年差異の計算
早速、前年差異を算出していきましょう。今回のサンプルデータは以下のような、年度ごとの来場者数のデータです。
年度ごとの来場者数のデータが与えられています。前年伸長を算出するにあたり、まずは、来場者数の横に「前年来場者数」の列をつくることにしましょう。
まず、データ画面を開いて、フィールドのテーブルの上で右クリックしてメニューを表示し「新しい列」を選択します。
前年来場者数を取得するには、現在の「年度」から1を引いた「前年度」の情報が必要です。これをpreという変数に入れています。次に「前年来場者数」を抽出する際にCalculate関数を使っています。まずは取得したい計算式を指定します。ここでは来場者数をSumしていますが、Averageとしても同じ結果となります。これは次の第二引数で条件を指定することで値が1つとなるためです。1つなのでSumしてもAverageしても同じです。
「前年来場者数」の列を追加する際に変数を使っています。DAXにおける変数の基本を確認したい場合は以下の投稿を参考にしてください。
「前年来場者数」が算出できたので、「前年差異」は簡単ですね。同じように「新しい列」を追加します。
今度は変数を使うまでもないですね。「来場者数」から「前年来場者数」をひくだけなので、上記のように簡単に「前年差異」の列を作ることができます。
まとめ
今回はCalculate関数を使って前年差異を抽出する方法を解説しました。Calculate関数は頻出なのでこの機会に覚えておきましょう。Calculate関数はフィルターを複数追加したり、逆にフィルターを削除することもできます。この辺は別の記事でご紹介します。
コメント