기술 자료

여러 차원에 동일한 텍스트 값이 포함되어 있는지 확인하기


게시 날짜: 21 Jun 2017
마지막 수정 날짜: 11 Oct 2023

질문

여러 문자열 차원을 비교하여 동일한 행에 있는 각 차원의 멤버 값이 NULL 값을 무시하고 동일한지 확인하는 방법.

모든 차원이 동일한 값을 갖는다면 NULL 값을 무시하고 그 값을 반환하며, 그렇지 않을 경우에는 여러 값이 존재함을 나타내는 텍스트 값을 반환합니다.

환경

Tableau Desktop

답변

클릭하여 솔루션 확장
옵션 1: 데이터 피벗하기
  1. 데이터를 피벗하여 모든 차원 이름을 하나의 필드로 만들고 모든 차원 멤버가 다른 필드에 있도록 합니다.
  2. 일부 데이터 원본의 경우 Tableau Desktop 연결에서 필드를 피벗할 수 있습니다. Tableau Desktop에서 데이터를 피벗하는 자세한 방법에 대해서는 열 데이터를 행으로 피벗하는 방법을 확인하세요.
  3. Analysis(분석) > Create calculated field(계산된 필드 만들기)를 선택합니다
  4. 계산된 필드의 이름을 "Comparison(비교)"으로 지정하고 아래의 수식을 입력한 다음 OK(확인)를 클릭합니다. 
    { FIXED [ID] :
    IF COUNTD([Pivot Field Values]) <= 1
    THEN MIN([Pivot Field Values])
    ELSE "Mulitple Values"
    END
    }
클릭하여 솔루션 확장
옵션 2: 계산 사용하기
데이터의 구조를 변경할 수 없다면 두 개의 계산을 각각 토너먼트 방식으로 비교하는 일련의 계산을 통해서 동일한 결과를 반환할 수 있습니다. 예를 들어 이름이 [A], [B], [C], [D]인 4개의 차원이 있다면 두 개의 "1단계" 계산을 만들 수 있습니다. 이는 하나는 [A]와 [B]를, 다른 하나는 [C]와 [D]를 비교하는 계산입니다. 그리고 "2단계" 계산을 만들어 계산된 필드 [AB]와 [CD]를 비교하면 됩니다.
첨부된 예제 통합 문서에서는 샘플 데이터를 사용하여 다음 지침을 설명합니다.
  1. Analysis(분석) > Create calculated field(계산된 필드 만들기)를 선택합니다.
  2. 계산된 필드의 이름을 "comparison lvl 1 - AB(1단계 비교 - AB)"로 지정하고 아래의 수식을 입력한 다음 OK(확인)를 클릭합니다. 
    IF ISNULL( [Dimension A] )
    OR ISNULL( [Dimension B] )
    THEN IFNULL( [Dimension A],  "" ) +  IFNULL( [Dimension B], "" )
    ELSEIF [Dimension A] = [Dimension B]
    THEN [Dimension A]
    ELSE "Multiple Values"
    END
    }
  3. 두 차원으로 구성된 모든 그룹에 대하여 1단계와 2단계를 반복합니다.
  4. 분석 > 계산된 필드 만들기를 선택합니다.
  5. 계산된 필드의 이름을 "comparison lvl 2 - ABCD(2단계 비교 - ABCD)"로 지정하고 아래의 수식을 입력한 다음 OK(확인)를 클릭합니다. 
    IF [comparison lvl 1 - AB] = ""
    OR [comparison lvl 1 - CD] = ""
    THEN [comparison lvl 1 - AB] + [comparison lvl 1 - CD]
    ELSEIF [comparison lvl 1 - AB] = [comparison lvl 1 - CD]
    THEN [comparison lvl 1 - AB]
    ELSE "Multiple Values"
    END
    }
  6. 두 개의 1단계 계산으로 구성된 모든 집합에 대하여 4단계와 5단계를 반복합니다
  7. Analysis(분석) > Create calculated field(계산된 필드 만들기)를 선택합니다
  8. 계산된 필드의 이름을 "comparison lvl 3(3단계 비교)"로 지정하고 아래의 수식을 입력한 다음 OK(확인)를 클릭합니다. 
    IF [comparison lvl 2 - ABCD] = ""
    OR [comparison lvl 2 - EFGH] = ""
    THEN [comparison lvl 2 - ABCD] + [comparison lvl 2 - EFGH]
    ELSEIF [comparison lvl 2 - ABCD] = [comparison lvl 2 - EFGH]
    THEN [comparison lvl 2 - EFGH]
    ELSE "Multiple Values"
    END
    }
이 문서로 문제가 해결되었습니까?