Tableau Fundamentalを実装　パート２

## HandsOn-Fundamental 
今回<a href='https://public.tableau.com/profile/data.saber#!/vizhome/1_HandsOn-Fundamental/1_HandsOn-Fundamental'>HandsOn-Fundamental</a>を自分なりに考えて実装してみました。
Tableauの操作方法の勉強にもなると思うのでぜひ参考にしていただければと思います。
今回はパート２になります。パート１は<a href = 'https://qiita.com/ki_ttyomo/items/a2a39215ee8f76a4303e'>こちら</a>から確認してください。

### 家具と家電の数量を累計で見たときに差が開き始めるのは何年何月からですか？
まず列に不連続の「年（オーダー日）」「月（オーダー日）」を列に「数量」を行に配置しました。今回不連続のオーダー日にした理由としましては何年何月から差が開き始めているのかをとらえるときに連続での表示よりもとらえやすいと思ったからです。
そして数量の累計であるので、簡易表計算の累計を選択します。
![2020-10-09 (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/053a6f62-a8dd-c534-6b78-e2f8c33a09e1.png)

#### 累積の差の表示方法
表計算を使用して、累積の差の表示方法も紹介しておきます。
まず行に「数量」を複製します。数値の▽を押し表計算の編集を選択します。
表計算のところでセカンダリ計算の追加のところにチェックをし特定のディメンションで「カテゴリ」にチェックを行います。そうすることで累計の差を可視化することができ、どこから差が開き始めているのかも容易に把握することが出来ます。
![2020-10-09 (13).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/3721b241-3300-341a-b993-1d409c3369f4.png)


### サブカテゴリごとの売上とそのサブカテゴリを購入した顧客数の間に関連性はあるか？
関連性を見る指標で相関係数があるので相関係数を算出したほうがいいと最初思ったのですがTableauは可視化のほうが得意であるので散布図を作成して関係性を見ることにしました。
まず「顧客ID」を列に配置し「個別のカウント」に変更を行います。行には「売上」を配置します。今回サブカテゴリごとであるのでマークのところのラベルに「サブカテゴリ」をドラッグします。
ここで散布図の縦軸と横軸なのですが、これは横軸が「説明変数」で縦軸が「目的変数」であるとよいです。（参照：<a href='https://note.com/hiraokakenichi/n/n2ef343b695fc'>散布図を作るとき、軸の設定で思ったこと</a>）そのため今回、横軸に顧客数、縦軸に売上にしました。
最後にアナリティクスのところで傾向線を配置し関連性を見てみます。
今回は傾向線が横一直線に近いのでサブカテゴリと顧客数との間には関連性はなさそうです。
![2020-10-09 (14).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/a7a988b3-cb82-4e8a-f8ba-7e38c27bce12.png)

### 4年間を通じて購入客数がもっとも多い曜日は何曜日であるか？また、その人数は何人ですか？？
オーダー日の曜日ごとのものを行に、顧客IDのカウントしたものを列に配置しました。
オーダー日は右クリックしながらドラッグすることによってどのフィールドをドロップするか選択することが出来ます。
今回は購入客数が多い曜日を求めるので数値だけでの表示でもよいのですが、棒グラフでの表示を行うことによって一番大きいものをすぐに見つけることが出来るので棒グラフでの表示を行いました。
![2020-10-10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/8c1e0145-3327-b189-e05f-5d0899623ba1.png)

### オーダー日のすべての曜日で利益率が15％を切っている曜日はありましたか？？
今回利益率を使用するのでまず計算フィールドを使用し利益率を算出します。利益率はsum(利益)/sum(売上)で作成しました。
続いて、曜日（オーダー日）を列に、年（オーダー日）と作成した利益率を行に配置しました。今回は15％を超えているものと下回っているものとで色分けを行いたいため棒グラフでの表示にしました。
次にマークの「色」のところに「利益率」を配置します。その後に色の編集を行います。まずステップドカラーにてステップ数を2にします。中央のところにチェックを入れ数値を0.15と入力します。すると15％以上の利益率を出している曜日は「青」、そうでないものは「赤」で表示されるようになります。
これだけでもいいのですが基準線があると見やすいのでアナリティクスの「定数線」を使用し15%のところに定数線を引くように設定を行いました。
また少し細かいですが、縦軸を%表示で5％ごとに表示させるように書式設定で変更を行いました。
![2020-10-10 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/197a6d4d-a454-7a83-1510-fdb03ffb8e16.png)

### サブカテゴリ・顧客区分の組み合わせで、割引率が相対的に高いと分類される組み合わせはどれか。その組み合わせをグループとしてまとめてください。それ以外は「その他」とします。作成したグループごとに売上の伸びと利益率を年月の推移で比較して、割引率を上げるべきか下げるべきか教えてください。

まず、サブカテゴリ・顧客区分の組み合わせで割引率が相対的に高いと分類される組み合わせを分析していきます。
サブカテゴリ・顧客区分を組み合わせた新しいディメンションを計算フィールドで作成します。作成方法は計算フィールドに[サブカテゴリ] + [顧客区分]と入力するだけです。
次にその作成したディメンションを行、列に割引率の平均を配置し棒グラフで可視化しました。今回可視化した結果、上位9つが割引率が高いと判断しました。これらを選択し、グループ化を行います。
![2020-10-12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/2d452f99-dc8e-32bf-8b7e-6043c878e173.png)

続いて、作成したグループごとに売上の伸びと利益率を年月の推移で比較して、割引率を上げるべきか下げるべきかを判断するとのことなのでグループごとの売上と利益を可視化していきたいと思います。
まず列に「オーダー日」、行に先程作成した「サブカテゴリ・顧客区分」「売上」「利益率」を配置します。
売上は推移を見たいので折れ線グラフで可視化し、利益率は棒グラフで表示しました。
今回の分析の結果、割引率が高いグループの売上の推移はその他に比べて低位に推移しており、また利益率もマイナスになっていることが多いことから割引率は下げたほうがいいと判断することが出来ます。
![2020-10-12 (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/19618ec8-7a6a-162a-3f95-094cd4d56c47.png)

### 2016年で売上が低い月と2018年で一番売上が高い月だけの平均金額は全月の平均金額よりも高いですか？
まず、「オーダー日」を列、「売上」を行に配置します。そして今回、2016年で売上が低い月と2018年で一番売上が高い月だけの平均金額を欲しいのでまずは、アナリティクスのところで平均線を選択しグラフにドラッグします。その後、2016年で売上が低いところと2018年で最も売上が高いところを「ctrl」キーを押しながらクリックします。そうすることで選択したデータの平均も同時に表示されます。
可視化した結果、全月の平均のほうが高いということが分かります。
![2020-10-12 (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/ace059f6-0533-7b9f-11ef-c4b9eac6fef1.png)

### 一つ前のワークシートで売上のトレンドを見ることが出来るようになりました。各年やフィルター月で何（カテゴリ・サブカテゴリ）が誰（顧客区分）に売れたのかをクロス集計表で確認したいです。二枚のシートを組み合わせてチャートをクリックするとフィルターされるダッシュボードを作成したいのですが、一つのマークをクリックしたときに月でフィルターするだけでなく、年でフィルターするオプションを選ばせることはできるか？？

まず初めに、クロス集計表を作成します。
列に「オーダー日」、行に「顧客区分」「カテゴリ」「サブカテゴリ」を配置します。その後作成したクロス集計表に対して売上をドラッグしていきます。
![2020-10-12 (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/1f799281-82a6-6b23-43a4-15568cd23618.png)

続いてダッシュボードの作成を行います。今回、一つのマークをクリックしたときにつきでフィルターするだけでなく、年でフィルターするオプションを選ばせることはできるのか？ということなので、マークを選択するときに「年フィルター」と「年月フィルター」の二つを選択できるようにしていきます。
まず新しくダッシュボードを作成し、一つ前に作成したワークシートと、先ほど作成したワークシートを貼り付けます。
![2020-10-12 (7).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/6c9ed706-4054-275b-e256-ffef06228c29.png)


続いて、「ダッシュボード」の「アクション」を選択します。そうするとアクションが出てくるので選択し、編集を行います。まず「年月フィルター」を作成するには「<YEAR(オーダー日)>年<MONTH(オーダー日)>月のフィルター」と名前を変更し保存します。名前の横にある▼を押すと名前で使用できるものがあるのでそれを使用します。
「年フィルター」を作成するにはアクションの追加を行います。名前は「<YEAR(オーダー日)>年のフィルター」とします。またターゲットフィルターのところに「年（オーダー日）」を選択します。これを行はないと年だけのフィルターにならないためターゲットフィルターで指定します。
![2020-10-12 (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/2abbcb0d-42d0-c7ba-9196-f1bf81b09ed6.png)

以上のような設定を行い、上手くいくと下図のように「年月フィルター」だけでなく「年フィルター」も表示されそれぞれ選択することでフィルターをかけることが出来ます。
![2020-10-12 (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/1d7200b4-0683-f115-e114-5d8991670da4.png)

### 家具カテゴリにおいて一番出荷までの平均日数が長い地域に面する地域の中で最も出荷までに時間がかかる地域を調べてください。またその地域の「事務用品」カテゴリでの出荷にかかる日数は何日か？

まず出荷までの日数を計算フィールドを使用し算出したいと思います。出荷までの日数を算出するにはDATEDIFF（[日付部分],[開始日],[終了日]）関数を使用します。
次に、地域ごとの出荷までの日数を地図上で表示を行いたいのですがデフォルトでは地域に地理的役割はありません。地域にも地理的役割を持たせるためには「地域」を選択し「地理的役割」→「次から作成」→「都道府県」で地域にも地理的役割を加えることが出来ます。これは地域の子カテゴリに都道府県がありこの都道府県に地理的役割があるため、親カテゴリの地域に対しても地理的役割を付け加えることが出来ています。
今回なぜ地図での表示にしたかというと、問いで「家具カテゴリにおいて一番出荷までの平均日数が長い地域に面する地域の中で最も出荷までに時間がかかる地域を調べてください。」とあり、出荷までにかかる日数が長いのは東北地方ということはすぐにわかります。加えて、東北地方に面している地域の中で最も出荷までに時間が掛かっている地域を調べる際に地図上で表示しておくことで中部地方であるということがすぐにわかります。仮にこれが棒グラフでの表示を行っていた場合、どの地域が東北地方に面しているのかが瞬時にはわかりません。そのため今回地図での表示を行いました。
![2020-10-12 (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/cb46def1-8b01-79d5-b986-f0ab6929ebfd.png)

続いて最初の問いの答えが中部地方とわかったので、中部地方の事務用品カテゴリでの出荷にかかる日数を求めていきたいと思います。これはフィルターのところで「事務用品」に選択しなおすことで中部地方の事務用品の平均出荷日数を求めることが出来ます。
![2020-10-12 (12).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/dd73b86b-1424-40d4-b9ff-925cbc471433.png)

### 売上と利益の相関を、製品名とカテゴリごとの分布で見てください。クラスター分析を使用して売上が高いグループがどこまでか割りだしたとき、売り上げの高いと思われるクラスターに属する製品名が少ないように見えるカテゴリを教えてください。

まず、売上と利益の相関を製品名とカテゴリごとの分布を表示します。
列に「売上」、行に「利益」を配置します。そしてマークのところに「製品名」と「カテゴリ」を配置しました。カテゴリごとに色分けを行い、傾向線を付けました。こうやって見ると家具カテゴリがカテゴリの中で売上と利益の相関が高いということが分かります。
![2020-10-12 (13).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/9a14590e-da24-4aa9-c1f7-77ff9b3d90ad.png)

続いて、売り上げの高いと思われるクラスタに属する製品名が少ないように見えるカテゴリを教えてくださいとのことなのでクラスター分析を行います。まず、クラスター分析はアナリティクスのところにあるクラスター分析を使用します。今回のクラスターの数は自動的に算出された数でとのことなのでこのまま使用します。
![2020-10-12 (15).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/3c8c1643-4825-3268-fefb-64e5de4d5245.png)

そして先ほどクラスター分析で二つのクラスターのうち売上の高いクラスターはオレンジの部分になります。このオレンジのクラスターのほうをカテゴリ別でみてみると、事務用品が一番製品の数が少ないことが分かります。
![2020-10-12 (14).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/ef49cf6e-ca63-208e-c192-b5ec80610003.png)

また散布図ではなく、棒グラフでの表示も行ってみたいと思います。
列に「カテゴリ」、行に「個別カウント（製品名）」を配置しました。
その後に、先ほど作成したクラスターをマークの色のところに配置します。そうすることで、クラスターごとに色分けされ、クラスター２の事務用品が一番少ないことが分かります。
![2020-10-12 (16).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676443/56c437cd-168e-a7fe-694c-6d5b6f608e50.png)

## まとめ

いかがだったでしょうか？？これを行うだけでもスムーズにTableauを触れるようになるのではないでしょうか？？
ここでは地図での可視化やクラスタリング、傾向線、計算フィールドを使用した計算などTableauの様々な機能を触れることが出来たと思います。もし、他にいい可視化方法があったりしたら教えてください！





<参考資料>
https://public.tableau.com/profile/data.saber#!/vizhome/1_HandsOn-Fundamental/1_HandsOn-Fundamental
<a href ='https://www.youtube.com/watch?v=vaDpfaL3-2M'>DATA Saber Boot Camp Week1 "HandsOn - Fundamental"</a>
<a href='https://note.com/hiraokakenichi/n/n2ef343b695fc'>散布図を作るとき、軸の設定で思ったこと</a>