Ord8復習

お疲れ様です。
本日はOrd8の復習をします。
Ord8は今まで習ったテクニックの応用的な問題が毎回出てきて、何度練習しても復習したりないと思ってしまう問題ばかりです。
いつも以上に自分が見直すための復習ノートになっています…。

★★Ord1

グラフの切替をするために「パラメータ」「パラメータを計算フィールドに使う」「ディメンションフィルター」など、今まで習ったことがたくさん出てくる問題。

★★★Q2

FIXED計算、DATEDIFF関数、DATEDIFF関数で出した計算式でビンを作成する、WIDOW_MAX関数
ここでも今まで習ったテクニックがたくさん出てくる。

各顧客ごとの①最新購入日から②最終購入日までの日数が60日未満の人が何人いるかを答える問題。
①[各顧客の最後のオーダー日]顧客ID FIXED計算 MAX(オーダー日)を出す。つまり各顧客ごとで日付が変わってくる。
[最新データ]FIXED計算 MAX(オーダー日)を出す。
つまり全てのオーダーの中で一番最新の日付ということでどの顧客もすべて同じ日付ということになる。
③[]DATEDIFF関数で①ー②で日数の差を出す。

③の日数の差でビンを作成する。
目立たせたい部分の強調にWINDOW_MAX関数、COUNTD関数を使う。

★★★Q3

Q3と似たような問題ではあるが、またFIXED計算が出てくる。
また恐らくOrd課題で初めてINCLUDE計算が出てくる。
顧客IDごとのオーダーIDのカウント。顧客ごとに何回オーダーしているかを出している。
またINCLUDE オーダーID SUM関数(売上)を出している。

顧客IDごとのオーダーIDのカウントでビンを作成する。ビンのサイズを1づつにすることで何回オーダーしているかが分かりやすい。
目立たせたい部分の強調にWINDOW_MAX関数、COUNTD関数、AVG関数を使う。
INCLUDE計算→例えばViz上に[オーダーID]が使われていなくてもオーダーIDごとの売上などを出すことが出来る。

★★★Q4

Q2,Q3と同じく、FIXED計算(Q2ではビン作成の前に関数計算を挟んでいるが)→ビンの作成。テクニックの併用。
顧客ID FIXEDのSUM関数(売上)を出して、ビンを作成する。
目立たせたい部分の強調にWINDOW_MAX関数、COUNTD関数を使う。

★★Q5

顧客ID FIXEDのMIN関数(オーダー日)各顧客が初回オーダーした日付を出す。
売上の簡易表計算で全体に対する割合を選び、100%のうちどれくらいを占めているかが分かりやすくなる。

★★★Q6

コホート分析をする問題。
1回目オーダー日と2回目オーダー日でどれくらい期間が空いているかを四半期ごとで出す。
Q5で作成した各顧客が初回オーダーした日付を使用する。
FIXED関数をいくつも使って、1回目オーダー日と2回目オーダー日の差を出している。

今回各顧客ごとの2回目のオーダー日を出している。
そのために2回目以降にオーダーした日付、2回目にオーダーした日付を出す。
まず2回目以降にオーダーした日付。
IIF関数で各顧客が初回オーダーした日付よりオーダー日のほうが後 という式を組み、真の場合はオーダー日を返し偽の場合はnullを返す。
次は2回目にオーダーした日付。
顧客ID FIXEDのMIN関数([2回目以降にオーダーした日付])
を出す。

そして各顧客が初回オーダーした日付 ー 2回目にオーダーした日付 をDATEDIFF関数で出す。

★★Q7

1日当たりの売上を オーダー日 INCLUDE計算のSUM関数(売上) で出す。
Q6のようにFIXED計算をいくつも使ってはいないが、INCLUDE計算が出てくるところが難しい。
また合計売上ではなく、平均売上を出す。問題文をよく読む。

★★★★Q8

Ord8の中で一番難しいと思った問題。
・売上の差という初めて使う値の表現。(売上の差とは前クオーター合計売上と今クオーター合計売上の差ということ?マイナスのものからプラスのものもある)
・INCLUDE計算(Viz上でカテゴリが使われていてもいなくても、カテゴリ別の売上を出す式を作るために使う)
・パラメーターと計算式。

メジャーは売上の差で、カテゴリごとに表示している。
オーダー日は四半期ごと。
まずはカテゴリのパラメーターを作る。カテゴリなので文字列型で作る。
次に売上の差がマイナスからプラスでソートできるようにする用の売上を作成する。
カテゴリ INCLUDE計算のSUM関数(IF文でカテゴリが先程作成したソートカテゴリの場合は真で合計売上を出す、偽なら何もしない)
という式を組む。
ソート用に作成したのでViz上で不連続にして、数値をメジャーとしてではなく属性として持たせる。
203年から2016年まで表示されているので、年を4色で分けたい。
MIN関数とYEAR関数(オーダー日)で式を組む。

★★★Q9

顧客別の購入間隔の平均を出すまでが難しい問題。
①初回購入~最終購入までの月数をFIXED計算とDATEDIFF関数で出す。
 顧客ID FIXED計算のDATEDIFF(月、MIN(オーダー日)、MAX(オーダー日))
②顧客別購入回数をFIED計算とCOUNTD関数で出す。
 顧客ID FIXED計算のCOUNTD(オーダーID)
② ROUND(①/②) で顧客別の購入間隔の平均が出せる。

★★★★Q10

新規顧客獲得が進んでいる地域がどこか?を累計推移で見ていく問題。

まずデータ結合がとても難しかった。
ややこしかった点
・結合するテーブル
注文テーブルCustomer_Master.csv顧客IDで結合
Customer_Master.csvコピーしてきた都道府県都道府県で結合
都道府県はカスタム分割で作成する。

・Vizで使用するテーブル
vizでは都道府県ではなく地域を使う。


そしてチャート作成では顧客IDの重複していないようにする(1月にも2月にも買っている人がいる場合同じ顧客IDが2つあることになる。そうならないように、重複していない顧客IDの累計を見ていく)
 → 一番最初の顧客ID顧客ID FIXED計算のMIN([オーダー日])=実際のオーダー日 を出す。
一番最初のオーダー日と実際のオーダー日が同じということは、それが一番最初のオーダー日ということになる。
これで一番最初のオーダー日=新規なので、新規のみでフィルタをかける。

どの地域が最終月で新規顧客累計1位だったかを色で分かりやすくする方法。
地域で顧客をカウントした合計の最大値
WINDOW_MAX(SUM(地域 FIXED計算のCOUNTD([顧客ID]))=SUM(地域 FIXED計算のCOUNTD([顧客ID])))
上記の計算式を色カードにドロップするだけではなく、
色カードにドロップしたピルの▲から表計算の編集→特定のディメンションで「オーダー日の月」「地域」を選択するとオーダー日の月の中で一番多い地域だけを色分けしてくれる。

★★★Q11

サブカテゴリのみに限定した話。
15%以上の割引率(これを割引率の基準値とする)になっているメーカーはいくつあるかを調べる。
メーカー情報を取得するために「Maker.xlsx」を取り込む。
※KTさんがブレンディングされたデータではLOD計算ができないと言っていた。だから「Maker.xlsx」はブレンディングではない方法で持ってくる必要がある。
注文テーブルをプライマリデータとして、プライマリグループを作成する。

割引率の集計方法 既定を平均にする方法
 →割引率のピル下向き▼から既定のプロパティ→集計→平均

割引率が基準値を超えているメーカーの出し方
IIF(カテゴリ,メーカー FIXED計算のAVG(割引率)>=0.15),メーカー,null
カテゴリ,メーカーの平均が15%以上ならメーカー名を出して、そうでないなら何もしない という式を組む。
★★★Ord8ではIIF関数とFIXEDの併用も多い。

あとは割引率が15%以上超えているサブカテゴリまたはメーカーを出す。
Viz上で対象のメーカーのみを分かりやすく表示する技として、
INDEX
・AVG(割引率)>0.15  を色にドロップ
を使っている。

最後に
Ord8、Ord9は本当に難しいです…。
最終試験で同じような問題が出ても、落ち着てい対処できるようにしたいです。
本日は以上です。
最後まで読んでいただきありがとうございます。




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