見出し画像

TableauDATASaber挑戦 Ord8まとめ(後編)

こんにちは。今回はDATASaberのOrd8後半部分をまとめていきます。
LOD関数をベースにViz表現も活用しないと答えにたどり着けないような問題が続きます。気を抜かず最後まで行ってみましょう!


Ord8の学び(後編)

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

Q6.FIXED関数、DATEDIFF関数

「顧客毎の2回目の購入日」を出す必要があるが、まずは「2回目”以降”の購入日」を以下計算フィールドで算出する
(IF文で初回オーダー日より大きなオーダー日を真、それ以外を偽とする)

上記のMIN関数をFIXED関数に入れれば「顧客毎の2回目の購入日」が出せる
(KTさん自身もマジですかと言っていたけど…色々な手法がありますね)

さらにお馴染みのDATEDIFF関数で1回目と2回目の差を出す
※今回は日付部分が四半期”quarter”にするのがポイント

いきなりVIZ作りに入る前に、下記の様に並べて合っているかを確認するのがポイント!

下記のVizを作ることで答えを導くことができる
列=初回から2回目までのQ差
行=顧客毎の初回購入日(四半期単位)
マーク=顧客IDの個別カウント(色)

Q7.FIXED関数(INCLUDE関数)

まずはLODを使った方法。FIXEDで「オーダー日毎の売上」を出す

下記はKT動画で解説されていたINCLUDE関数を使う方法。KTさん曰く、(今回は結果が同じだが)、他のディメンションを検索条件で考慮する場合はFIXEDよりINCLUDEの方が優れているとのこと
→個人的理解では「FIXしないでどんな時もINCLUDE(含めて)計算してね」ということなのだろうか…う~ん正直理解が難しい

そしてオプション問題のLODを使わない方法。売上合計をオーダー日の個別カウントで割ることでも一日あたりの売上が出せる

以下の様にVizを作れば答えを導くことができる
※マークには平均を入れるのか正解なので要注意

Q8.FIXED関数(EXCLUDE関数)

まずはカテゴリ切替用のパラメータを作成
※文字で一致させるので、値も文字でカテゴリを入力

次に「もしカテゴリのパラメータとカテゴリが同じだったら売上」のIF文を作る。(下の式から作るのがポイント)
次にFIXED関数で四半期を固定する

次に上記計算フィールドを行に振り、連続から不連続に変更、簡易表計算で差にする

次に色を入れる。オーダー年を普通に入れると問題通りにならないので、
MIN関数で囲い、ステップドカラーで4つに区切れば問題通りに再現できる

ちなみにKT動画で解説されていたEXCLUDE関数は以下の通りで、先ほどのFIXED関数と入れ替えても結果は同じになる。

Q9.FIXED関数、DATEDIFF関数、ROUND関数

「顧客別の購入間隔の平均(初回購入~最終購入の月数÷購入回数)」を
計算フィールドで作る
※これまでのQで作ったものは使わず一から数式を作っています

以下の様な順番で作っていくのがおすすめ
※少数点が出るため最後にROUND関数で括る

上記で算出した顧客別の購入間隔月を列に、顧客IDの個別カウントと売上を行に入れると、最も購入間隔が多い5か月に対して、売上が多いのは4か月なので、1か月購入を早めてもらった方が良いという答えを導くことができる

Q10.データ結合

まずはスーパーストアサンプルとカスタマーマスターを顧客IDをKEYにして内部結合する(これがEXCELとCSVのクロスデータベース結合)

指定の都道府県リストをCtrl+Vでコピーして…

データソース画面でペーストする
※北海道がヘッダになってしまうのを防ぐため「フィールド名を自動に生成」を選択

先ほどのデータを別シートにコピペし、フィールドを分割する
都道府県の方の数式をコピーしておく

最初の接続画面に戻り、カスタマーデータの都道府県と、クリップボードの結合計算でコピペした数式を結合すると…

データ3つがすべてつながった状態になった!

計算フィールドで顧客毎の初回オーダー日とオーダー日が一緒だったらという式を作る

上記を行に入れることで真偽になるので今回は新規(真)を取りたいので、偽(既存)は非表示にする
※顧客数カウントは表計算で累計にする

最後に地域を色とラベルに入れれば答えを導くことができる


以上がOrd8後半部分のまとめでした(BonusQuesionは難しかった為今回は割愛させていただきます)
Ord8はLOD関数だけではなくデータ結合やViz表現など非常に難易度が高かった様に思います。何回か反復しないと真に理解をするのは難しいと感じましたので、また復習したいと思います。

では今回はこんなところで!

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