Looker에서 스프레드시트 결과의 순위를 동적 필터로 사용
하고 싶었던 일
사전에 view로 정의해 두는 것이 아니라, 입도나 집계축을 동적으로 바꿀 수 있는 랭크를 필터로서 사용하고 싶었다.
장애물
사용하는 기술
방법
①view에 type: number의 dimension 과 parameter 의 2개를 추가한다. 이때 dimension의 sql구에서는 parameter의 이름을 지정한다. (이 예에서는 max_rank)
parameter: max_rank {
type: number
}
dimension: rank_limit {
type: number
sql: {% parameter max_rank %} ;;
}
②Explore로 이동. 좋아하는 입도로 집계해, 정렬을 가한 곳에 조금 작성한 dimension(예에서는 rank_limit)를 추가. max_rank는 filter로 추가하고 상위 몇 건 표시하고 싶은지를 입력해 둔다.
(max_rank로 입력 한 값은 rank_limit에 전달되고 고정 값으로 표시됩니다)
③표 계산을 2개 작성. 1번째는 Rank로, 어느 지표로 랭킹을 작성할지를 지정. 두 번째는 Boolean으로, 이전에 작성한 Rank 계산 결과와 rank_limit를 비교하는 것. 반환값은 yesno형.
(이 때, 표 계산을 이용하기 위해 표 안에 사용하지 않은 measure를 사용할 수 없으므로 주의)
④ 작성한 2개의 스프레드시트는 Hide from Visualization 한다.
⑤ 테이블 계산 결과인 show_in_visualization의 설정에서 Hide "No"s from Visualization을 선택하면 No가 반환하고 있는 행이 Visualization에 나오지 않게 된다.
해설
데이터베이스에 존재하지 않는 값에서도 사용자 측에서 임의의 값을 입력할 수 있는 parameter 필드를 미리 작성해 두고,
그 필드와 스프레드시트 결과를 비교하여 yesno 열을 만듭니다.
yesno 필드라면 Hide "No"s from Visualization을 사용할 수 있기 때문에,
랭킹 상위만 표시가 실현되고 몇위까지 표시하고 싶은지도 유저측이 제어할 수 있게 된다.
그래서, 엄밀히 말하면 Filter로서 사용하고 있는 것보다는, Visualization에 표시하고 있지 않다,
라고 할 뿐이라고 생각한다.
Hide "No"s from Visualization은 몰랐고, parameter와의 합치기술로서는
좋은 스킬업 문제가 될 것 같은 내용이었다.
parameter의 확장성의 높이를 생각하면, 아직도 응용의 여지가 있을 것 같네요.
(Appendix) Tableau라고 했어
rank 함수나 index 함수로 계산 필드를 만들어 필터로 적용.
view에는 불연속값으로 넣고, 필터에는 연속값으로서 넣고 있던 기억이 있다.
(연속치가 아니면 슬라이더의 외형으로 조작할 수 없었다)
참고 문헌 (재 게시)
Reference
이 문제에 관하여(Looker에서 스프레드시트 결과의 순위를 동적 필터로 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/esa/items/4b17914f2df6a2534599텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)