【Tableau】気になってた機能を試してみた 002

Tableauっていろんな機能がありますよね。
機能を使いこなす上でTableau以外の知識も必要だなーと感じています。

さて、今回試してみたのは次の3つです。
　* セカンダリ計算
　* アドホック計算
　* 百分位

なお、検証結果は[こちら](https://public.tableau.com/views/_002_16744681029390/sheet2?:language=ja-JP&:display_count=n&:origin=viz_share_link)で公開しています。

# セカンダリ計算
簡易表計算は普段からよく使うのですが、「セカンダリ計算」はどう使うのか
よくわからなかったので避けていましたが、せっかくなので使ってみました。
![2023-01-23_15h58_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/139ca49c-6e66-3d20-cd40-a3f0f411f574.png)

使ってみたらそんな気難しい機能ではありませんでした。
単純に、表計算で算出した値を使って、さらに計算をしたいときに使います。
機能としては単純なんですが、その使いどころを考えるのが難しいと感じました。

そんな中でたどり着いたのが「パレート分析」です。
「〇%の売り上げは、△%のお客様によって構成されている」みたいなことを
調べるときに使います。たぶん皆さんご存じですよね。

今回はサンプル - スーパーストアのデータを使って、お客様別の売上構成比率を
見てみようと思います。
まずはメジャーに売上高の合計を置いて、ディメンションに「顧客名」を置き、
売上の高い順にソートします。
![2023-01-23_16h46_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/e53e53d7-3c24-d0d7-3581-5ff1d4419367.png)

ここから**Ctrlキーを押しながら**「合計（売上）」ドラッグ&ドロップして
![2023-01-23_16h48_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/83b79190-ddcb-75b9-1be4-8c9facd19814.png)

表計算で累計を算出し、
![2023-01-23_16h49_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/f7fbf9d9-130e-9a97-dc92-3e43eddfdbbe.png)

グラフのタイプを線にして、
![2023-01-23_16h53_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/1502d843-58af-8afd-71c5-ef4e6d7f92b8.png)

二重軸にすれば、スタートラインに立てます。
![2023-01-23_16h54_42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/490577d3-271c-a447-22d2-20504e66a2bc.png)

このグラフでは線グラフは売上の累計を表していて、今回は全体の売上高に対する割合を
見たいので、ここでセカンダリ計算の出番です。

「セカンダリ計算の追加」にチェックを入れて、セカンダリ計算タイプに
「合計に対する割合」を選択し、「次を使用して計算」に「表（横）」を
選択すればOKです。
![2023-01-23_16h59_57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/daeda5e5-e43c-c616-7a22-6db114e727a3.png)

こんな感じ。
![2023-01-23_17h01_30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/b9f7634d-4739-5300-308a-f33fc76d0625.png)

この機能は何をしてくれたのか？というと、
![2023-01-23_17h03_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/c2793dc6-1fce-a344-1c6c-b7af3bf42daa.png)

RUNNING_SUM(SUM([売上])) / TOTAL(SUM([売上]))
という項目を作ってくれました。

# アドホック計算
設定したピルをダブルクリックして計算式を編集できる、という機能です。
いちいち計算フィールドを作らなくてもサクッと加工ができるので、とても便利です。

上のセカンダリ計算で作った「合計（売上）」を**Ctrlキーを押しながら**マークカードの色に
ドラッグ&ドロップして
![2023-01-23_17h10_18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/dcec7db9-a775-7da6-5683-f2bb665ff39a.png)

これをダブルクリックし、
![2023-01-23_17h11_56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/1ccf192d-d698-d060-e606-ffca0e688548.png)

試しに売上構成比率80%の境目を色で表現するために
RUNNING_SUM(SUM([売上])) / TOTAL(SUM([売上])) <= 0.8
と入力してみます。
![2023-01-23_17h13_36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/674027bf-9147-a068-01f3-e157f4844df6.png)

「売上目標を超えた」とかの閾値をまたいだかどうか？を
簡単に見たいときに使えると思います。

# 百分位
誤った説明をしてしまいそうなので、「百分位」の詳しいことはWebで検索してください。
標本全体を昇順で並べて、全体を100％として、特定の標本以下のデータが
全体の何%を占めるか？を表す値、といった感じでしょうか。

今回は購入額の大きい順に並んだお客様に順序をつけて、
標本数で均等に5つのグループに分けてみます。
5等分するのでクインタイル（Quintile、Quintがラテン語で5）分析と呼ぶそうです。
全体を100%として、5等分しているので、1つのグループは20%です。

計算フィールドで「percentile」という関数を使ってもできるのですが、
表計算の百分位を使って簡易的に表現します。

売上をマークカードの色にドラッグ＆ドロップして、表計算で百分位を選択します。
![2023-01-23_19h31_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/b9b6c415-d980-6e35-57e8-b80a5bd078ba.png)

上で配置した「合計（売上）」の▼ボタンを押して、「表計算の編集」をクリックし、
「降順」を選択します。
これは、購入額の大きい順に並べているためです。
![2023-01-23_19h32_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/335a8847-b7a0-676e-afab-7ea240d9b5fa.png)

次にマークカードの色をクリックし、色の編集をクリックします。
ここで「ステップド カラー」にチェックを入れて、「5 ステップ」にします。
![2023-01-23_19h34_36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/2ee98ce4-5f3e-c939-0e8e-cf06276e9f4d.png)

そうするとキレイに5等分に色分けできます。
![2023-01-23_19h36_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/cbe1a092-f831-c5e8-450f-130c5390aef4.png)

これで、売上合計に対する割合が80%との境目にいる人は上位53.7%のところに
位置していることがわかります。
![2023-01-23_19h44_35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131247/8c98d0c5-ac99-1616-9f04-bb3728596f36.png)

「サンプル - スーパーストア」の場合、上位20%のお客様が売上合計の80%を占めるみたいな
偏りはないみたいなことがわかったりします。

# まとめ
今回はパレート分析やクインタイル分析を実現するために、というところで
　* セカンダリ計算
　* アドホック計算
　* 百分位
を試してみました。
Tableauはいろんな使い方ができるので、Tableauそのもののテクニックも覚えないと
いけないですし、そのテクニックを有効活用するためにいろんな分析手法も
覚えていかないといけないですね。
そーやって自分の引き出しが増えれば、得られるInsightも増える、
といいなーと思って、前向きに勉強していこうと思います。