본문 바로가기

Programming/ETC

태블로 Radial Pie Gage 차트

 

오늘은 Tableau에서 Radial Pie Gage 차트를 그려보도록 하겠습니다. 최종 산출물은 아래와 같은 그림이 되겠습니다.

 

 

 

1. 우선 테스트를 위해 Data를 마련하도록 하겠습니다.

DescriptionOrderResponse
AWS123.5
TensorFlow228.4
Jupyter Notebooks340.3
SQL453.6
R559.2
Python676.3

요렇게 만들어서 Excel 또는 CSV로 저장한 뒤 Tableau에서 불러옵니다.

 

2. 불러온 데이터를 유니온으로 복사해서 붙여넣습니다. 그럼 이렇게 'Table Name'이라는 필드가 하나 추가되면서 아래쪽으로 데이터가 붙습니다.

 

 

3. Table Name에서 '계산된 필드 만들기' 를 클릭하여 새 필드를 만듭니다. 들어가야할 수식은 아래와 같으며, 의미는 원본일 경우에는 1, 복제본일 경우에는 271을 대입하는 것입니다. 

IIF([Table Name]='progress', 1, 271)

 

 

 

 

의미는 이렇습니다. AWS 한 항목을 생각해볼 때, 화살표 모양으로 1부터 화살머리 부분까지 271개의 포인트를 생성해서 이 두 포인트? 인덱스의 활용은 나중에 설명하도록 하겠습니다. 우선 이름을 Path라고 설정하여 필드를 추가합니다.

 

 

4. 구간차원 만들기

시트 편집창으로 와서 측정값: Path 로부터 구간차원을 만듭니다. Path는 현재 한 항목에 대해 1, 271 의 값이 입력되어 있는 상태인데, 이를 특정 간격(1)으로 나누는 차원을 만듭니다. 즉 1부터 271개의 포인트를 생성하는 작업입니다.  

 

 

5. 계산된 필드를 몇개 만들도록 하겠습니다. 만들어야 하는 필드가 좀 많은데...

  (1) Percentage, (2) Index, (3) wc_pie, (4) wc_start, (5) wc_percentage, (6) x (7) y 입니다.

 

(1) Percentage: 현재 최고값인 76.3으로 나눈 값

[Response]/76.3

(2) Index

(INDEX()-1)*2

(3) wc_pie: 파이(3.14)값

WINDOW_MAX(MAX(pi()))

(4) wc_start: 시작 위치. 좌표를 기준으로 각 항목마다 1씩 떨어져있습니다.

WINDOW_MAX(MAX([Order]))

(5) wc_percentage:

WINDOW_MAX(max([Percentage]))

(6) x: Path 포인트 별 x 좌표를 계산합니다.

IF[Index]<270 THEN
	SIN([Index] * [wc_percentage]*[wc_pie]/180)*[wc_start]
ELSEIF [Index]>270 then
	SIN((540-[Index])*[wc_percentage]*[wc_pie]/180)*([wc_start]+1)
ELSE
	SIN(([Index] * [wc_percentage]+3)*[wc_pie]/180)*([wc_start]+0.5)
END

radial pie gage 차트가 어려운게 자동으로 그려주는 게 아니고 이렇게 포인트 계산을 직접해서 그려줘야 합니다. 그것도 화살표를 나타내는 안선/바깥선/화살꼭지를 각각 그려줘야 합니다. 포인트 1~269번까지는 안쪽 포인트입니다. 인덱스가 1일 경우 시작 포인트는 1 즉, 중심점에서부터의 거리를 1로하는 원호를 그리게 됩니다. 270~539까지는 시작포인트가 1+1인 즉 2의 거리를 가진 원호를 그리게 됩니다. 마지막으로 270번째 포인트는 1.5의 원호를 그리는데, 원래 퍼센티지에서 3도 더 진행한 포인트까지 진행합니다. 

 

(7) y: Path 포인트 별 y 좌표를 계산합니다.

IF[Index]<270 THEN
	COS([Index] * [wc_percentage]*[wc_pie]/180)*[wc_start]
ELSEIF [Index]>270 then
	COS((540-[Index])*[wc_percentage]*[wc_pie]/180)*([wc_start]+1)
ELSE
	COS(([Index] * [wc_percentage]+3)*[wc_pie]/180)*([wc_start]+0.5)
END

이렇게 계산된 필드를 만들었습니다. 고생하셨습니다. 

 

6. 이제는 비교적 쉬운 부분만 남았습니다. 각 차원 및 측정값을 이용하여 그래프를 그려보겠습니다.

 

(a) Path(구간차원) 을 세부정보에 드래그합니다.

 

 

(b) 측정값 x, y 를 각각 열, 행에 위치시키고, x, y 각각에 대해, 우클릭 / 다음을 사용하여 계산 / Path(구간차원) 을 클릭합니다.

 

 

먼가 될것같은 그림이 나왔습니다.

 

(c) 마크 유형을 다각형으로 변경하고, 측정값: Index를 끌어다 경로에 올려놓습니다. 드디어 원호형 화살표가 만들어졌습니다.

 

 

(d) Description을 끌어다 색상에 놓습니다. 드디어 그래프가 완성되었습니다. 

 

 

 

오늘은 Radial Pie Gage 차트에 대해 구성 방법을 알아보았습니다. 완성도를 높이기 보다는 기본 구축 방법에 대해서만 올려놓도록 하겠습니다.

 

그럼 이만~~~