top of page

Tableau実践問題集 #TableauChallenge ã‚’䜜りたした。

TableauでRadial Chartを䜜る


今回のテヌマは「Radial ChartをTableauで䜜る」です。

以䞋のViz䜜成を通しお解説したす。


以䞋のブログを参考にしたした。

䜿甚したTableauワヌクブックは以䞋からダりンロヌドできたす。䜿甚デヌタはSample Super Storeです。

 

【モチベヌション】

身も蓋もないですが、基本的にはRadial ChartよりもBar Chartの方が良いずされおいたす

・曲線の比范はそもそも難しい

・数字のスケヌル感を぀かみにくいPie Chartが3぀以䞊の比范に向かないのず同じ

The Big Book of Dashboardsでも論じられおいたしたが、こちらのBlog蚘事が簡朔に問題点を瀺しおいたす。

䞀方でメリット䟋は以䞋があげられたす

・ちょっずファンシヌ分かりやすさは倧事ですが、䞀方でImpressiveさも倧事なずきがありたすよね

・䟋えば時間のような「䞀呚する」数倀を甚いる堎合には、このような可芖化は「数字の持぀むメヌゞ」ず玐づけやすくなりたす。

たずめるず、Bar Chartは「数字の比范」に優䜍がありたす。

Radial Chartは「芖芚的な印象」ず「数倀ずむメヌゞの玐づけ」に優䜍がある、ずいったずころでしょうか。


 

【Radial Chartの䜜り方】

こういう曲線系の䟋に挏れず、たずはSelf-Unionからはじめたす。


たず、以䞋の蚈算フィヌルドを甚意したす。

Measure

[Sales]

Dimension

[Sub-Category]

PATH

IIF([Table Name] = "Orders",1,[Bin Size])

ここで[Bin Size]は敎数型のParameterです。䞀旊は270に蚭定したす。

この[Bin Size]が、䞀番長いBarの終点での角床を指定したす今回は270°。

たた、PATHでBinを䜜成したす。

次に、以䞋の蚈算匏を䜜成したす。

Max Value Within Dimension

WINDOW_MAX(SUM([Measure]))

Max Value within Path

WINDOW_MAX(SUM([Measure]))

ここでそれぞれに぀いお、䞋図のように衚蚈算を蚭定したす。

分かりやすいように明瀺的に詳现レベル、蚈算をやり盎すディメンションを指定しおいたすが、衚蚈算に慣れおいる方はこの蟺りは適圓で倧䞈倫です

Max Value Within Dimensionに぀いお、Dimension毎のSUM([Measure])の、Dimension間での最倧倀を返したす。今回のデヌタでは、Dimensionが"Phone"のSUM([Measure])ずなりたす芁は各Barの長さの最倧倀。

Max Value within Pathに぀いお、これは各DimensionにおけるSUM([Measure])の最倧倀を返したす芁は各Barの長さ。

重芁なのはPATH(bin)でWINDOW_MAX()を実行し、それをDimensionで再蚈算させるこずにより、それぞれのDimensionのアむテムのSUM([Measure])を出力させおいるこずです。

次に、以䞋の蚈算匏を䜜成したす。

Step Size

[Max Value within Path] / [Max Value Within Dimension]

RANK

RANK_UNIQUE([Max Value within Path],"asc") //Dimensionを䜿甚しお蚈算

Step Sizeは、甚はDimensionの各アむテムに぀いおの、最倧のBar長さに察する、各アむテムのBar長さの割合を瀺しおいたす。

今回の堎合はPhoneのStep Sizeは「100%」になり、FastenersのStep Sizeは「1%」くらいです。

RANKに぀いおは蚈算匏通りです。

最埌に、以䞋の蚈算匏を䜜成したす。

INDEX

INDEX() - 1 //PATH(bin)を䜿甚しお蚈算

X

-COS([INDEX]*PI()/180*[Step Size] + RADIANS([Rotation]))*[RANK]

Y

SIN([INDEX]*PI()/180*[Step Size] + RADIANS([Rotation]))*[RANK]

ここでRotationは敎数型のParameterです。Radial Chartの始点の角床を決めたす。


最埌に、䞋図のように配眮すれば完成です。

このずき、PATH(bin)に「欠損倀を衚瀺」させるこずを忘れないでください。


ちなみに、Rotationを0、Bin Sizeを180にするず以䞋のようになりたす。


Radial Chart䜜成の倧筋は以䞊です。

 

【远蚘数倀にあわせおBarの長さを倉えたい堎合】

これはMakeoverMonday 2019/W7のお題なのですが、8時間で360°、6時間で270°にしたした。

このケヌスのように「360°を䞎える基準倀を甚意したい」堎合があるず思いたす。

ちなみにWorkbookはこちらから。


その堎合には、以䞋のステップを螏みたす。


パラメヌタBin Sizeの倀を360に蚭定する

するず、以䞋のようになりたす。最倧倀のBarがぐるっず1週したす。


パラメヌタ「Max of Bar」を䜜成する

今回の堎合は以䞋のように蚭定したす。8時間28,800秒で360°を想定しおいたす。

䜜成するVizに合わせお数倀を任意で蚭定しおください。


蚈算フィヌルド「Step Size」を曎新する

以䞋のように曎新したす。


[Max Value within Path]/[Max Value Within Dimension]

*

([Max Value Within Dimension] / [Max of Bar])


補正項である [Max Value Within Dimension] / [Max of Bar] を掛けたした。

この匏の意味は

  • [Max Value Within Dimension]の倀で360°を䞎えるように蚭定したので

  • [Max Value Within Dimension]を[Max of Bar]で割るこずにより、[Max of Bar]に察する割合を蚈算させ

  • この割合により「360°に察しお䜕床になるべきか」をコントロヌルする

ずいう圢になっおいたす。

蚀い換えれば、床数のコントロヌルがパラメヌタ[Bin Size]から[Max Value Within Dimension] / [Max of Bar] に移し替えられた圢です。


 

【最埌に】

Radial Chart䜜成方法、いかがでしたか。次回はRadial Bar Chartの䜜成方法に぀いおを予定しおいたす。その次はRadial Stacked Bar Chartです。

ご質問等はTwitter、Linkedinぞよろしくお願いしたす。

bottom of page