본문 바로가기
데이터 시각화 및 대시보드/Tableau

[Tableau] 매개변수, 데이터 모델링 및 데이터 전처리

by 11car28z 2023. 7. 24.
1. 데이터 원본에 없는 새로운 필드 만들기

(1) 계산된 필드 만들기

태블로에서 다양한 형태의 뷰를 만들고 분석하고 싶은데,

데이터 원본에 없는 필드를 직접 만들 수 있습니다.

 

간단한 계산식부터 복잡한 계산식을 내장되어 있는 함수를 활용해 만들 수 있습니다.

 

여기에서는 간단한 집계 계산식을 쓰고, 이후에는 다양한 사례를 통해 실제 업무에서 활용하는 여러 예시를 적용하겠습니다.

 

(2) 매개 변수 만들기

매개 변수는 상수 값을 동적인 값으로 변경해 줍니다.

단, 혼자서 쓰일 수 없고 반드시 계산식, 필터, 참조선과 연동되어야 합니다.

 

또한 막대 차트를 나누는 기준인 차원을

태블로 사용자가 특정한 하나의 차원으로 화면을 살펴보는 것이 아니라 여러 개를 고를 수 있는 선택권을 주도록 매개 변수를 만들겠습니다. 

<실습>
Q. 모든 사람들의 니즈를 만족할 수 없어 매개변수를 만들고 계산한다.
1. 데이터 원본 가져오기
2. 행 제품 중분류 + 열 매출 + 레이블 매출
3. 계산된 필드 만들기 - 2억 이상_TF / SUM(매출) >= 200000000
(→ 측정값인데 불연속형 (불연속형 값의 범위 유한) 참과 거짓 2가지로 유한해 불연속)
4.색상에 2억 이상_TF
Q. 매개변수를 만들어서 대상을 바꾸기

1.매개변수 만들기 - p.매출 이상/ 정수/ 범위/최소값 50m, 최대값 5억, 단계크기 5천

2.매개변수 표시

매개변수 변화에 따라 변화하는 그래프만들기 - 숫자값
1. 계산된 필드 만들기 - 매출 이상_TF/SUM([매출]) >= [p.매출 이상 ]
2. 분석 - 사용자 지정 - 참조선 - 테이블 - 값에 p.매출이상/레이블에 사용자 지정, “<값> 구분선”
매개변수 변화에 따라 변화하는 그래프만들기 - 문자열
  1. 매출 + 고객 세그먼트
  2. 매개변수만들기 - p.차원 선택 / 문자열/목록, “고객 세그먼트”,”제품 대분류”,”제품 중분류”,”지역”,”시도” - 매개변수 표시
  3. 계산된 필드 만들기
    - 차원 선택/

CASE [p.차원 선택]
WHEN '고객 세그먼트' THEN [고객 세그먼트]
WHEN '제품 대분류' THEN[제품 대분류]
WHEN '제품 중분류' THEN[제품 중분류]
WHEN '지역' THEN [지역]
WHEN '시도' THEN [시도]
END

-열 차원선택 + 행 계(매출) + p.차원선택 변화


매개변수 변화에 따라 변화하는 그래프만들기 - 문자열2
1. p.측정값 선택/문자열/목록 “매출”,”수량”,”수익” - 매개변수 표시
2. 계산된 필드 만들기 - 측정값 선택/

CASE [p.측정값 선택]
WHEN '매출' THEN SUM([매출])
WHEN '수량' THEN SUM([수량])
WHEN '수익' THEN SUM([수익])
END

3. 열 차원선택 + 행 집계(측정값 선택) + p.측정값 선택 변화
4. 타이틀 수정 - <시트 이름>(<매개 변수.p.차원 선택>기준 수익)

**p.차원선택 변화시 p.측정값 선택 변화해 그래프 다양하게 볼 수 있음.

매개변수 변화에 따라 변화하는 그래프만들기 - 문자열3
1. 계산된 필드 만들기
- 측정값 단위/
CASE [p.측정값 선택]
WHEN '매출' THEN '원'
WHEN '수량' THEN '개'
WHEN '수익' THEN '원'
END

2. 레이블 측정값 선택 + 레이블 측정값 단위
3. 색상에 측정값 선택
4. p.차원 선택 - 매개 변수 표시

 

2. 데이터 모델링 (1) 및 지도 시각화
(1)유니온 결합
시트(테이블)을 아래로 붙이는 연결 방식인 Union을 활용합니다.

데이터 원본 - 스타벅스 매장.xlsx (데이터 출처 - 스타벅스 홈페이지)

1. 17개 시도 시트를 유니온 연결합니다.

2. [Address] 필드를 사용자 지정 분할해서 [시도]와 [시군구] 필드를 만듭니다.

3. [시도], [시군구], [매장별] 시트를 각각 따로 만듭니다.

4. 대시보드 필터 동작을 적용합니다.

5. 필요시 [시도] -> [시군구] -> [매장별] 시트로 Drill-down하면서 클릭할 때 마다 하위 뎁스가 나오도록 설정하고 싶다면 필터 동작 시 '선택 내용을 지울 경우의 결과'를 '모든 값 제외' 설정합니다.

(2)맵 차트 만들기

 

 

3. 데이터 모델링 (2) 및 데이터 전처리
관계 설정 및 사용자 지정 분할
Q. 관계 설정 후 데이터 원본에 없는 새로운 날짜 필드 만들기
1. 전자영수증 숨기기
2. 날짜 - 날짜 및 시간
3. 구매 목록 드래그해서 화면 빈곳에 추가 → 결제와 구매 목록이 연결 \
4. 구매목록에 no값에 중간중간 없는 값이 있음. (실제 구매 목록에 대한 것이기때문에)
5. 구매목록 아이템 - 사용자 지정분할 [), 지난, 2→ 음료에 대한 것만 추출할 것이다. (아이스/사이즈/음료이름)
6. 필터추가 - 아이템 분할 1 - 플레너나 공장제품 제외
7. 아이템 분할1 - 사용자 지정분할[-,지난,2]
8. 이름을 Beverage, iced, Size로 변경
1. 행 합계 구매목록 + 색상에 iced
2. 계산된 필드 만들기 - ‘아이스/일반’ /
//IIF: 결과가 두가지인 경우 사용 IIf([iced] = 'I','아이스', '일반')
-라벨에 아이스/일반 드래그
3. 열 날짜(월)


1. 계산된 필드 만들기 - 계절/

//[날짜]의 '월' 기준으로 //3,4,5는 '봄' //6, 7, 8 여름 //9, 10, 11 가을 //12, 1, 2 겨울

CASE DATEPART('month', [날짜])
WHEN IN(3,4,5) THEN '봄'
WHEN IN(6, 7, 8) THEN '여름'
WHEN IN(9, 10, 11) THEN '가을'
WHEN IN(12, 1, 2) THEN '겨울'
END

-열 계절, 월(날짜) + 행 NO(구매목록)

2. 계절-기본속성-정렬 - 수동

Q. 구매비중 구하기
1. 레이블에 구매목록(카운트) - 퀵테이블 계산 - 구성비율
2. 월(날짜) 삭제
3. 행 카운트(구매목록) 삭제
4. 컨트롤 + 레이블에 있던 카운트(구매 목록)을 행에 추가

1. 행 카운트(결제) + 열 날짜(시간) 불연속형
2. 시간이 포함되어 라인을 자동 추천, 막대로 변화
3. 계산된 필드 만들기 - 시간대 /
// [날짜]의 '기간' 기준으로
//7~10시까지 '아침',
//11~13시는 '점심'
//14~17시까지 '오후'
//나머지는 '저녁'
//if보다 case가 효율적이다.
CASE DATEPART('hour', [날짜])
WHEN IN(7,8,9,10) THEN '아침'
WHEN IN(11,12,13) THEN '점심'
WHEN IN(14,15,16) THEN '오후'
ELSE '저녁'
END

//IF DATEPART('hour', [날짜])<11 THEN '아침'
//ELSEIF DATEPART('hour', [날짜])<14 THEN '점심'
//ELSEIF DATEPART('hour', [날짜])<18 THEN '오후'
//ELSE '저녁'
//END

4. 열에 시간대, 시간(날짜) 순으로 배치
5. 시간대-기본속성-정렬 - 수동

1.계산된 필드 만들기
- 평일/주말  /
//[날짜]의 요일에서 월~금은 '평일' 토~일은 '주말'로 만들어 보세요!
CASE DATEPART('weekday', [날짜])
WHEN IN (7,1) THEN '주말'
ELSE '평일'
END

2. 열 평일/주말, 요일(날짜) 순으로 배치
4. 기본 비즈니스 대시보드 제작
대시보드 및 필터 동작 활용하기

Q. 월간만들기
1. 행 주문일자를 년과 월만 추가
2. 레이블에 매출 드래그
3. 합계(매출)에서 퀵테이블 정렬- 비율차이→ 앞의 달과 비교해 비율 차이 표시
4. 매출 더블클릭
5. 측정값에서 2번째 합계(매출)에서 퀵테이블 정렬 - 전년대비
6. 성장률 선택 - 이름 전년대비 측정값에서 1번째 합계(매출)에서퀵테이블 - 비율차이 - 이름 전월대
7. 측정값에 합계(매출) 추가
Q. 가장 최근 월간데이터 뽑기
1. 계산된 필드 만들기 - 가장 최근_TF/ LAST() = 0 //전체 테이블에서 제일 끝에 있는 것만 뽑을 수 있음.
2. 필터에 가장 최근_TF을 추가하고 참만 설정
3. 마크 원 - 레이블 중앙정렬
4. 레이블 측정값을 컨트롤키를 눌러서 색상에 드래그
5. 색상 측정값 - 별도의 범례사용 - 빨간색/파란색 다중 → 전월 대비와 전년 대비를 다른 색으로
6. 전월대비 - 서식 -기본- 사용자 지정 “▲0.00%;▼0.00%;0.00%” → 양수음수0 자리 의미
7. 행에 년과 월의 머릿글 해제
1. 행 매출 + 열 주문일자
2. 매개변수 만들기 - p.날짜 부분 선택 / 문자열 / 목록 ‘year/연간’,’quarter/분기’,’month/월간’,’week/주간’,’day/일간’ 3. p.날짜 부분 선택 - 매개변수 표시
4. 계산된 필드 만들기 - 날짜 부분 선택 / DATETRUNC([p.날짜 부분 선택], [주문 일자])
5. 열 날짜부분 선택 - 연속
1. 행 매출 매출, 열 날짜 부분 선택
2. 매개변수 만들기 - p.기본vs누적/부울/’기본’,’누적’
3. p.기본vs누적에서 매개변수 표시
4. 계산된 필드 만들기 - 기본vs누적 / IIF([p.기본vs누적],SUM([매출]),RUNNING_SUM(SUM([매출])))

 

5.셀프 데이터 시각화
데이터 수집 및 전처리

1. 데이터 모두 불러오기
2. 2003~2023까지 불일치 필드 병합 하기
3. 병합한 필드에서 계산된 필드 만들기
- Rank/REGEXP_EXTRACT([Column], '(\d+)')
→ 순위 뽑아오기

4. 계산된 필드만들기
- 계산1/REGEXP_EXTRACT([Column], '(\D+)') //D: 숫자 제거(대문자는 제거/ 소문자는 선택)
→ 순위 제거하고 알파벳만 남기기

5. 계산된 필드만들기
- Club abbr./LEFT([계산1], 3)
→ 축구 클럽 이니셜 뽑아내기

6. 계산된 필드만들기
- Club/RIGHT([계산1],LEN([계산1])-3)
→ 축구 클럽 이름 뽑아내기