Hands-on Advanced I

Q1

この問については以前にnoteを書きました。
パラメータを計算式に入れた後、それをディメンションにすることがポイント。
ディメンションにすることで切り替える切り口ができて、
数値を選択できるようになる。

Q2

基準日というのはオーダー日の中で最も新しい日付。
つまりここ。

データ内の最も新しい日付

一方、最終購入日というのは顧客ごとの最終購入日。
つまりココ

最終購入日

なので、FIXEDを使って最終購入日、基準日を導きだし、
それぞれのDATEDIFFをとってビンにすることで答えを導きだせる。

Q3

通常の問題は、顧客ごとの購入回数をFIXEDで作成し、
それをビンに入れて、顧客数と共に表示させればよい。
オプション問題については、オーダーごとの売上とあるが、
ここで求めたいのはオーダーごと、顧客ごとの売上である。
つまり求めたいのはここ。

オーダーごと、顧客ごとの購入金額

なのでINCLUDEを使って、オーダーごと、顧客ごとの購入金額を求めてあげる。

Q4

顧客ごとの合計売上をFIXEDで作成する。
それを10万円単位でビンにして、顧客数をビンで区切る

Q5

顧客ごとの初回年月日 =顧客ごとの最小のオーダー日
これをFIXEDで作る。
売上とオーダー日の棒グラフを作って、顧客ごとの初回購入日を色に入れる。
棒グラフを合計に対する割合にすることで、各年の売上に占める初回購入日の割合を見ることができる。

Q6

顧客ごとの初回購入日から、顧客ごとの2回目以降購入日を導き出し、その最小値をとって顧客ごとの2回目以降購入日を導く。
DATEDIFF関数を使って初回~2回目購入日の四半期差を出し、それをビンに入れて顧客数を色で表したヒートマップを作る。
オプション問題は、顧客ごとの購入金額をビューに入れると、メジャーバリューを利用したvizができる。
別の凡例を使用して色を調整することでヒートマップが2つ並んでも違和感のないようにする。
ドラッグアンドドロップでできない場合はメジャーバリュー、メジャーネームを利用して2つのヒートマップを作る

Q7

1日当たりの売上をFIXEDで作成し、その平均をとって色に入れる。
表計算を使用する場合は、

sum([売上])/ COUNTD([オーダー日])

このような式で1日当たりの売上平均を出すことができる。

Q8

もしカテゴリが一致したら売上を出すという式を作る。
その合計にしてしまうと、当てはまらないカテゴリにはNULLが出てしまう。
なのでEXCLUDEを使ってカテゴリを切り口から除外する。
それを行に置き、不連続にすることでヘッダに持っていける。
差の順なので表計算で差を選ぶことで選んだカテゴリ順にソートできる。
ここはかなり難しいのでKTさんの動画を何度も見ました。

Q9

顧客ごとの初回購入日と顧客ごとの最終購入日の差分を月ごとにとる。
それを顧客ごとの購入回数で割って、顧客別の購入間隔の平均をとる。
それをビンにして、顧客数と売上を顧客別の購入間隔で切り分ける。

Q10

データを取得するところは割愛。
顧客数の累計をとって、新規の顧客に絞り込むことで新規顧客獲得数を出せる。
それを地方ごとに塗り分ける。
つまづいたのは、1位で着地している地方に色を塗る所。
計算式を出すと

WINDOW_MAX(sum({fixed [地方]:countd([顧客ID])})) = sum({fixed [地方]:countd([顧客ID])})

このようになります。
最終的に着地している顧客数が結局地方ごとの顧客数となるので、その中で最大に一致するものを出してあげればよい。
この計算を「地方」「オーダー日の月」両方を使用して計算するようにする。

Q11

基準値を超えているメーカーを計算式で出すのがポイント。

if {fixed [サブカテゴリ], [メーカー]:avg([割引率])}>=0.15 then [メーカー] else null end

サブカテゴリとメーカーの切り口で、割引率が15%を超えていたらメーカーを出す。それ以外はnull
そしてINDEXにこれを入れて基準値越えメーカーだけ色を出し、
nullは非表示にする。
あとは割引率が0.15以上を色に入れればどのメーカーの割引率の平均が15%を超えているのかがわかる。

おわりに

特にQ8はかなり難しかったです。
あと1位の地方に色を入れるやつも。
正直表計算についてはまだまだ理解が足りないので、
次のAdvancedⅡはしっかり学習していく予定です。

Rieko

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