見出し画像

Tableau Tips:スパイラル倍率チャート

記事の目的

前回はTableauの業務的なTipsを記載しましたが、今回は”Tableauを楽しむ”ことをコンセプトにしたTipsです。

前置き

今回は、業務的ではありませんが、一風変わったチャートのご紹介をします。ただし、データ分析の基本は”データを理解し、それに相応しいビジュアライズをすること”は肝に銘じておきましょう。
なお、下記解説は、オリジナルなので非効率な手順が含まれている可能性があることをどうかご了承ください。

どんな時に使う?

極端にシンプルなデータを扱う場合、”興味があるもの”は非常に限られると思います。今回取り上げている”モバイルゲームの市場規模”は、数年で数倍に成長しており、この”数倍”に着目し”倍率”を可視化しています。
倍率自体はよく使われる数字なので、Vizデザインのアクセントなどで使えるかもしれません。

データは上記のみです。MakeOverMonday2019w35のデータの一部を抜粋しています。

やりたいこと

2倍、3.5倍などの”倍率”を表す一般的なチャートって、あまり思いつきませんよね。”チャートにするまでもない。棒グラフに倍率のラベルを付ければよい”と言えば、その通りなのですが、今回はTableauを楽しむために”倍率”という数字の性質を考慮したチャートを考えてみました。
 ”倍率”の性質 ⇒ 対象の値は、基準の何個分か?
この性質を1つのチャートで表したい!が、今回のモチベーションです。
様々な方法が考えられると思いますが、今回は1倍=1周で、ぐるぐると渦を巻くようなチャートを作りたいと思います。

完成形

完成形はこちらです。
中身の挙動が見える解説Vizを Tableau Public にアップしています。

基準年と対象年から倍率を表示。下部では各計算フィールドの値が確認できます。

チャート原理

今回のチャート(勝手にスパイラル倍率チャートと呼びます💦)の原理は以下の通りです。

1.94倍を表現しています。

見ての通り、原理は非常にシンプルです。
ラジアル系のVizは、数学の”極座標”を知っていると理解が早まるのですが、知らなくても上の図が理解できればVizは作れます。

作成方法

作成の手順を記載していきます。(理解のポイントは後の解説Vizで)

①必要パラメータの作成

基準年
:日付型でリスト「年」を選択し、表示名に2012~2018を入力
対象年
:上の「基準年」パラメータを複製して”名前”を変更
内径
:整数 最小値1 最大値30 ステップサイズ1
周回感覚
:整数 最小値1 最大値10 ステップサイズ1 
※最小値、最大値、ステップサイズは入力せず、任意の値(すべて)にしても問題ありません。

②計算フィールドの作成

対称年市場規模  :IF [年]=[対象年] THEN [市場規模] ELSE 0 END
基準年市場規模  :IF [年]=[基準年] THEN [市場規模] ELSE 0 END
FIXED基準年市場規模 :{FIXED:SUM([基準年市場規模])}
市場倍率     :[対象年市場規模]/[FIXED基準年市場規模]
角度       :[市場倍率]*360
Index        :INDEX()
x          :sin([Index]/180*pi())*([周回間隔]*[Index]/360+[内径])
y          :cos([Index]/180*pi())*([周回間隔]*[Index]/360+[内径])
※xとyの式は、別の記載方法もあります。(cos(x)=sin(π/2-x) などで算出)

③ビンの作成

角度のビンを作ります。ビンのサイズは1にします。

④チャートの作成

ビューを作っていきます。わりと簡単です。

1)①で作った4つのパラメータを全て選択肢し、右クリックから「パラメータを表示」を選択します。
※説明の為、今回はあらかじめ以下の設定にしておきます。

2)角度(ビン)を列シェルフに入れたのち、右クリックから「欠落した値を表示」にチェックを入れます。

3)マークカードのビュータイプを「線」にしたのち、列シェルフにある「角度(ビン)」のピルをマークカードの「パス」にドラッグ&ドロップします。

4)列シェルフに「x」、行シェルフに「y」を入れたのち、それぞれのピルを右クリックし、「次を使用して計算」から「角度(ビン)」を選択します。

上記操作を列の「x」と行の「y」の両方に行ってください。
こうなればOKです。

⑤チャートの調整

内径周回間隔のパラメータとサイズを調整してバランスを取ります
今回は、内径7、周回間隔1にしてみました。
また、データ内で選択されうる最大倍率が表示されている状態で軸を固定します。

これでチャート自体は完成です。

⑥倍率ラベルの表示とクリーンナップ

中央に倍率のラベルを表示します。
行シェルフの空白部分でダブルクリックして、「0」と記載されているだけのピルを作り、ビュータイプをテキストにして、既に入っている「角度(ビン)」を削除して、「市場倍率」をラベルに入れます。

2重軸で、ラベルをチャートに重ね、書式設定やヘッダーの非表示、目盛りの削除を行えば、完成!!

ポイントの解説Viz

挙動の理解の為、Vizをアップしていますので、こちらをご確認ください。
スパイラル倍率チャート説明Viz

上の状態は、2012年⇒2018年の倍率を表示しています。
下の表で、左2列はデータソースのカラムです。
まずは、対象年と基準年の市場規模以外を0にする計算フィールドを作り、
基準年の方は、FIXED計算で行レベルで基準年のデータを持たせます。
その上で、倍率=対象年市場規模/FIXED基準年市場規模を計算し、倍率に360をかけたものがグラフの終点の角度になります。最後に角度をサイズ1でビン化しています。
上記操作は3つのポイントを考慮しています。
 ・割り算をするときは、分母が0にならないようにする。
 ・ビンを作る時は2つ以上の値が必要(全体SUMは取りにくい)
 ・ビンの範囲はデータ依存なので最小値0が含まれるようにする

スパイラル倍率チャートは以下のVizを作る時に考えました。
このTipsでは、カテゴリー別のケースは割愛していますが、こちらは対応しています。リンクはこちら

カテゴリーごとにチャートを出すのは、ひと手間あります。

さいごに

今回は、Tableauを楽しむ!というコンセプトでTipsの解説をしました。
現状のレベルから少し背伸びして、自分なりのチャート表現にチャレンジしたいなと思って作りましたが、結局、LODなどの基礎学習が重要だということを改めて感じました。基礎を固めつつ、こういったチャレンジをすることでモチベーションを維持していきたいと思います。
楽しみながら学びましょう!

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