brunch

You can make anything
by writing

- C.S.Lewis -

by VNTG Looker Feb 08. 2019

Looker에서의 그룹화(Bucketing)

Bucketing in Looker

본론에 앞서 이 글은 Looker Community의 「Bucketing in Looker」를 번역한 글임을 밝힙니다.



그룹화/Bucketing은 사용자 지정 그룹 Dimension을 생성하는데 유용하게 사용됩니다.


Looker에는 Bucket을 만드는 3가지 방법이 존재합니다. Dimension type 중 하나인 tier를 이용하거나,

sql_case 파라미터를 이용하거나, SQL의 CASE WHEN 구문을 이용할 수 있습니다. 아래에서 세 가지 방법을 하나하나 상세히 설명 드리도록 하겠습니다. 



Tier를 이용한 Bucketing

integer 값을 갖는 항목의 Bucket은 Dimension에서 tier를 이용하면 쉽게 생성할 수 있습니다.


또한 style 파라미터를 이용하면 Explore에서 tier가 표시되는 방식을 지정할 수 있습니다. integer / interval / relational 3가지 옵션이 존재하고 다음과 같이 작성할 수 있습니다.


각 style은 다음과 같이 표시됩니다.


tier에 대한 더 자세한 내용은 아래 링크를 참조하시길 바랍니다. 

https://docs.looker.com/reference/field-reference/dimension-type-reference#tier


sql_case를 이용한 Bucketing

case(Old LookML에서는 sql_case)를 이용하면 사용자가 Bucket의 이름을 지정할 수 있습니다. 이는 필터링과 시각화를 쉽게 도와주기 때문에, 고정된 그룹을 생성할 때 추천합니다.

다음과 같이 sql_case를 이용하여 쉽게 Bucket Dimension을 생성할 수 있습니다.


Old LookML : 


New LookML : 



sql_case는 기본적으로 아래와 같이 bucket을 생성한 순서대로 정렬합니다.


생성한 Diminsion의 값이 알파벳순으로 정렬하고 싶다면 다음과 같이 alpha_sort: true 코드를 다음과 같이 Dimension에 추가하면 됩니다.


sql_case에 대한 더 자세한 내용은 아래 링크를 참조하시길 바랍니다.

Old LookML : https://oldlookmldocs.looker.com/reference/field-params/sql_case

New LookML : https://docs.looker.com/reference/field-params/case#alpha_sort



CASE WHEN을 이용한 Bucketing

CASE WHEN을 이용하면 다른 Bucketing 방법들과 비교하여 좀더 복잡한 조건의 Bucket을 생성할 수 있습니다. 예를 들면 각 case에 대한 결과가 Dimension인 경우에도 사용 가능합니다. 아래의 예시는 각 order의 도착지마다 단순 문자열이 아니라 Dimension을 반환합니다.






QNAs:

Q1) tier를 사용한 Bucketing에서 Null인 값을 Bucket에 할당하려면 어떻게 해야하나요?

A1) sql 파라미터를 이용하여 coalesce 함수를 사용하여 null을 대체 후 할당 가능합니다.


Q2) 하드코딩 없이 n-tile 구현이 가능한가요? 예를들면 사분위수로 값을 분할하여 Bucket을 생성할 수 있나요?

A2) 파생 테이블을 생성 후 다시 결합하는 방식으로 구현해야 합니다.


Q3) 1000개의 Bucket을 생성 후 상위 10개의 Bucket만 표시하려면 어떻게 해야하나요?

A3) Explore에서 Row limit 값을 10으로 지정하는 방식으로 구현해야 합니다.








About Looker

Looker는 데이터 중심의 의사 결정을 모든 기업 계층에 제공합니다. 가치를 더하고 단일의 진리의 원천을 만드는 최신 데이터 플랫폼을 제공합니다. Amazon에서 Sony에 이르기까지 750개 이상의 업계 리더가 Looker를 사용하여 모든 팀이 어디에서든 정보에 입각한 의사결정에 필요한 데이터에 액세스 할 수 있도록 지원합니다.


- Looker 홈페이지: https://looker.com/

- 빈티지랩 Looker 사업팀 이메일: looker@vntglab.com


매거진의 이전글 Looker 정렬(Sorting) 오류 수정

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari
;