Loading

각 값이 단일 그룹/범주에만 속할 수 있음

게시 일자: Jul 20, 2023
상세 설명
여러 그룹/범주에 차원 멤버를 할당할 수 없습니다.

예를 들어 모든 고객은 판매량을 기준으로 'low spender(소액 고객)' 또는 'big spender(고액 고객)' 범주 중 하나로 지정해야 합니다. 또한 일부 고객은 이익의 크기를 기준으로 'positive profit(양의 수익)'이라는 두 번째 범주를 가져야 합니다.

Cause

Tableau Desktop은 읽기 전용 프로그램이므로 행을 추가하여 하나의 차원 값을 여러 그룹/범주에 할당할 수 없습니다.

IF THEN 계산을 작성할 때 조건 중 하나가 TRUE이면 Tableau Desktop은 조건 평가를 중지합니다.
솔루션
아래의 모든 지침은 이 문서의 오른쪽 패널에서 다운로드할 수 있는 통합 문서 예시의 'Origina(원본)' 워크시트에서 시작됩니다. 'Original(원본)' 워크시트를 만드는 지침은 통합 문서에 포함되어 있습니다.

옵션 1: 개수를 반환하는 계산 작성하기

  1. 뷰에서 [Customer Name(고객 이름)], [Sales(매출)], [Profit(수익)]을 제거합니다.
  2. [Customer Category(고객 범주)]를 수정하여 모든 측정값 집계를 고객 이름으로 고정합니다. 최종 계산은 다음과 같습니다.
    IF { FIXED [Customer Name] : SUM([Profit])} > 0
    THEN "positive profit"
    ELSEIF { FIXED [Customer Name] : SUM([Sales])} > 5000
    THEN "big spender"
    ELSE "low spender"
    END
  3. 아래와 유사한 계산을 사용해서 'Customer Category Counts(고객 범주 개수)'와 이름이 유사한 계산된 필드를 만듭니다.
    IF MIN([Customer Category (fixed)]) = "big spender"
    THEN SUM({ FIXED : COUNTD( IF {INCLUDE [Customer Name]: SUM([Sales])} >= 5000 THEN [Customer Name] END )})
    
    ELSEIF  MIN([Customer Category (fixed)]) = "low spender"
    THEN SUM({ FIXED : COUNTD( IF {INCLUDE [Customer Name]: SUM([Sales])} < 5000 THEN [Customer Name] END )})
    
    ELSEIF  MIN([Customer Category (fixed)]) = "positive profit"
    THEN SUM({ FIXED : COUNTD( IF {INCLUDE [Customer Name]: SUM([Profit])} > 0 THEN [Customer Name] END )})
     
    END
  4. [Customer Category Counts(고객 범주 개수)]를 Rows(행) 선반에 끌어 놓고, Label(레이블)을 Marks card(마크 카드)에 끌어 놓습니다.

옵션 2: 다중 범주 계산 작성하기

  1. 겹치는 각 범주 집합에 대해 별도의 계산을 만듭니다. 이 예에서 고객은 'low spender(소액 고객)' 또는 'big spender(고액 고객)'일 뿐이므로 두 가지 조건을 하나의 계산으로 결합할 수 있습니다. 최종적인 계산은 다음과 유사합니다.
    [Customer Category ~ big/low spender]:
    IF SUM([Sales]) > 5000
    THEN "big spender"
    ELSE "low spender"
    END
    [Customer Category ~ positive profit]:
    IF SUM([Profit]) > 0
    THEN "positive profit"
    END
  2. [Customer Category(고객 범주)]를 [Customer Category ~ big/low spender(고객 범주 ~ 고액/소액 고객)]와 [Customer Category ~ positive profit(고객 범주 ~ 양의 수익)]으로 교체합니다

옵션 3: 범주의 마스터 목록에 조인하기

  1. 모든 가능한 범주로 구성된 목록으로 테이블을 만듭니다.
  2. 1=1 조인 계산의 새 목록에 원본 테이블을 조인합니다.
  3. 아래와 유사한 계산을 사용해서 'Customer Category w/Conditions(조건이 있는 고객 범주)'와 이름이 유사한 계산된 필드를 만듭니다.  
    IF [Customer Category] = "big spender"
    AND { FIXED [Customer Name], [Customer Category] : SUM([Sales]) } >= 5000
    THEN "big spender"
     
    ELSEIF [Customer Category] = "profit"
    AND { FIXED [Customer Name], [Customer Category] : SUM([Profit]) } > 0
    THEN "positive profit"
     
    ELSEIF [Customer Category] = "low spender"
    AND { FIXED [Customer Name], [Customer Category] : SUM([Sales]) } < 5000
    THEN "low spender"
     
    END
  4. [Customer Category(고객 범주)]를 [Customer Category w/ Conditions(조건이 있는 고객 범주)]로 교체합니다
추가 자원
옵션 1에 대한 참고:
  • 이 솔루션을 사용하려면 기초 데이터에서 각 범주에 대해 하나 이상의 행이 존재해야 합니다. 또한 각 범주에는 이전에 계산에 나열된 모든 범주에 대해 기준을 충족하지 않는 행이 반드시 하나 존재해야 합니다. 예를 들어 'low spender(소액 고객)'가 뷰에 표시되려면, 소액 고객이면서 'positive profit(양의 수익)' 또는 'high spender(고액 고객)'이 아닌 행이 적어도 하나 존재해야 합니다.
옵션 3에 대한 참고:
  • 통합 문서 예시에서 Data Source(데이터 원본) 탭을 클릭해 이 조인이 어떻게 설정되어 있는지 확인하세요.
  • 범주의 마스터 목록을 데이터 원본의 테이블로 추가할 수 없다면 더 많은 데이터 원본에 대해 텍스트 테이블을 만들 수 있으며, 교차 데이터베이스 조인을 사용해 텍스트 테이블을 원본 테이블에 조인할 수 있습니다.
  • 2단계에서는 기초 데이터 집합의 모든 레코드에 대한 모든 범주에 하나의 행을 추가합니다. 따라서 모든 고객이 세 개의 범주를 모두 갖게 됩니다.
  • 이 방법을 사용할 경우 데이터가 복제되므로 해당 뷰에 대해서만 별도의 데이터 원본을 만들어 사용하는 것이 좋습니다.

Knowledge 기사 번호

001474113

첨부 파일

group values into multiple groups.twbx

2465 KB

 
로드 중
Salesforce Help | Article