as title
可以有兩種實作方式,原理基本上是相同的.
適用: 建議若有篩選, (1)類別的數量要固定. (2)%大小差異也不要太大.
1.Polygon:
線條可以填滿 (大多數做法,實作案例)
2.Line:
可以使用雙軸顯示名稱,但是需要設定計算式(參考說明, 實作案例)
(一)Polygon:
step1: 準備兩份相同資料,增添兩個欄位.
(1)Path: 其中一個欄位是for角度,第一份統一為1,第2份統一為271
(2)Rnk: 需要依據類型做排序(決定長的線條在外圈,視覺上會比較好看)
step2: 建立8個計算欄位
(1)path (bin): 依據Path建立Bins,並且Size of bins設定為1
(2)index: 固定為 (INDEX()-1)*2
(3)Percentage: a.完成度,決定環狀線條的長度.避免將數字寫死,搭配LOD運算
b.分子pv代表需要計算的measure.
c.分組代表不分類別的最大值.
d.參考算式: pv/ ({EXCLUDE [View] : MAX({ include [View] : MAX(([pv]))})} )
(4)wc_pi: 固定為window_max(max(pi()))
(5)wc_start: a.主要是用來控制各類別線的內外圈
b.WINDOW_MAX(max(Rnk)) //可以依照需要調整順序.
(6)wc_percentage: 固定為 WINDOW_MAX(MAX([Percentage]))
(7)X: 依據上述(1)~(6)
IF [index]< 270 THEN
SIN([index]*[wc_percentage]*[wc_pi]/180)*[wc_start]
ELSEIF [index]> 270 THEN
SIN((540-[index])*[wc_percentage]*[wc_pi]/180)*([wc_start]+1)
ELSE
SIN(([index]*[wc_percentage]+3)*[wc_pi]/180)*([wc_start]+0.5)
END
(8)Y: 依據上述(1)~(6)
IF [index]< 270 THEN
cos([index]*[wc_percentage]*[wc_pi]/180)*[wc_start]
ELSEIF [index]> 270 THEN
cos((540-[index])*[wc_percentage]*[wc_pi]/180)*([wc_start]+1)
ELSE
cos(([index]*[wc_percentage]+3)*[wc_pi]/180)*([wc_start]+0.5)
END
(9)若要添加Label ,可以建立Y2: wc_start+0.5 (參考此篇)
step3: 放入Columns,Rows的順序需要注意
(1)先放X,Y於colunmns,rows
(2)再將path (bin)放到detail Marks..
(3)再將X,Y分別修改為Computing using path (bin). (若無法生成環形點圖,則再重新建立欄位path (bin))
(4)將顏色類別放入(此例view放入Color Marks.)
(5)將圖改成Polygon.
(6)將index放入Path Marks.
(7)添加雙軸要注意Polygon的設定會跑掉要重新調整
Line:
step1:
(1)建立兩個相同的dataset,並union.
(2)新建欄位path, 其中一個為1, 一個為270
step2: 建立欄位
(1)path(bin): 選取Path欄位,cre將區間改為1
(2)index: index()-1
(3)Max value: Window_max(sum(pv)) //pv代表measure也就是顯示的長度
(4)Value (window sum): Window_max(sum(pv)) //不用懷疑算式跟上面依樣
(5)PI window_max(max(PI()))
(6)Rank: RANK_UNIQUE([Value (window sum)],'asc')
(7)Step size:[Value (window sum)]/[Max value]
(8)X: COS([index]*[PI]/180*[Step size])* [Rank]
(9)Y: SIN([index]*[PI]/180*[Step size])*[Rank]
Step3: 拖拉至Marks
(1)將view(類別)拖拉到Color Marks
(2)Chart改成Line,並將path(bin)拖拉到Path
(3)將Y拖到Columns,將X拖到Rows,並且都點選右鍵, computing using path(bin)
(曾經使用過的 path(bin),可能會壞掉, 所以要重新生成後,拖拉到Path, 會從直線變成曲線, 如下)
(4)重新生成path(bin),然後再重新執行(2)-(3)
Step4: 修改既有X,Y Calcuation Field. X,Y欄位都修改完相同狀態
(1)將Max value:
a.改為Sepcific Dimension,勾選path(bin)和view.
b.path(bin)在上面
c.選擇At the level: Deepest
(2)將Rank: 將Sepcific Dimension,勾選path(bin),view和view.
a.改為Sepcific Dimension,勾選path(bin)和view.
b.view在上面
c.選擇At the level: view
setp5: 還可以再拉一個X,改為circle.並用雙軸的概念顯示名稱
p.s.若有需要檔案請於下方留言,再另外提供Google雲端硬碟下載位置.
同時也歡迎追蹤Tableau Public Gallery- MR.360 |聚沙成塔,裡面包含文章中的案例實作,
期待能帶給您新的啟發或靈感。
未來文章將喬遷新址「一趟數據分析之旅」,歡迎追蹤繼續支持,您將不會錯過任何新知識。