[Tableau] 신병훈련소 실습 _ 계산된 필드 만들기
분석에 필요한 필드가 데이터 원본에 포함되어 있지 않은 경우도 있다.
이때, 계산된 필드를 사용하여 원본에 존재하는 데이터에서 새로운 데이터를 파생하여 만들 수 있고,
새 데이터에 대한 계산을 수행할 수 있다.
이를 통해 복잡한 분석을 수행하고 데이터 원본에 고유한 필드를 즉석에서 추가할 수 있다.
예를 들어 데이터 원본에 매출, 수익 필드는 존재하지만 수익률 에 대한 필드는 없다고 가정하면,
다음과 같이 매출과 수익 필드를 사용하여 수익률 이라는 계산된 필드를 만들 수 있다.
계산된 필드의 경우 아이콘이 =# 로 나타난다.
* 계산식은 행 수준의 계산식과, 집계수준의 계산식으로 나뉜다.
행 수준 계산식 | 집계 수준 계산식 |
모든 행에 대해 계산 후 결과값 집계 | 각 필드 값을 집계한 후에 계산 |
[수익] / [매출] | SUM([수익]) / SUM([매출]) |
측정값(합계,평균,카운트..) 변경 가능 | 이미 집계를 완료했기 때문에 측정값 변경 불가능 |
모든 행에 대해 결과값이 실체화(materialized) 되기 때문에 처리로직을 다시 실행할 필요가 없음. |
뷰에 사용된 차원에 따라 집계값이 달라지기 때문에 Tableau데이터 추출에서 실체화 될 수 없음 |
또 다른 예로 색상을 사용하여 수익성이 있는것과 없는것으로 분류하고 싶을때,
다음과 같은 계산된 필드를 만들고 마크 선반의 색상에 추가하면 시각화 된다.
Q. 평균 카페인 함유량이 80mg보다 높은 카테고리와 아닌 카테고리를 분류해서 볼 수 있도록 새로운 필드를 만들어 보자.
1. 카테고리별 평균 칼로리 시각화
2. 계산된 필드 만들기
3. 새로만든 카페인 함유량 필드를 마크 색상에 추가.
결과
Q. 매장별로 매장 운영시간을 표현하고, 시도 필터를 글어 각 시도의 매장별 운영시간을 확인해보자.
1. 매장명 나열 후, 시도 필터를 걸어 시도 별 매장명 정보를 나타내도록 한다.
2. 다음은 운영시간을 알아야하는데, 운영시간 필드가 없다.
존재하는 필드는 영업시작시간/ 영업종료시간 이 있으므로 해당 필드를 계산하여 운영시간 필드를 만든다.
종료 - 시작 = 운영시간이 되는데, DATEDIFF 함수를 사용한다.
* DATEDIFF(date_part, 시작_날짜, 끝_날짜)
date_part는 다음 표 참고
* 단, 시간의 차이를 DATEDIFF('hour', 시작_날짜, 끝_날짜) 로 구하는 경우
단순히 "시간"만을 기준으로 계산하기에 "분"단위의 차이는 계산되지 않는 한계가 있음.
분단위 까지 구하고자 하는 경우에는 다음과 같은 방법으로 구할 수 있다.
- "분" 단위로 계산 후, "시간"으로 재환산
DATEDIFF('minutes',[영업시작시간],[영업종료시간]) / 60
3. 계산 필드 운영시간을 열에 추가해 주고, 레이블을 표시한다.
결과
https://cheershennah.tistory.com/268