[Tableau] 원 모양 퍼센트 시각화

원 모양 퍼센트 차트에 대해 필사해보자 :)

May 27, 2024
[Tableau] 원 모양 퍼센트 시각화

레퍼런스

원을 이용한 차트를 시도해 보았다! 단순히 올려서 끝나는 것이 아닌, 세세하게 다듬어줘야 한다는 점에서 많은 것을 깨달았던 필사였다:)

필사 대시보드


1. 계산된 필드 만들기

ProgC_Sales 만들기
WINDOW_SUM(SUM([Sales]))
ProgC_total sales 만들기
WINDOW_SUM(SUM([Sales]))
ProgC_Percentage 만들기
[ProgC_Sales]/[ProgC_total sales]
INDEX-1 만들기
INDEX()-1
ProgC_X 만들기
SIN(RADIANS([INDEX-1]*[ProgC_SPACING]))
ProgC_Y 만들기
COS(RADIANS([INDEX-1]*[ProgC_SPACING]))
 
Path(360) 만들기
IIF([Ship Mode]="First Class",0,360)
 
 
notion image
Color 만들기
IF [INDEX-1]/WINDOW_MAX([INDEX-1])<[ProgC_Percentage] THEN WINDOW_MAX(MAX([Category])) ELSE "Grey" END

2. Category, ProgC_X 를 열에 드래그, ProgC_Y 를 행에 드래그

notion image
notion image

3. 마크에 Path(360) (bin) 을 세부정보로 올리기

 
notion image

4. ProgC_X, ProgC_Y 를 [Path(360) (bin)을 이용하여 계산]으로 변경하기

notion image
notion image

5. 행 빈 부분을 더블 클릭하여 MIN(0) 을 입력하기

notion image
이중 축 설정해주기!
notion image

6. ProgC_Percentage 를 열에 드래그하기

notion image
해당 컬럼 연속형 → 불연속형으로 변경해주기!
notion image
[Path(360) (bin)을 이용하여 계산]으로 변경해주기!
notion image

7. ProgC_Y 마크에 Color를 색상으로 올리기

[Path(360) (bin)을 이용하여 계산]으로 변경해주기!
notion image
테이블 계산 편집 들어가서 다음과 같이 변경해주기!
notion image
notion image

8. 집계(MIN(0)) 마크에 색상으로 들어간 측정값 이름 제거해주기

notion image
색상을 눌러 흰색으로 변경해주기!
notion image

9. 집계(MIN(0)) 마크에 Category, ProgC_Percentage 를 텍스트로 올리기

notion image
ProgC_Percentage 의 서식에 들어가서, 숫자를 백분율로 지정해주기!
notion image
notion image

10. 차트 색상 변경해주기

색상 편집에 들어가서, Grey에 해당하는 속성을 회색으로 변경해주기!
notion image
notion image
notion image
💡
필사 하면서 느낀점
해당 차트 뿐만 아니라 원을 이용한 다른 차트도 필사하여 같이 업로드 하고 싶었지만, 목표를 이루지 못하였다…
단순해 보이지만 세세하게 다듬어줘야해서 생각보다 까다로웠던 필사였던 것 같다!
꼭 원 모양이 아닌, 다른 도형을 이용하여 퍼센트를 나타내는 차트도 가능할 것 같다!! (실제로 지난 필사에서 다른 도형을 이용하여 퍼센트를 나타내는 차트를 필사해 주신 분이 계셨고, 조금 더 응용하여 원 모양을 이용하여 필사해 보았다.)
 
❓계산된 필드 ProgC_SalesProgC_total sales 값이 같은 이유가 무엇일까? 해당 계산된 필드를 이용하여 ProgC_Percentage 를 만드는데… 특별한 이유가 있을까?!
ProgC_Sales
WINDOW_SUM(SUM([Sales]))
ProgC_total sales
WINDOW_SUM(SUM([Sales]))
ProgC_Percentage
[ProgC_Sales]/[ProgC_total sales]
 
❗️태블로에서는 인덱스가 1부터 시작하기 때문에 0부터 시작하도록 현재 행들에서 모두 1씩 빼줘서 바꿔야 함!
INDEX-1
INDEX()-1