기술 자료

다른 테이블 계산으로 테이블 계산 필터링하기


게시 날짜: 22 May 2014
마지막 수정 날짜: 13 Sep 2023

질문

다른 테이블 계산으로 테이블 계산을 필터링하는 방법은 무엇인가요? 예를 들어 원본 테이블 계산이 고객당 매출 구성 비율이고 뷰를 순위에 따른 상위 고객 10명으로 필터링해야 하는 경우, 구성 비율은 여전히 전체 고객에 대해 계산되어야 합니다.

환경

Tableau Desktop

답변

IF 문을 사용하여 테이블 계산 필터를 다른 테이블 계산의 구문에 추가합니다.

첨부된 예제 통합 문서에서는 Superstore 샘플 데이터 집합을 사용하여 다음 지침을 설명합니다.
1단계: 뷰 설정
  1. [Customer Name(고객 이름)]을 행 선반으로 끌어옵니다.
  2. [Sales(매출)]를 Marks(마크) 카드의 Text(텍스트)로 끌어옵니다.
  3. Marks(마크) 카드에서 [Sales(매출)]를 마우스 오른쪽 단추로 클릭하고 Quick Table Calculration(퀵 테이블 계산) > Percent of Total(구성 비율)을 선택합니다.
  4. Marks(마크) 카드에서 [Sales(매출)]를 마우스 오른쪽 단추로 클릭하고 Compute Using(다음을 사용하여 계산) > Table (down)(테이블(아래))을 선택합니다.
  5. Analysis(분석) > Create Calculated Field(계산된 필드 만들기)를 선택합니다.
  6. 열린 Calculated Field(계산된 필드) 대화 상자에서 다음 작업을 수행한 후 OK(확인)를 클릭합니다.
    • 계산된 필드 이름을 지정합니다. 이 예에서 계산된 필드의 이름은 "Rank of Sales(매출 순위)"입니다.
    • 수식 필드에서 다음과 유사한 계산을 만듭니다.
      RANK(SUM([Sales]))
  7. [Rank of Sales(매출 순위)]를 Filters(필터) 선반으로 끌어옵니다.
  8. 필터 대화 상자에서 범위를 1~10으로 선택하고 OK(확인)를 클릭합니다.

2단계: 새 계산 만들기
  1. 새 계산을 만들고 [Sales(매출)]를 Marks(마크) 카드에서 계산 에디터로 끌어옵니다. 다음과 같이 Tableau Desktop이 구성 비율 공식을 자동으로 작성합니다.

    SUM([Sales]) / TOTAL(SUM([Sales]))
     
  2. 각 SUM([Sales])를 10 이하의 순위를 필터링하는 IF 문으로 감쌉니다. 최종 계산은 다음과 같습니다.

    IF [Rank of Sales] <= 10
    THEN SUM([Sales])
    END
    /
    WINDOW_SUM(IF [Rank of Sales] <= 10
    THEN SUM([Sales])
    END)



    참고: 테이블 계산 TOTAL()을 WINDOW_SUM()로 대체해야 합니다. TOTAL은 집계에서만 작동하며 보다 복잡한 표현식에서는 작동하지 않기 때문입니다.
     
  3. [Sales(매출)]를 새 계산으로 대체합니다.
이 문서로 문제가 해결되었습니까?