[zerobase_데이터취업스쿨] Tableau_CH3-14~CH3-16(INCLUDE, EXCLUDE, FIXED)

DONGYOON KIM·2024년 2월 11일
0

Tableau

목록 보기
7/14

Tableau_CH3-14~CH3-16 결과물

https://public.tableau.com/views/_FIXED_INCLUDE_EXCLUDE/sheet7?:language=ko-KR&:display_count=n&:origin=viz_share_link

CH3-14: LOD(세부 수준 식, INCLUDE, EXCLUDE)→ 하지만 INCLUDE, EXCLUDE보다 FIXED가 가장 많이 사용됨 FIXED로 INCLUDE, EXCLUDE의 연산 거의 대체 가능

반드시 중괄호 안에 함수를 넣어주어야 한다
{INCLUDE [차원1],[차원2] : SUM([측정값])}

1. INCLUDE

  • 화면에 포함되지 않은 특정 차원을 포함하여 결과를 계산


  • 위와 같이 차이가 나는 이유는
    {INCLUDE [제품중분류] : SUM([매출])}의 경우에는 제품중분류의 매출의 합(, 제품중분류의 매출 합계 중에 가장 큰 값을 반환하는 것임) 그래서 제품중분류로 구분했을 때의 MAX(SUM([매출])과 같은 값을 반환하게 되는 것임 (밑에서 확인 가능)
    반면에 위의 사진에서는 MAX([매출])이 표시되고 있는 것임(제품 대분류안의 총 2428개의 고유 RECORD의 매출 중에 가장 큰 값을 출력하는 것임.
    

2. EXCLUDE

  • 화면에 포함된 특정 차원을 제외하여 결과를 계산

  • 즉, SUM([매출])은 여기서 제품 중분류별 매출 합계를 표시하고 있는 것이며 EXCLUDE_제품중분류의 합계는 일단 모든차원에 대하여 매출의 합계를 계산하고 뷰에 표시된 차원 중에 EXCLUDE에서 지정된 차원의 합계를 제외하고 표시하게 되는 것이다.
  • {EXCLUDE [제품 중분류]: SUM([매출])}이라는 계산식은 '제품 중분류' 차원을 제외하고 매출의 합계를 계산합니다. 제가 이전 설명에서 사용한 계산식은 불필요하게 복잡했습니다. 정확한 사용은 다음과 같습니다:
    1. 태블로에서 '계산된 필드 만들기'를 선택합니다.

    2. 새로운 계산된 필드에 다음 수식을 입력합니다:

      {EXCLUDE [제품 중분류]: SUM([매출])}

      이 계산은 '제품 중분류' 차원이 제외되고, 나머지 차원에 대한 매출의 합계를 계산합니다.

    3. 이 계산된 필드를 뷰의 적절한 부분(예: 테이블의 행, 열, 텍스트 등)에 드래그하여 놓습니다.

    4. 이제 뷰는 '제품 중분류' 차원이 제외된 상태에서 각 지역, 시간 등 다른 차원에 따른 매출의 합계를 보여줍니다.

참고: 태블로 테이블 연산과 뷰 차원의 관계

태블로에서 제품대분류 차원으로 뷰를 구성하고, 매출의 집계 방법을 '합계'에서 '평균'으로 변경하면, 태블로는 각 제품대분류에 속하는 제품중분류들의 매출 평균을 계산하여 표시합니다.

이 과정에서 태블로는 다음과 같은 단계를 거칩니다:

  1. 제품중분류에 대한 매출을 집계합니다.
  2. 제품대분류에 속하는 모든 제품중분류의 매출을 모읍니다.
  3. 그 다음, 각 제품대분류에 대해, 해당하는 제품중분류 매출의 평균을 계산합니다.
  4. 마지막으로, 각 제품대분류에 대한 매출 평균을 뷰에 표시합니다.

따라서, 뷰에 제품대분류별로 표시된 매출 평균은 그 제품대분류에 속한 모든 제품중분류 항목들의 개별 매출 평균입니다. 이는 대분류 내에서 중분류의 매출이 얼마나 다양한지, 또는 일관성이 있는지에 대한 통찰을 제공할 수 있습니다.

CH3-15. LOD(세부 수준 식, FIXED)

1. FIXED

  • 화면에 상관 없이 특정 차원을 고정하여 결과를 계산
  • {FIXED [제품 중분류]: SUM([매출])} 계산식은 '제품 중분류' 차원에 대해 매출의 합계를 고정시킵니다. 이렇게 하면 태블로는 각 '제품 중분류'에 대한 매출 합계를 계산하고, 이 합계는 다른 모든 차원의 영향을 받지 않게 됩니다. 뷰에 '제품 대분류'만 표시되어 있고, '제품 중분류'에 대해 고정된 매출 합계를 사용하면, '제품 대분류'에 속하는 '제품 중분류' 각각에 대한 매출 합계가 모두 계산됩니다. 그런 다음 태블로는 같은 '제품 대분류'에 속하는 모든 '제품 중분류'의 매출 합계를 더하여 '제품 대분류'별로 표시합니다. 예를 들어, '제품 대분류'가 '음료'이고, 이에 속하는 '제품 중분류'가 '탄산음료', '과일주스', '물' 등이 있다고 가정해 보겠습니다. {FIXED [제품 중분류]: SUM([매출])} 계산식을 사용하면 태블로는 '탄산음료', '과일주스', '물' 각각에 대한 매출을 계산하고, 이 수치들을 모두 합하여 '음료'라는 '제품 대분류'의 매출로 표시합니다. 이 방식으로 '제품 대분류' 차원에서 '제품 중분류'별로 드릴다운하게 되면 제품 중분류별로 세분화된 매출을 볼 수 있습니다, 하지만 각각의 '제품 중분류' 매출은 뷰에 직접 표시되지 않습니다.

### **FIXED**

**`{FIXED [제품 중분류]: SUM([매출])}`**

- 이 계산은 모든 '제품 중분류'에 대해 매출을 합산합니다. 이 합계는 다른 모든 필터나 차원의 영향을 받지 않습니다.
- 뷰에 '제품 대분류'만 표시되어 있을 경우, 각 '제품 대분류'에 해당하는 '제품 중분류'의 매출 합계가 계산되고, 이 중 최대값을 반환합니다. 즉, 각 '제품 대분류'에 속한 '제품 중분류'들 중 가장 매출이 높은 합계값을 보여줍니다.

### **INCLUDE**

**`{INCLUDE [제품 중분류]: SUM([매출])}`**

- 이 계산은 현재 뷰의 상세 수준을 고려하여 '제품 중분류'를 포함하여 매출을 합산합니다.
- '제품 대분류'만 표시되어 있는 경우에도 '제품 중분류'별 매출 합계가 계산되며, 이 값들 중 최대값을 반환합니다. 다시 말해, '제품 대분류' 내부의 '제품 중분류' 중 최대 매출 합계를 찾습니다.

### **EXCLUDE**

**`{EXCLUDE [제품 중분류]: SUM([매출])}`**

- 이 계산은 '제품 중분류'를 제외하고 매출을 합산합니다. 다른 모든 차원의 상세 수준에서 매출의 합계를 계산하되, '제품 중분류' 차원은 무시합니다.
- '제품 대분류'만 표시되어 있는 뷰에서 '제품 중분류'를 EXCLUDE하면, '제품 중분류' 차원이 제외된 상태로 다른 모든 차원(예를 들어, '제품 대분류')에 대한 매출 합계가 표시됩니다.

### **최대값([매출])**

**`최대값([매출])`**

- 이 함수는 각 '제품 대분류'에 속한 모든 매출 레코드 중에서 단일 최대 매출 값을 찾습니다. 이는 '제품 중분류'나 다른 차원과는 무관하게 적용됩니다.
- **`최대값([매출])`**은 단순히 '제품 대분류'에 속한 모든 레코드에 대한 매출의 합계를 계산하고 그 중 최대값을 반환하는 것이 아닙니다. 이는 '제품 대분류'에 속한 각 레코드(예: 각 가구)의 매출 값 중 최대값을 찾는 것입니다. 여기서 말하는 '레코드'는 데이터의 각 행을 의미합니다. 따라서, '가구'의 경우 2428개 레코드 각각의 매출 값 중에서 최대값을 찾아 표시합니다.

### **집계 함수와 최대값의 차이점**

- **`FIXED`**와 **`INCLUDE`**는 계산된 매출 합계를 특정 차원에 고정시키거나 포함시키는 데 사용되며, 최대값을 찾는데 사용됩니다.
- **`EXCLUDE`**는 특정 차원을 제외하고 매출 합계를 계산하는 데 사용됩니다.
- **`최대값([매출])`**은 단순히 해당 차원의 모든 데이터 포인트에서 가장 큰 매출 값을 찾습니다.

2. 실습(고객별 첫 구매년도를 기준으로 각 년도의 매출 비중을 나눠서 시각화하기)

3. 고객별 첫구매일, 두번째 구매일, 첫 구매일에서 두번째 구매일까지의 기간을 FIXED를 통해 시각화하기

3-1. 고객별 첫 구매일을 제외한 필드

3-2. 고객별 둘째 구매일 필드

3-3. 첫 구매부터 두번째 구매일까지 소요기간 함수

CH3-16. LOD(세부 수준 식, INCLUDE vs FIXED)

FIXED의 경우 뷰에 표시된 차원을 고려하지 않고 FIXED로 고정된 차원만을 사용하여 연산을 하게된다 INCLUDE와 EXCLUDE는 뷰화면에 표시된 차원을 함수안의 조건 차원과 같이 고려하게 된다.

1. FIXED와 INCLUDE 를 사용하여 광역자치단체의 매출총계 & 광역자치단체에 속한 각 기초자치단체별 매출총계의 평균을 구하기(INCLUDE의 결과가 맞는 값임)

1-1. 기초자치단체별 매출의 합계 필드 생성

1-2. 기초자치단체별 합계 필드의 테이블 계산을 이용하여 평균을 계산해주기

1-3.

1-4. INCLUDE

1-5. 하지만 이렇게 결과가 달라져 버린다 왜냐하면 1-6

1-6. FIXED의 계산 원리

FIXED 표현식은 Tableau에서 Level of Detail (LOD) 계산을 수행할 때 사용됩니다. 이 계산은 다양한 차원의 조합에서 집계 값을 고정할 수 있게 해줍니다. FIXED 표현식으로 구성된 값은 다른 필터(데이터 필터 또는 컨텍스트 필터를 제외한)의 영향을 받지 않습니다.

FIXED [시도],[시군구]: SUM([매출])

이 LOD 표현식은 [시도][시군구]의 조합별로 매출을 합산합니다. 즉, 각각의 [시도] 내의 각 [시군구]에 대해 고유한 매출 합계를 계산합니다. 이렇게 함으로써, 특정 [시도]에 속한 [시군구]의 매출은 해당 [시도]의 범위 내에서만 고려됩니다. 예를 들어, 경기도의 수원시와 강원도의 수원시(가상의 예)가 있다면, 이들은 각각 경기도와 강원도 내의 매출로 개별적으로 계산됩니다.

FIXED [시군구]: SUM([매출])

이 LOD 표현식은 오직 [시군구] 차원만을 고려하여 매출을 합산합니다. 여기서는 [시도] 차원이 고려되지 않으므로, 동일한 [시군구] 이름에 대해서는 모든 [시도]를 통틀어 하나의 매출 합계를 계산합니다. 이 경우 [시도]에 상관없이 동일한 [시군구] 이름이 여러 번 나타날 경우 모든 데이터가 합산됩니다.

결과의 차이점

결과의 차이는 주로 데이터 세트의 구조에 의해 결정됩니다. 실제 데이터에 [시도][시군구]의 조합이 중복되지 않는 경우(즉, 모든 [시군구]가 각각의 [시도]에 유니크하게 존재하는 경우), 두 계산의 결과가 동일할 수 있습니다. 그러나 만약 하나의 [시군구]가 여러 [시도]에 걸쳐서 나타날 수 있는 데이터 구조라면, 두 번째 계산식은 모든 [시도]에 걸친 해당 [시군구]의 매출을 합산한 총합을 반환할 것입니다.

또한, 두 번째 계산식은 [시도] 차원이 고려되지 않기 때문에, [시군구]가 속한 [시도]의 영향을 받지 않습니다. 예를 들어, 특정 [시군구]의 매출이 [시도]마다 다를 수 있지만, [시군구]별로 합산할 때는 그러한 지역적 차이가 반영되지 않습니다.

1-7. FIXED[시도],[시군구]:SUM([매출])로 [시도]와 [시군구]를 AND로 엮어준 결과는 INCLUDE [시군구] : SUM([매출]) 과 동일해짐

0개의 댓글

관련 채용 정보