세조목

태블로 - 계산식(LOD식, IF조건문) 본문

데이터 분석 공부/태블로

태블로 - 계산식(LOD식, IF조건문)

세조목 2024. 3. 1. 20:58

실전 프로젝트를 진행하면서 태블로로 시각화할 때 계산식을 꽤 많이 활용하고있다.

'두 명 이상의 ~~~', '두 가지 이상의 ~~~', 'user_id가 없는 ~~~'와 같은 조건들 말이다.

python에서야 groupby 메서드로 a를 기준으로 b를 집계한 다음 그 값들을 가지고서 boolean 인덱싱하면

조건에 해당하는 값들을 쉽게 소팅할 수 있는데

태블로에서는 python에서와같은 방법을 활용할 수 없어서 많은 시간 고민을 해야했다.

 

'계산된 필드 만들기' 가 방법이라는 것은 알고 있었지만 어떻게 계산식을 작성해야하는지가 문제였다.

계산된 필드 만들기

 

아래 이미지는 금번 실전 프로젝트에서 우리가 풀어야 하는 과제인데

첫번째 문제를 보면

'두 명 이상의 unique user가 있는 세션의 수와 비율을 구하고 시각화화라'

이다.

두 명 이상의 unique user가 있는 세션의 수와 비율을 구하기위해서

어떻게 계산식을 작성할 것인가?

 

우선 세션별 user 수를 구하기위해 LOD식을 작성해야한다.

LOD식 중에서도 'FIXED'를 사용하여 session을 고정시키고

COUNTD 함수를 써서 고유한 user(중복없는)의 수를 counting하면

세션별 user수를 구할 수 있다.

LOD식 예시

 

그런 다음 한 번 더 계산식 필드를 열어서

위에서 만든 LOD식의 값이

2보다 크면 '2명 이상,

1이면 '1명',

그 외는 '0명'

으로 표시하라는 IF조건문을 작성한다.

조건문

그렇게 만들어진 값을 마크카드의 '색상'에다 드래그 & 드랍하면

2명 이상, 1명, 0명으로 분할된 파이 차트를 확인할 수 있다.

 

앞서 살펴본 문제의 경우 'a별 b의 값이 n이상인'과 같은 유형이었는데

위 이미지의 빨간색 부분에 해당하는 문제의 경우

'a가 b인 경우의 수'와 같은 유형이기때문에

다르게 접근해야할 필요가 있다.

 

앞서 살펴본 문제보다는 간단하게 풀 수 있다.

조건을 만들고 그 조건을 필터에 집어넣어서

확인하고자 하는 숫자만을 체크하면 되기때문이다.

 

예를들어 user_id가 null인 조건을 지정하고자하면

아래와 같이 조건을 작성해주면 되고

 

이렇게 작성한 조건값을 아래 이미지에서와같이

필터 카드에 드래그 & 드랍해주면 된다.