본문 바로가기
IT,SW,Data,Cloud,코딩/Tableau (태블로)

Tableau 공부 8 집합 set action

by 착실하게 2023. 9. 8.
반응형

태블로의 집합이란 ?

조건을 기반으로 하나의 영역을 in / out 으로 분리. 

사용자 지정 필드임. 필터로 쓸수도 있고. 마크 색상에 놓거나 행/열 선반에 놓는것도 가능함. 

 

집합 동작 - Tableau

 

집합 동작

집합 동작을 사용하여 대상 독자가 비주얼리제이션이나 대시보드와 직접 상호 작용하여 분석의 특성을 제어할 수 있게 할 수 있습니다

help.tableau.com

 

집합과 필터는 친척임.

집합은 조건을 기반으로 하나의 영역을 IN/OUT 분리

필터는 IN에 속하는 멤버만 유지 

 

 

정적 집합과 동적 집합이 있음.

 

정적 집합의 생성

1) 직접 

일부 데이터를 차트에서 마우스로 블록 지정해서, 우클릭 > 집합 만들기 가능함.

데이터에 벤다이어그램 아이콘으로 필드가 생성됨. 여러 워크시트에서 중복해서 쓸수있음. 

2) 수식 

데이터 우클릭 > 집합 만들기 > 조건문으로 만들수있음.

필터에서 우클릭해서 바로 집합 만들기도 가능함. 

 

동적 집합의 생성

1) 조건 기반 

수식을 쓸 때 (1) 조건에 집합 생성 대상 차원을 포함하거나, (2) 포함하지 않을때는 반드시 집계 형태만 사용 가능하고 (3) 결과는 참/거짓으로 나뉠 수 있어야 함. IN/OUT 구분은 곧 boolean 형태. 조건식 형태여야함.

 

 

2) 상위 기반  

고객 세그먼트 > 집합 만들기 > 상위 기반 > 매출 합계 기준 top10 으로 만들수 있고

상위 10개 가 아니라 N개로 할수도 있다. 그럴려면 거기서 바로 새로운 매개변수 만들어서 연결 하면 된다. 

방금 만든 이 매개변수를 화면에 표시하면 동적으로 컨트롤해가면서 볼수있다.

이 차트에서 top N이 차지하는 매출 비중을 확인가능함

 

집합 간의 연산

집합 2개 동시 클릭한 상태에서 우클릭 > 결합된 집합 만들기.

 

계산식에 집합 사용

집합 자체를 계산식에 사용가능.

행 수준으로 집합의 멤버 여부를 판단하여 참/거짓 확인 가능함. 

계산된 필드 만들기에서 이런 식을 사용할 수 있다. IF [제품 중분류 집합] THEN  [제품 중분류 집합] ELSE "" END 

제품 중분류 집합에 속하면 제품 중분류 표시하고 아니면 Blank로 나옴.

 

근데 이런식으로 하면 동적 변동 시키기는 어려움. 

집합 자체를 편집해야함. 

그래서 나온게 집합 작업임.

 

집합 작업 Set Actions

 

집합 작업의 작동 원리

선택된 마크를 기반으로 집합의 멤버를 조정 가능. 

마크 선택하면 해당하는 마크로 집합의 멤버를 변경시켜주는 기능임. 

 

이 것은 워크시트가 아니라 통합문서 수준에서 저반적으로 적용될수있는 범위임.

기존 액션은 하나의 작업으로 연동되는데, (url연결, 하이라이트 하기 등)

집합 작업은 타겟을 다수개/한개로 모두 가능하고, 이 집합으로 계산에도 쓸수있고 무궁무진하게 사용가능하다. 

 

집합 작업 사용해보기

집합 작업이 일어나기를 원하는 범위가 '워크시트'인지 '대시보드'인지에 따라서,

메뉴 > '워크시트' 할지

메뉴 > '대시보드' 할지 선택 해주면 된다. 

 

메뉴 > '워크시트'  > '동작' (= 구 작업) > 동작 추가 (드롭다운) > 집합 값 변경 > 팝업창 뜸 > 여기서 만들어주면됨.

이렇게 해서 만들면 

마크에서 선택해서 집합을 만들었던 그 집합은,

내가 뷰에서 선택을 다른걸 하고 그 집합을 편집하려고 열어보면 바뀌어있음.

워크시트 동작추가로 만든 집합이 아니라 그냥 만든 집합은 안 바뀜. 바뀌게 하고싶을때 집합 값 변경 동작을 워크 시트에 추가하고 그 대상을 내가 만든 집합으로 추가해주는것임.

 

 

집합 작업 사용 사례 - 실제로 어떤 식으로 쓸 수 있는지!!! 

 

1) 부분 vs 전체 / 선택한 것 vs 선택하지 않은 것

 

대시보드에서 동작 추가해서 적용 가능하다. 

 

대시보드에서도 마크 선택하여 바로 집합 만들기 가능함.

대시보드에서 워크시트1의 마커를 선택해서 만든 집합이 워크시트2에 가서도 바로 보인다. 

이 집합을 워크시트2에서 사용하여 적용하면 된다. 예를 들어 파이차트 색상에 넣는 경우 전체 대비 비중이 보인다. 

이때 집합값은 내가 대시보드 내 워크시트1 에서 다시 선택해도 안바뀌고 고정되어 있음.

이걸 바꾸고 싶다면?

메뉴 > 대시보드 > 동작 > 동작 추가 (드롭 다운) > 집합값 변경 > 팝업창에서 원하는 설정으로 선택.

(위에서 집합값변경 동작 만든거랑 원리는 같음)

 

이렇게 한번 만들어둔 동작이 있다면 그 뒤에는 해당 집합에 대해 따로 동작추가 안해도 됨.

 

해당 워크시트로 이동해서 데이터 플레인 쪽에 집합이 만들어져있는게 보이고 

그 집합을 마커의 색상이라던가 원하는 데에 적용시키고 다시 대시보드로 돌아오면 

대시보드에서 보여지는 그 워크시트에서 내가 원하는대로 동작이 일어나고있음. 

 

왜냐면 집합은 data plane에서 만들어지는 것이기 때문에 (전체 통합문서에서 계속 활용할 수 있는 수준)

한번 만들어진 작업은 동일한 집합을 쓰는 모든 워크 시트에 다 반영이 된다. 

 

2) 선택 vs 기타 

하려고 하는 것:

 

특정 항목들 선택했을때 in/out 으로 뭉쳐서 보여지는게 아니라 

선택된 것들은 항목이름별 보여지고 나머지는 기타로 보여주고 싶다. 

그리고 이걸 대시보드에서 하고 싶다. 

 

만드는 방법: 

 

일단 집합을 하나 만든다. 

 

그리고 그 집합을 해당 워크시트의 마커의 색상에 넣는것이 아니라 

해당 워크시트에서 계산된 필드를 아래와 같이 만들어주고 이 계산된 필드를 해당 워크시트의 마커에 색상으로 지정해준다.

 

 

그리고 대시보드로 돌아와서 대시보드에서 선택한 것이 그 계산된 필드에 들어가지도록 바꾸어주면 끝이다.

대시보드에서 메뉴 > 대시보드 > 동작으로 가서 아까 한 것 처럼 집합 동작을 추가해준다. 그러면 완성. 

 

 

 

BEFORE 

 

AFTER

 

 

 

3) 선택 집합 평균 대비 차이 

 

하고싶은 것: 

 

특정 항목 선택하면 선택된 항목들의 평균을 구하고 그 새로 계산된 값을 기준으로 차이를 표현하고 싶다. 

 

현재 상태 (before) : 

 

 

만드는 방법: 

 

(1) 집합 만들기

 

(2) 계산된 필드 만들기 

 

(3) 만든 계산된 필드를 Columns 선반에 올리기 

 

(4) 계산된 필드 만들기

 

 

(5) 이렇게 만든 필드로 자동 생성되어 적용되어 있는 window_avg를 대체시키면 됨. 

-->> 위에 노란색 동그라미 쳐진데다가 방금 만든 계산된 필드를 오버랩 시키면 됨. 그러면 평균 계산이 다시 된다.

-->> 그리고 열 선반의 알약에서도 대체해준다.

 

(6) 좀더 잘 표현하기 위해서 

아까 1번에서 만든 집합 을 색상에 표시

 

(7) 아까 3번에서 올렸던건 열 선반에서 빼주기 

 

(8) 마지막으로, 선택한 값으로 집합이 바뀌도록 세팅해준다. 

 

완성 (after) : 

 

 

 

4) 부분vs부분 - 동일한 집합을 두번 사용하는 케이스. 

 

(1) 집합을 2개 만들었다. 시도선택1과 시도선택2. 

(2) 선택1_지역 워크시트에서, 선택1을 필터에 넣어줌.

(3) 선택2_지역 워크시트에서, 선택2을 필터에 넣어줌.

 

(4) 선택1vs선택2 워크시트에서 계산된 필드 2개를 만들었음. 매출선택1과 매출선택2. 

매출선택1 =if 시도선택1 then 매출 end 

2도 마찬가지 로직으로 생성.

 

(5) 행 선반: 매출선택1

열 선반: 매출선택2

올려준다.

그런데 이렇게 하면 어디가 더 많이 팔렸는지 시각적으로 잘 안 보이니까. 축을 맞춰주기 위해서. 매출선택1을 열 선반에도 올려준다. 그러면 축이 맞아짐. 

 

(6) 그리고나서 분석 > 추세선을 선택1(행)에 그려줌

선택1의 색상 마크를 불투명도 0%로 하면 동그라미가 사라짐.

 

(7) 열 선반에서 선택1 우클릭하여 이중축 적용.

그리고 열/ 매출선택1  을 우클릭하여 축 동기화 시켜주고 머리글 표시 지워주면 비교할 준비 완성.

 

이 선보다 우측이면 매출선택2가 많은것이고

이 선보다 좌측이면 매출선택1이 많은 것임. 

 

마크의 매출선택1에 색상에 들어가있는 것도 빼주기. 

 

(8)매출선택2의 색상을 더 정확하게 보려고 계산된 필드를 만들어줌.

차이 = SUM([매출_선택1]) - SUM([매출_선택2])

그리고 이 필드를 색상에 적용시켜줌.

 

(9) 선택했을 때 집합이 바뀌도록 하기.

선택1에 대해서도 만들고 선택2에 대해서도 만들기.

 

 

(10) 완성

 

 

(11)  advanced - 선택된 항목이 튀어나오게 하고 싶다면 

집합을 열 선반에 넣어주면된다. 

 

 

 

 

5) 장바구니 분석.

제품을 구매한 고객이 구매한 다른 제품 확인하는 대시보드.

 

(1) 집합 만들기

- 제품 집합 1개, 고객명 집합 1개. 

고객 인터랙션하면서 선택된 걸 담을 통 역할.

 

(2) 맨 왼쪽의 제품 매출 워크시트에서. 집합을 활용한 집합 만들기. 

고객명 ㅡ> 집합 만들기. # 제품 중분류 (고객명(집합))기준

조건 = max( [고객명 (집합)] ) 으로 준다. 한번이라도 구매하게 되면 true 로 존재하게 된다. in으로 집합에 들어감.

이 집합으로 색상 표현을 해준다.

그러면 특정 아이템을 구매한 고객이 구매한 비중이 색상으로 나타난다. 

 

(3) 중간에 있는 아이템 구매 고객 워크시트에서. 

구매한 고객 집합으로 필터를 해준다. 

 

(4) 마지막의 선택고객구매이력 워크시트에서. 

이제는 고객이 선택되었을때 그 고객이 한번이라도 등장한 제품 중분류를 in으로 보는 집합을 만들어주자.

이것도 집합을 활용한 집합 만들기임. # 제품 중분류 (고객명(집합))기준

조건 수식 = max( [고객명 (집합)] ) 

해당 고객이 산 것과 안 산 것을 정리할수있음. 

 

집합을 행 선반에 올려주고.

별칭을 바꿔줌. in은 기 구매. out은 미 구매.

 

(5) 대시보드로 돌아가서. 선택했을때 연결되는 동작들을 만들어주기.

 

 

(6) 완성.

 

 

6) 비대칭 드릴다운 - 집합 사용 

 

(1) 집합 2개 만들고, 계산된 필드 2개 만들기. 

제품 대분류(집합) 과 제품 대분류 집합으로 계산된 필드를 만들어줌. 

제품 중분류(집합)과 제품 중분류 집합으로 계산된 필드를 만들어줌. 

 

(2) 만든 '계산된 필드' 2개를 행 선반에 갖다넣고. 너비 맞추기 해줌.

 

(3) 동작 2개 추가. 

(4) blank 값도 같이 펼쳐져서 이상하게 동작함. 이걸 빼주자. 

아까 만든 '계산된 필드'인 제품명(선택기준)의 수식을 바꿔줌.

 

 

(5) 완성. 

드릴다운 가능함.

 

 

반응형

댓글