見出し画像

TableauDATASaber挑戦 Ord8まとめ(前編)

こんにちは。今日はDATASaberのOrd8前半部分をまとめていきます。
ついにLOD関数やコンテナが登場。Ordクリアは出来たものの、自分で「今、何の値を求めたかったんだっけ?」と混乱してくる場面もあったので、1つ1つの関数やパラメータをしっかり理解しながら、手順を整えて解いていかないといけないなと思いました。それでは行ってみます!


Ord8の学び(前編)

重要と思ったポイントをピックアップしてまとめていきます

Q1.コンテナ、パラメーター

まず準備でQ1のダッシュボードで「すべてのシートの再表示」をする
パラメータを作り整数型、リストで3シートを表示名にして用意して、シート上にもパラメータを表示させる


次に計算フィールドで先ほどのパラメータを挿入し名前は
「画面切替F(フラグ)」とする

売上推移のパラメータを選んでから、画面切替Fをフィルタに入れると1だけ表示されるので決定ボタン

この作業を同様にパラメータ2でカテゴリ別売上、3で製品別売上を指定して繰り返す。

次にダッシュボードでコンテナを作る
今回はタイル形式の垂直コンテナをドロップし、作成したシート3つをドロップ

My Tips:コンテナとは…ワークシートを積み上げ(スタック)したり詰め込んだりして必要な時に出せるイメージを持つと良いかと思いました。

仕上げにタイトルを非表示にすると…

画面切替で選択したものがコンテナで可変表示されるようになった!

これは仕事でも今後使うであろうテクニックなので、このord以外にもコンテナを勉強していきたい。

Q2.FIXED関数、DATEDIFF関数、ビン

まずは基準日となる「全体での最新購入日」を以下FIXED関数で出す
※コロンの前は通常はFIXするフィールドが入るが、これは”全体の”最新購入日のため省略されている

次に「顧客毎の最新購入日」をFIXED関数で作る

確認用として、以下の様に行で並べてみると数式が正しいか把握しやすい
(→師匠の教え)

次にDATEDIFF関数で2つの日付の日数差を出す。

上記計算フィールドを右クリックして作成→ビンを選択
サイズは60にする(これは0~59という意味)

ビンを列にして顧客IDの個別カウントを行うことで答えを導くことができる

Q3.FIXED関数、INCLUDE関数

今回もFIXED関数で「顧客毎のオーダー回数」を算出する

右クリックで集計なしでオーダー回数を持ってきたら、不連続にして行には顧客IDの個別カウントを持ってくれば、最多回数は6回で141顧客という答えが導ける

【オプション問題】
これはなかなか解説が難しいですが…
INCLUDE関数でオーダーID毎の売上をまず作る
KTさん曰く「オーダーIDの粒度を足してね」とのこと
1回のオーダーで複数商品を買っている場合があり1レコードの平均を出すと答えにたどり着けないので、そこをまず束ねる必要があると自分は理解しました

最後に行に右クリックで上記の”平均”をもってくれば答えを導ける

Q4.FIXED関数、ビン

まだまだFIXED関数続きます
「顧客毎の合計売上」を作ります

上記をビンにして10万円で区切る

ビンと顧客IDの個別カウントをグラフ化すれば答えを導ける

My Tips:WINDOW_MAX関数
「WINDOW内(見えているもの)の最大値を返す」という意味
以下を色に入れることで、ウィンドウ内の顧客ID個別カウントで最大値のものがあれば真(True)を返し、それ以外は偽(False)を返す
WINDOW_MAX(COUNTD([顧客 Id]))=COUNTD([顧客 Id])
つまり最大値のみを簡単に色分けすることができる!

Q5.FIXED関数、100%棒グラフ

まず「顧客毎の初回購入日」を出すためにFIXED関数で作る

オーダー年毎の100%積み上げ棒グラフを作り、先ほどの計算フィールドを「色」に入れることで顧客毎に初回購入年を表すことができ、答えを導くことができる

以上がOrd8の前半部分まとめとなります
いやーFIXED関数の嵐でしたね(笑)
でもTableauは基本的に1シートでVizを作っていくので、その過程でFIXED関数やIF文やパラメータを裏でたくさん動かさないといけないのかな(というかそれがデフォルトなのか)と個人的に思いました。
では今回のこんなところで!次回はOrd8後半部分をまとめていきます。


この記事が気に入ったらサポートをしてみませんか?