Tableauを極めるやってみた~Day2~
こんばんは!
担々麺っておいしいですよね。
というわけで、『Tableauを極める Day2』やっていきたいと思います!
Day2のお題はこちら!
はい!わかりません!
色々やってみましたが、できませんでしたぜ・・・!
「相対日付」を使うと記載ありますが、
〇月〇日から起算して、過去〇年・か月のデータを取得してくるものでしたよね・・?
「2年間」の過去2か月の算出は一体どうやるのでしょう・・?
STEP1
オーダー日を年に入れて不要な年を除外します。
今回使いたいのは2020年、2021年のみなので、2018年、2019年は除外します。
STEP2
売上をテキストに入れ、相対日付でフィルターをかけます。
はい、何も表示されなくなったー!
原因を探ってみる。
データ内の年月の最大値は「2021年12月」、本日は「2022年2月」
デフォルトの設定だと今日時点を参照するので、「2022年2月」の過去2か月は「22年1月~22年2月」・・・。何もデータがないということですね・・。
※相対日付の検索範囲は赤枠で参照可能!
というわけで、相対日付の基準アンカーを21年10月に設定します。
数値出ました!
課題の2021年の数値と一致しましたね。
しかし2021年の数値のみで2020年の数値が表示されていません。
今回の課題は、直近2年間の同じ期間を同時に表示することにより、比較をしたいという課題です!
STEP3
2020年を表示させるための計算式を作成します。
命名:日付フィルター!
DATEADD("year",
DATEDIFF("year",[オーダー日],today()),
[オーダー日])
年を今年にして返しちゃうよ計算式!
DATEDIFFで今年の日付との差を取得し、DATEADDでその分足してしまう。
具体的な日付で考えてみましょう。
※本日2022年2月10日
┃2018年1月1日の場合
DATEDIFFで「2022 - 2017 = 5」
DATEADDで「2017 + 5 = 2022」
┃2020年1月1日の場合
DATEDIFFで「2022 - 2020 = 1」
DATEADDで「2020 + 1 = 2022」
こう考えると非常にシンプル!
左が元のオーダー日、右が作成した計算式
全て2022年(今年)の日付に変換されていますね。
作成した日付フィルターの1月だけ保持してみます。
すると、元のオーダー日は2018年~2021年のデータはフィルターされずに、表示された状態になっていますね。
この計算式でフィルターをかければ、課題をクリアできそうです!
STEP4
最初のVizに戻り、作成した「日付フィルター」をフィルターに入れ、
相対日付で設定します。
※作成した日付フィルターは、今年の日付を参照するため、基準アンカーはいじらずデフォルトにしておく
今回は課題の数値に合わせたいので、「2022年10月1日」に設定
課題と同じ数値が出ました!
※計算式には、他の人が見てもどのような計算をしているのかわかるよう、
コメント残す癖を付けましょう!後から自分が見ても分かりやすい!
STEP5
最終形を整えまして・・・
無事完成しました!
どの期間でフィルターをかけているのか、わかりやすくするため、
アドホック計算でMIN、MAXのオーダー日を作成し表示しています。
このフィルターの掛け方は秀逸ですね!
この技は色々と応用が効きそうです!
『Tableauを極める』楽しすぎる・・・。
引き続きやっていきたいと思います!