개요
1. 계산된 필드
2. 테이블 계산
3. LOD 표현식으로 고급 분석 수행하기
3.1 계산된 필드
데이터 원본에 대한 행 수준 계산 또는 집계 계산
계산된 필드로 할 수 있는 것 : Create, Save, Use
Create : 데이터 소스에서 새로운 컬럼 생성
Save : 새롭게 추가된 컬럼을 저장
Use : 새롭게 추가된 컬럼을 분석에 사용
계산된 필드 사용 이유 - 새로운 데이터를 만들어 분석하기 위해
1. 데이터 분류
2. 데이터 유형 변경
3. 데이터 집계
4. 데이터 필터링
기본 계산의 방식
행 수준 계산 - 데이터 원본의 행 수준에서 계산 (ex. SPLIT)
집계 계산 - 데이터를 집계하여 계산 (ex. COUNT)
1. 숫자 함수
- 필드의 데이터 값에 대한 계산 수행 가능
- 숫자 함수는 숫자 값을 포함하는 필드에서만 사용 가능하다
- ABS(), CEILING(), FLOOR(), ROUND(), ZN()
2, 문자열 함수
- 문자열 데이터 (텍스트) 조작 가능
- 문자열을 분할하거나, 합쳐서 새로운 필드에 저장 가능하다
- SPLIT(), CONTAINS(), LEN(), LEFT(), MID(), RIGHT(), REPLACE()
3. 날짜 함수
- 데이터 원본의 날짜 조작 가능
- 기존 값에서 새로운 날짜 값을 만들 수 있다.
- DATETRUNC(), DATEADD(), DATEDIFF(), DATEPARSE(), DATEPART()
4. 유형 변환
- 필드를 한 데이터 유형에서 다른 데이터 유형으로 변환 가능하다
- 숫자를 문자열 값으로 변환하여 집계하지 않게 할 수 있다
- STR(), DATEPARSE(), FLOAT(), INT()
5. 논리 함수
- 특정 조건이 참인지 거짓인지 여부를 결정 가능하다
- 특정 임계값 위 또는 아래인지를 판단 가능하다
- CASE WHEN, IF ELSEIF, OR, AND, ISNULL(), IFNULL()
효율성은 IF 보다 Case문이 더 높다.
6. 집계 함수
- 데이터를 요약하거나 세부 수준 변경 가능
- 특정 연도의 주문 수를 요약하여 비쥬얼리제이션에 표시한다
- COUNT(), COUNTD(), AVG(), MAX(), MIN(), SUM()
계산된 필드 오류 해결과 집계 방식
1) 집계와 집계되지 않은 것은 혼합 불가
- 모든 필드 집계 또는 모든 필드 집계 해제
2) IF 식에서 집계 및 집계되지 않은 비교 또는 결과를 혼합할 수 없음
- 모든 필드 집계 해제 후 한꺼번에 집계
- ATTR 활용 (비집계 값을 집계로 변경)
※ ATTR
- 하나의 마크에 단일 값만 있거나 모든 멤버가 동일한 경우
- Min = Max 값 반환, 아니면 * 반환
차원과 측정값 집계
1) 차원을 집계하는 경우
- 최소값
- 최대값
- 카운트
- 카운트 (고유)
- 특성 (ATTR)
2) 측정값을 집계하는 경우
- 합계
- 평균
- 중앙값
- 표준편차
- 분산
- etc
3.2 테이블 계산
- 현재 비주얼리제이션에 표시된 항목 기반 계산 (Lookup)
- View 에 보이는 내용을 바탕으로 계산되며, 측정값 집계에 자주 사용된다.
- LOOKUP, RANK, RUNNING, WINDOW
3.2.1 퀵 테이블 계산
자주 쓰이는 계산 유형을 몆 번의 클릭만으로 가능하도록 설정
3.2.2 테이블 계산의 종류
(1) Partition
INDEX()
현재행의 인덱스값 반환
FIRST()
현재행으로부터 첫번째행까지 남은 행 개수 반환
LAST()
현재행으로부터 마지막 행까지 남은 행 개수 반환
LOOKUP(집계[필드],타겟위치)
현재행으로부터 타겟 위치만큼 떨어져있는 집계된 필드 값을 반환
PREVIOUS_VALUE(0)
이전행의 값 반환, 현재행이 첫번째 행인 경우 0 반환
(2) Running
RUNNING_SUM()
파티션의 첫번째 행부터 현재 행까지 누적 합계
RUNNING_AVG()
파티션의 첫번째 행부터 현재 행까지 누적 평균(3번째 행이면 1-3의 평균, 4번째 행이면 1-4의 평균)
RUNNING_MAX()
여태까지 나왔던 값 중 최대값 (5개 행 중에 3번째 행이 가장 크면 3, 4, 5번째 행은 모두 3번째 행 값으로)
RUNNING_MIN()
여태까지 나왔던 값 중 최소값 (5개 행 중에 3번째 행이 가장 작으면 3, 4, 5번째 행은 모두 3번째 행 값으로)
(3) Window
WINDOW_SUM(집계[필드], 시작위치, 끝위치)
지정한 윈도우 범위 내 집계된 필드의 합계 계산
WINDOW_AVG(집계[필드], 시작위치, 끝위치)
지정한 윈도우 범위 내 집계된 필드의 평균 계산
WINDOW_MAX(집계[필드], 시작위치, 끝위치)
지정한 윈도우 범위 내 최대값 (지정한 범위 1-5 번째 행 내에서 3번째 행이 가장 크면 전체 다 3번째 행 값으로)
WINDOW_MIN(집계[필드], 시작위치, 끝위치)
지정한 윈도우 범위 내 최소값 (지정한 범위 1-5번째 행 내에서 3번째 행이 가장 작으면 전체 다 3번째 행 값으로)
(4) Rank
RANK(집계[필드], asc|desc)
집계된 필드의 순위를 반환 / asc:오름차순 순위, desc:내림차순 순위(desc가 기본 설정, asc와 desc는 생략 가능)
ex) 공동1위가3명이면그다음은4위
RANK_DENSE(집계[필드], asc|desc)
집계된 필드의 순위를 반환 / 순위에 gap이 없음
ex) 공동 1위가 3명이어도 그 다음은 2위
RANK_UNIQUE(집계[필드], asc|desc)
집계된 필드의 순위를 반환 / 유니크한 순위
ex) 공동 1위가 3명이어도 각각 1위, 2위, 3위로 정해짐
3.2.3 테이블 계산 시 주의사항
1. 테이블 계산은 집계되지 않은 필드로 수행불가
2. 뷰에서 필터링된 차원은 테이블 계산에서 고려되지 않음 (필터 선반이나 데이터 원본 필터)
3. 정확한 결과값을 위한 정확한 계산이 되었는지 확인할 것
3.3 LOD 표현식 (Level of Detail Expression)
계산할 수준을 세부적으로 제어
LOD 계산식 (Level of Detail Calculations)
- 완전히 독립적인 수준, 더 세분화된 수준, 덜 세분화된 수준
- 데이터 원본 수준 및 비주얼리제이션 수준에서 값 계산 가능
- 재구매 여부, 신규 구매고객 분석, 사용자별 분석, 고객 유지 패턴 분석
LOD Expressions
1. FIXED
현재 View에 관계 없이 특정 차원을 사용하여 계산
Order of Operations 적용 예시
2. INCLUDE
현재 View에서 특정 차원을 추가하여 계산
3. EXCLUDE
현재 View에서 특정 차원을 제외하여 계산
LOD Syntax
차원이 선언되지 않은 경우 : 전체 테이블의 Sales 합계 반환
여러 개의 차원 선언하는 경우
LOD 계산 시 참고 사항
1. FIXED : 차원&측정값 / INCLUDE, EXCLUDE : 측정값
2. 차원을 선언할 때 형태 변경 가능 ex) {FIXED DATETRUNC(‘year’, [OrderDate]) : SUM([Sales])}
3. LOD 식 안의 LOD식 사용 가능 (Nested LOD)
'Project > Tableau' 카테고리의 다른 글
4. 비즈니스 시나리오 (2) (0) | 2022.06.22 |
---|---|
3. 비즈니스 시나리오 (1) (0) | 2022.06.20 |
2. 대시보드 만들기 (4) (0) | 2022.06.20 |
2. 대시보드 만들기 (3) (0) | 2022.06.17 |
2. 대시보드 만들기 (2) (0) | 2022.06.17 |