웅진X유데미 STARTERS/TIL (Today I Learned)

[스타터스 TIL] 32일차.태블로 실전 트레이닝 (8) - ATTR, 결합된 필드, 집합, LOD

라밍쏭 2023. 3. 22. 16:22
728x90


1. ATTR 간단 예제

1.1 단일 값만 존재하는 행 찾기

→  한 번만 팔린 제품 구하기

- 한 번도 팔리지 않는 제품은 보통 제거를 함
- 그러나 한 번만 팔린 제품은 따로 리스트를 만들어 관리를 해주기도 함
- 한 번만 팔린 제품은 한 번도 팔리지 않는 것과 완전히 다름! (⭐ 이커머스에선 중요)

 

📌 단일 값만 존재하는 행을 리스트 만들기

① Order ID 필드를 특성으로 드래그앤드랍

② 필터에 Order ID 드래그앤 드랍

③ 필터에서 다중값 제거

 

1.2 문자열에 대한 집계를 수행

→ 같은 차원 다른 집계 (자주 사용하지는 않음)

 

📌 Region에서 Central은 합계를, 나머지 지역은 평균값을 나타내기

① 계산된 필드 만들기

// 잘못된 식
IF [Region] = 'Central' THEN SUM([Sales])
ELSE AVG([Sales])
END

// 수정한 식 → ATTR 추가
IF ATTR([Region]) = 'Central' THEN SUM([Sales])
ELSE AVG([Sales])
END

 

② 측정값으로 추가하기

 

1.3 단일 값/다중 값 추가 확인

→ 도구설명에 특성으로 설정된 Country/Region 필드를 드래그앤드랍

 

세부수준이 깊거나 얕은 카테고리임을 확인할 수 있음


2. 결합된 필드 - 차원 정렬 nested setting

기본 정렬을 할 때, 각 Category 별로 정렬이 되는 것이 아니라 전체의 기준으로 모든 Category의 데이터가 정렬이 된다.

즉, 각 Category 별로 특정 값에 대해 정렬이 되지 않기에 각 카테고리 내의 오름/내림차순에 대한 순위를 확인하기 어렵다.

 

▼ 아래의 그래프는 State/Province에 대한 정렬이 전체 카테고리에 적용이 되었다.

 

💡 그래서 이러한 경우에는 ‘결합된 필드’를 만들어 정렬하면 된다.

① Category 필드와 State/Province 필드를 Ctrl 키 + 클릭

② 우클릭 > 만들기 > 결합된 필드

③ 결합된 필드를 세부정보에 드래그앤드랍

④ 결합된 필드 우클릭 > 정렬

 

⭐ 마크 내에 세부정보(결합된 필드)가 색상보다 위에 있어야 함!

그렇지 않으면 State/Province 기준으로 정렬이 됨

 

결합된 필드 기준으로 텍스트가 생성됨 → 한번 해보기

 


3. 집합

3.1 집합이란?

- 둘이 분리하는 것 (IN or OUT을 정해주는 것)


- 필터도 비슷한 기능이 있으나 어떤 점이 다른가?
    - 필터 : 내가 관심이 있는 것만 화면에 담기고 나머지는 제외
    - 집합 : 관심 있고 없고 상관하지 않고 제외하지 않음 (기준만 정하고 다 보여줌)
    → 집합이 필터보다 상위의 개념 (집합이 필터를 포함하고 있기 때문에)
    → 그렇기에 집합을 필터로 넣으면 필터에서도 사용이 가능함

 

- T/F 필터와 다른 점?
  - 낮은 차원에서는 보기가 똑같으나 카테고리 등 차원이 깊어졌을 때는 차이가 있음

  - T/F 필터 : thres가 넘는 카테고리만 색이 바뀜. 항목을 구분해서 봐야 함

  - 집합 : 모두 집계가 해당되면 그 기준으로 색이 다 바뀜

 

📌 profit 합계 기준 상위 n명의 Customers 나타내기

① 매개변수 만들기 (Top Customers / 해당 데이터에는 생성되어 있음)

② 집합 만들기 (Top Customers by Profit / 해당 데이터에는 생성되어 있음)

③ 집합을 행에 드래그앤드랍

▶ 집합의 기준에 맞춰서 해당하는 데이터는 IN, 그렇지 않은 데이터는 OUT으로 표현됨

 

3.2 집합 만들기

① 매출액 기준 값 매개변수 만들기 (sales_thres)

② 집합 만들기 (sales customer - 집합)

→ 조건 > 수식 기준

// 매출액 총 액이 기준 값 이상인 데이터
SUM([Sales]) >= [sales thres]

③ 위의 집합을 색상에 드래그앤드랍

▶ 매출액 기준 값 (sales_thres) 이상인 데이터만 빨간색으로 표현이 됨

 

3.3 집합과 T/F 필드(필터)

1) 집합과 T/F 필드 비교 (낮은 차원)

▶ 집합과 T/F 필드와 동일하게 결과값이 나온다.

 

① T/F 필드 만들기 (집합 똑같은 계산식)

// 집합 조건에 넣었던 식과 동일함
SUM([Sales]) >= [sales thres]

 

② T/F 필드를 색상에 드래그앤드랍

 

2) 집합과 T/F 필드 비교 (높은 차원)

▶ 집합과

 

단순 총 합계가 아닌 카테고리도 함께 표현하여 확인해보자.

 

✅ 집합 사용

카테고리를 추가하여도 총합계만 기준값을 넘으면 IN으로 색상이 표현됨

집합의 경우, Customer Name에서 만들었기 때문에 그 총합계 기준으로 표현이 됨. 카테고리를 추가해도 변경되지 않음.

 

✅ T/F 필드 사용

T/F 필드의 기준은 VLOD의 값, 즉 현재 보여지는 값들임

그렇기 때문에 각 카테고리 별 매출액에서도 기준 값이 넘는 값들에만 IN으로 색상이 표현됨

 

 

3.4 집합과 FIXED LOD

⭐ 집합 = FIXED LOD + 필터

그러면 fixed LOD를 집합 대신 쓰면 되지 않을까?

→ 퍼포먼스 테스트에서 fixed LOD가 느리기 때문에 집합을 쓰는 것이 낫다.

 

① fixed LOD 함수를 사용하여 필드 만들기 (fixed_sales thred)

// 식은 집합에서 사용한 식과 동일
{ FIXED [Customer Name] : SUM([Sales])>=[sales thres]}

 

② 필드를 색상에 드래그앤드랍

 

3.5 추가 예시

📌 매출액 합계가 10,000이 넘는 customer들의 매출 합계

→ 비율을 확인할 때 주로 사용함

 

1) T/F 필드 사용

Category 별 합계를 기준값과 비교

 

2) 집합 사용

매출액 합계가 10,000인 customer를 IN으로 색상 표현

+) IN에 해당하는 customer의 매출액의 합계를 수치로 표현

 


4. LOD

VLOD를 바꿀 수 있는 것은 ‘차원’이다.

→ 마크가 바뀌는 모든 기능으로 VLOD를 바꿀 수 있다. (열, 행 등등)

 

✔ INCLUDE

    - 차원을 VLOD에서 보이지 않는 뒷단에 추가하고 싶다면 사용

    - 규모 확인 가능

 

✔ EXCLUDE

    - 차원을 VLOD에서 보이지 않는 뒷단에서 제거하고 싶다면 사용

    - 비중 확인 가능

 

✔ FIXED

    - FIXED로 고정시킨 차원이 VLOD에 보여져 있을 때
    - FIXED로 고정시킨 차원이 VLOD에 보여지 있지 않을 때

    - 차원 고정 + 기준

 

4.1 INCLUDE

일단, 데이터셋의 뎁스가 상대적으로 깊어야 함.
집계를 2번 해야 할 때 (평균의 최대값, 최소값의 평균 등)

 

INCLUDE를 적용한 뎁스보다 위인 뎁스에서 데이터의 비교가 가능함

 

1) 이론 이해하기

① include를 사용한 필드 만들기 (include_sub_avg_sales)

→ Sub-Category를 기준으로 매출액의 평균 계산

{ INCLUDE [Sub-Category]:AVG([Sales])}

 

② 이중축으로 include 반영x / 반영o 그래프 비교하기

 

✔ Sub-Category 기준

→ include를 반영한 그래프와 반영하지 않은 그래프가 동일함

✔ Category 기준

- include를 적용하지 않은 그래프 : Category 내에 있는 모든 데이터의 평균

- include를 적용한 그래프 : Sub-Category 평균 데이터의 평균

   (ex. Furniture : (497+530+95+638)/4)

 

2) INCLUDE 사용 예시

평균으로 봤을 때는 알 수 없지만, 실제로는 데이터끼리 값이 차이가 많이 나는 경우가 있는데,

이를 INCLUDE를 활용해서 확인할 수 있다.

 

✔ include 적용 전 그래프

▶ New York의 평균 매출액은 높은 편이 아님을 확인할 수 있다.

 

✔ include 적용 후 그래프 (각 시/도 내 최댓값, 최솟값 도시를 나타냄)

 

① 이에 적용할 include 필드 만들기

// include_city_avg_sales

{include [City]: AVG([Sales])}

 

② include 필드의 최솟값, 최댓값 그래프를 이중축으로 표현하기

 

③ 최솟값과 최댓값이 차이가 많이 나는 순으로 정렬하기

→ 최솟값, 최댓값의 차이를 계산하는 필드 만들기

// diff
max([include_city_avg_sales])-MIN([include_city_avg_sales])

 

→ State/Province 우클릭 > 정렬

 

▶ New York의 매출액 최대, 최솟값의 차이가 가장 많이 난다.

    해당 데이터를 통해 New York의 빈부격차가 큰 것을 확인할 수 있다.

 

4.2 EXCLUDE

① exclude를 사용한 필드 만들기 (exclude_sub_avg_sales)

→ Sub-Category를 기준으로 매출액의 평균 계산한 것을 제외

{ EXCLUDE [Sub-Category]:AVG([Sales])}

 

② 이중축으로 exclude 반영x / 반영o 그래프 비교하기

 

✔ Category 기준

→ exclude를 반영한 그래프와 반영하지 않은 그래프가 동일함

 

Sub-Category 기준

- exclude를 적용하지 않은 그래프 : Category 내에 있는 모든 데이터의 평균

- exclude를 적용한 그래프 : Category 전체 데이터의 평균

2) EXCLUDE 사용 예시

exclude는 특정 값을 기준으로 차이나 비중을 확인하기 위해 사용한다.

 

📌 Sub-Category의 Envelopes의 매출 합계와 Sub-Category의 매출 합계의 차이 구하기

① Sub-Category의 Envelopes의 매출 합계 구하기

→ Envelopes의 데이터만 출력하기 위해 필드 만들기

// sales - Envelopes
IF [Sub-Category] = 'Envelopes' THEN [Sales]
ELSE NULL
END

 

② Exclude를 활용하여 모든 Sub-Category에서 Envelopes의 매출 합계를 나타내기

→ Sub-Category에 있는 데이터를 SUM([sales - Envelopes])로 표현하라

// Exclude - Envelopes
{ EXCLUDE [Sub-Category]:SUM([sales - Envelopes])}

 

③ 각 Sub-Category의 매출 합계에서 Envelopes의 매출 합계 빼기

// Exclude_Sales - Envelopes
SUM([Sales]) - ATTR([Exclude - Envelopes])

 

 


💡 회고

✔ 유익한 점 & 배운점

ATTR, 결합된 필드, 집합, LOD에 대해 배웠다.

어려워서 이해가 잘 되지 않은 개념이라 쉽지 않았지만 직접 해봄으로써 기능을 익히며 이해하려고 노력하고 있다.

특히, 오늘은 이 기능을 익히는 개인 공부 시간을 넉넉히 주셔서 다행히 여러 시도를 해보면서 공부할 수 있었다.

 

✔ 스스로 아쉬운 점 & 개선할 점

LOD에 대해 이해하는 것이 어려웠다.

예시를 보면서 더욱 헷갈리고 이게 왜 이런식으로 표현되지?라는 생각에 머리가 더더욱 복잡해졌다.

다른 데이터를 활용해서 기능을 적용해볼 예정이다! :)

728x90