본문 바로가기
Tableau 흡수내용

[태블로(Tableau)]자동 view merge를 1행씩 쪼개기

by Mr.noobiest 2022. 3. 8.

 

태블로를 사용하다 보면 같은 값인 차원들은 View상에서 자동으로 merge되는것을 볼 수 있다.

 

하지만 가끔 이렇게 Merge된것을 크로스탭처럼 1줄씩 보여주고 싶은 경우가 있을수 있다.

자동으로 같은 값끼리 묶이는 경우
위의 대시보드를 아래처럼 만들고 싶다.

 

 

방법은 크게 2가지이다, 이것말고 다른 방법도 알고 있는게 있다면 댓글로 알려주기 바랍니다.

(쿼리문을 사용하여 행마다 Row_ID를 주는것외의 방법)

 

 

방법 1) INDEX()

물론 행에바로 INDEX()를 써줘도 되지만 이렇게 계산된 필드로 만들어두면 나중에 "상위 N개만 표시" 같은것을 할때 도움이 된다.

 

1-1) 계산된 필드 -> INDEX()

계산된 필드로 INDEX() 생성

 

1-2) 생성된 INDEX()를 불연속형으로 변경

 

1-3) 행/열에 생성한 구분(INDEX()를 가장 앞에 게시한다.

가장 앞에 놔야지만 1줄씩 표현된다.

 

1-4) 이후 구분을 가려주기 위해 "머리글 표시"를 비활성화해준다.

 

 

1-5) Profit

 

 

방법 2) 결합된 필드 사용.

 

 

 

2-1) 행/열에 사용되는 모든 차원을 Shift+클릭으로 동시 선택 -> 만들기 -> 결합된 필드를 눌러준다.

 

 

 

 

2-2) 2-1)에서 생성된 결합된 필드를 행/열의 맨 앞에 게시해준다.

 

 

 

2-3) 머리글 표시를 비활성화하여 가려준다.

 

 

2-4) 끝

 

 

 

 

이를 활용하여 원하는 부분만 Merge하는것도 가능하다.

 

 

 

물론 쿼리문을 사용할 경우 쿼리문에 ROW_NUMBER()를 사용해서 기준이되는 행 번호를 사용해도된다.

ROW_NUMBER() OVER(PARTITION BY country ORDER BY profit) AS rnum 

ROW_NUMBER() OVER(PARTITION BY 컬럼 ORDER BY 값) AS `로우번호`

 

 

 

단점 : 이렇게 INDEX()를 넣어주면 후에 데이터를 엑셀로 다운로드 할경우 INDEX()가 엑셀 상에 이상하게 표시되는 경우가 있으니 VIEW에만 써주고 실제 다운로드하는 시트를 별도로 만드는게 좋다.

 

728x90
반응형