レーダーチャートですが、Tableauでもつくることができるらしいです。ので、今回はTableauでレーダーチャートにトライしてみようと思います。
参考文献
https://qiita.com/MYS_moyashi/items/3564dd8d24832e2afaed
http://blog.livedoor.jp/tab_hiro/archives/16297700.html
多角形を用いた作成方法
・レーダーチャートで表したい指標は5つ、値の最大値は5、最小値は0であることを想定します。
・各項目においてxyの2次元上に座標点を取得する計算式を書く
xはcosθ、yはsinθで表す(サイン、コサインで座標を表す)
x = 指標の値 * cosθ y = 指標の値 * sinθ
最初のKPI1 ⇛ π/2(cosπ/2 = 0 sinπ/2 = 1となります)
次のKPI2 ⇛ π/2 - 2π/5
次のKPI3 ⇛ π/2 - 4π/5
次のKPI4 ⇛ π/2 - 6π/5
次のKPI5 ⇛ π/2 - 8π/5
次のKPI1' ⇛ π/2 - 10π/5
のように続きます。
①データを用意(下記画像を参照、今回はカタールワールドカップで活躍した堂安選手のFIFAでの能力値を使用したいと思います。)
・エクセルでレーダーチャートで表したいデータ(選手名:堂安律)と
レーダーチャートのグラフ(Avg、Avg-1,Avg-2,Avg+1,Avg+2)を用意します。
・レーダーチャートのグラフ(Avg、Avg-1,Avg-2,Avg+1,Avg+2)は「真」
レーダーチャートで表したいデータ(選手名:堂安律)は「偽」となるようなカラムも用意
※グラフの太さを変更する際に使用します。
②データが用意できたら、レーダーチャートを作成するのに必要なメジャーを作成します。
・index
INDEX()
・能力詳細_Counts_adj
今回は能力詳細の名前が6個(ペース'も含めて)あるので、-1する。
{FIXED:COUNTD([能力詳細])} - 1
・Radians:cos,sin でつかう角度
PI()/2 - 2PI()/avg([能力詳細_Counts_adj])([index]-1)
・X座標
sum([能力値])*COS([Radians])
・Y座標
sum([能力値])*SIN([Radians])
・能力値 for Label:KPIの値を表示するためのラベル
//KPIの値を表示するためのラベルです。外枠であるAVG+2の場合はnullにします。
if
ATTR([Name]) = "AVG+2" then null
elseif LAST() != 0 then sum([能力値])
end
③Tableauで下記の図のように設定するとレーダーチャートが表示される。
線の太さや色は「Line」と「Product」で調整します。
③-1
列のX座標を右クリックし、次を使用して計算:能力詳細
行のY座標も同様に行う。
③-2
列のX座標を右クリックし、軸の編集から、範囲を固定に変更。
開始値と終了値を設定する。今回はレーダーチャートの範囲がMAX100なので、-100~100とする。
Y座標も同じように変更する。
③-3
マーク内のラベル「能力値 for Label」を選択し、次を使用して計算:能力詳細を選択
③-4
マーク内のパス「能力詳細」を選択肢、並び替えから、
最初と最後の項目が同じになるように手動で並び替える。
③-5
ペース'のラベルが重複して表示されてしまっているので、グラフ上のペース'の上で
右クリックし、マークラベル>表示しないを選択する。