
Tableau パラメーターで2つの日付の値を比較する
へりおん です。2回目となる今回もTableauのTipsになり、社内からよくいただく質問です。
■質問
任意の月で売上や利益の比較ってできる?
指定した2つの月の売上や利益を比較(差を見たい)したいということですね。それぞれx月、y月として任意に選択できるようにして以下のように表示できれば完成です。
※「サンプル -スーパーストア」のデータを例としています

■年月のパラメーターを作る
今回はパラメーターを利用したいと思います。月(正しくは年月)で比較したいということなのでパラメーターの下準備として、「オーダー日」から年月だけを引っ張り「オーダー年月」という計算フィールドを作ります。
年月のフィールドを作るために MAKEDATE関数、YEAR関数、MONTH関数 を利用してみましょう。
MAKEDATE関数・・・MAKEDATE( 2016, 5, 1) などで日付値を返す
YEAR関数、MONTH関数・・・指定された年、月の整数を返す

これで「オーダー日」の 日の部分が全て1(1日)となる「オーダー年月」の計算フィールドが出来上がります。

ここで一工夫。作成した「オーダー年月」を右クリックし「既定のプロパティ」>「並べ替え…」をクリック。並べ替え順序を「降順」にしておきます。理由は後ほど・・・

次に「パラメーターの作成」で名前を「x月」、データ型を「日付」、許容値を「リスト」にし、「ワークブックが開いている場合」を選択し、「オーダー年月」を選びます。すると値と表示名に「オーダー年月」が入ります。そして「表示形式」もyyyy年m月に書式を変えておきましょう。

できた「x月」のパラメーターを複製して「y月」を作ります。これでパラメーターの完成です。ちなみに「オーダー年月」を降順で並べ替えたので、「オーダー年月」も降順で表示されます。経験上、日付は新しい方を利用する事が多いので、これでスクロールを少なく済ませることができます。

■「x月」と「y月」の計算フィールドを作る
下図のように「売上_x月」と「売上_y月」の計算フィールドを作ります。

作成した2つの計算フィールドを分かりやすく説明すると、パラメーターで指定した年月の売上だけ集計され、それ以外は 0 になります。

この状態で「オーダー年月」とメジャーバリューの「売上」を取り除くと、「x月」と「y月」の売上だけが残ることになります。

あとは「売上_x月」と「売上_y月」の差を求める計算フィールドを作れば準備完了です。

■表を完成させる
ここまでできればあとは表を作るだけです。先ほど作成した「売上x-y」もメジャーバリューに追加し、書式設定で+や▲で差額を表示させましょう。またカテゴリなども行に入れてみるのもよいと思います。

タイトルの編集で、選択したパラメーターを追加し表示を整えれば、より分かりやすくなると思います。

また、棒グラフなどでより直感的に見れるようにしても良いですね。

■最後に
いかがだったでしょうか?「去年と比べて売上どう?」「先月と比べてどのカテゴリが厳しい?」みたいなことを(意味もなく)聞かれることもあると思いますが、慣れれば手軽に作れて簡単に答えられます。私は自身でダッシュボードを作る上でのデータチェック用として利用することもあります。
皆さんのご参考になれば幸いです!