見出し画像

20210809_連勝しよう #WOW2021 Week 30

Streaking とは 全裸で走り回るという意味以外に、勝つことが連続するという意味もあるそうです。

#WOW2021 | 30 | Let’s go Streaking!

今回取り組んだのはこれ

画像1

線グラフのところはそんなに難しくなさそうですが、緑色のポチや、左の項目のところにある数字などをどのように表現するかが難しそうというのが初見のイメージでした。そして実際その通りでした。

必要条件

1.ダッシュボードのサイズ 汎用デスクトップ
2.# シート数 - 1
3.各サブカテゴリーの月別売上高のステップライントレンドを作成する。
4.前の月よりも売上が高い月が連続している場合、その月をハイライトする。
5.使用されている色は、Tableauに同梱されている標準のグリーンパレットです。
6.新しいテーブル計算を楽しみながら学んでください。

https://www.deepl.com/translator で翻訳しました)
※元のお題では4が月ではなく週となっていましたが、内容的に月の誤りだろうと解釈してそのように修正しています。


今回の攻略ポイント:PREVIOUS_VALUE 関数

4.前の月よりも売上が高い月が連続している場合、その月をハイライトする。
6.新しいテーブル計算を楽しみながら学んでください。

これを見たときに、「PREVIOUS_VALUE関数」だ!と想起できなければ、その時点でこの勝負は負けなんでしょう。残念ながらまったく想起できてませんでした。(そういえば、この関数、Data Saber の技術試練で出てきたのを思い出しました。すっかり忘れていました。)

今回の攻略ノート

緑色のポチにたどり着くまでには、前の月よりも売上が高いかを、LOOKUP(SUM[Sales],-1) と SUM([Sales]を比較)し高い場合は1を立てる。それが連続している場合、PREVIOUS_VALUE関数で再帰的に足し上げる というステップとなります。この足し上げるところがスッとできるようになりたい…

自分にはまだ線グラフを見ながらこれをイメージするのが難しかったため、以下のExcelのように数表で確認しながら答えをなぞっていきました。

画像2

上記を見てもわかるように、今回の一番の山は PREVIOUS_VALUE 関数を用いた「Count the streaks」を作れたかになると思いました。そこが突破できれば、WINDOW_MAX 関数を使って対象の月をハイライトするところや、そのほかの項目を作ったり、表示を調整するところなどは、何とかなると思います。

その他のポイント

ソートをするために、マイナスの WINDOW_MAX を使った項目を作り、それを非表示にしていたりします。ここはぜひ元の Tableauファイルをダウンロードして中を見てみてください。(Tableauのソート順は、ときどきよくわからなくなるので、要修行のうちの1つです…)

今回作ったもの

なんとか形にすることができました。

画像3

↑ クリックするとTableau Public に飛びます

今回も答えを見ながらそれを再現することになってしまいましたが、非常に多くの学びがありました。なんとなく知っているレベルとそれを使えるレベルとは全然違うことや、一見単純に見えるものほど工夫が詰まっているのだなぁとも感じました。

また、挑戦したいと思います。ここまで読んでいただいた方、ありがとうございました!