세부 수준(LOD), 순위 및 분위 계산 만들기

참고: 버전 2020.4.1부터 Tableau ServerTableau Cloud에서 흐름을 만들고 편집할 수 있습니다. 이 항목의 내용은 특별히 언급하지 않는 한 모든 플랫폼에 적용됩니다. 웹에서 흐름을 작성하는 것에 대한 자세한 내용은 Tableau Server(링크가 새 창에서 열림)Tableau Cloud(링크가 새 창에서 열림) 도움말에서 웹에서의 Tableau Prep을 참조하십시오.

계산된 필드를 사용하면 데이터 원본에 이미 있는 데이터를 사용하여 새 데이터를 만들 수 있습니다. Tableau Prep에서는 Tableau Desktop과 동일한 많은 계산 유형을 지원합니다. 계산 만들기에 대한 일반 정보는 Tableau 계산 시작하기(링크가 새 창에서 열림)를 참조하십시오.

참고: 계산된 필드를 만들 때 예약된 이름인 '레코드 수'를 사용해서는 안 됩니다. 이 예약된 이름을 사용하면 사용 권한 관련 오류가 발생합니다.

Tableau Prep Builder 버전 2020.1.3 이상 및 웹에서는 FIXED 세부 수준(LOD) 분석 함수와 RANK 및 ROW_NUMBER 분석 함수를 사용하여 훨씬 복잡한 계산을 수행할 수 있습니다.

예를 들어 FIXED LOD 계산을 추가하여 테이블에서 필드의 세부 수준을 변경하거나, ROW_NUMBER () 분석 함수를 사용하여 중복 행을 빠르게 찾거나, RANK () 함수 중 하나를 사용하여 선택한 행 중 유사한 데이터를 포함하는 행에 대한 상위 N 또는 하위 N 값을 찾을 수 있습니다. 이러한 유형의 식을 작성할 때 보다 자세한 안내가 제공되는 환경이 필요한 경우 시각적 계산 에디터를 사용할 수 있습니다.

Tableau Prep Builder 버전 2021.4.1부터 그리고 웹에서 분위 기능을 사용하여 행을 지정된 수의 버킷으로 분산할 수 있습니다.

참고: Tableau Desktop에서 지원되는 일부 함수는 아직 Tableau Prep에서 지원되지 않을 수 있습니다. Tableau Prep에서 사용할 수 있는 함수를 확인하려면 계산 에디터의 함수 목록을 검토하십시오.

세부 수준 계산

동일한 테이블의 여러 세부 수준에서 데이터를 계산해야 하는 경우 세부 수준(LOD) 식을 작성하여 계산을 수행할 수 있습니다. 예를 들어 각 지역의 총 매출을 구하려는 경우 {FIXED [Region] : SUM([Sales])}와 같은 계산을 작성할 수 있습니다.

Tableau Prep에서는 FIXED 세부 수준 식을 지원하며 {FIXED [Field1],[Field2] : Aggregation([Field)} 구문을 사용합니다.

LOD 식은 좌변과 우변이 콜론으로 구분된 방정식입니다.

  • FIXED [Field](필수): 값을 계산하려는 하나 이상의 필드입니다. 예를 들어 고객 및 지역의 총 매출을 구하려는 경우 FIXED [Customer ID], [Region]:을 입력할 수 있습니다. 필드를 선택하지 않으면 콜론의 우변에 정의된 집계를 수행하고 모든 행에서 해당 값을 반복한다는 의미입니다.

  • Aggregation ([Field])(필수): 계산하려는 대상과 필요한 집계 수준을 선택합니다. 예를 들어 총 매출을 구하려는 경우 SUM([Sales]를 입력합니다.

Tableau Prep에서 이 기능을 사용하는 경우 다음 요구 사항이 적용됩니다.

  • INCLUDEEXCLUDE LOD 식은 지원되지 않습니다.
  • 집계 계산은 LOD 식 내부에서만 지원됩니다. 예를 들어 SUM([Sales])는 유효하지 않지만 {FIXED [Region] : SUM([Sales])}는 유효합니다.
  • LOD 식 내부의 중첩 식은 지원되지 않습니다. 예를 들어 { FIXED [Region] : AVG( [Sales] ) / SUM( [Profit] )}는 지원되지 않습니다.

  • LOD 식과 다른 식을 결합하는 것은 지원되지 않습니다. 예를 들어 [Sales]/{ FIXED [Country / Region]:SUM([Sales])}는 지원되지 않습니다.
  • 세부 수준(LOD) 계산 만들기

    세부 수준 계산을 만들려면 계산 에디터를 사용하여 직접 계산을 작성하면 됩니다. 또한 보다 자세한 안내가 제공되는 환경이 필요한 경우 시각적 계산 에디터를 사용할 수 있으며, 이 환경에서는 필드를 선택하면 Tableau Prep이 자동으로 계산을 작성합니다.

    계산 에디터

    1. 프로필 패널 툴바에서 계산된 필드 만들기를 클릭하거나 프로필 카드 또는 데이터 그리드에서 기타 옵션 메뉴를 클릭하고 계산된 필드 만들기 > 사용자 지정 계산을 선택합니다.

    2. 계산 에디터에서 계산의 이름을 입력하고 식을 입력합니다.

      예를 들어 도시별 제품 배송의 평균 일 수를 구하려면 아래에 표시된 것과 같은 계산을 만듭니다.

    시각적 계산 에디터

    목록에서 필드를 선택하면 선택에 따라 Tableau Prep에서 자동으로 계산이 작성됩니다. 결과 미리 보기가 왼쪽 패널에 표시되므로 선택을 하면서 결과를 확인할 수 있습니다.

    1. 프로필 카드 또는 결과 패널에서 기타 옵션 메뉴를 클릭하고 계산된 필드 만들기 > Fixed LOD를 선택합니다.

    2. 시각적 계산 에디터에서 다음 작업을 수행합니다.

      • 그룹화 기준 섹션에서 값을 계산할 필드를 선택합니다. 계산된 필드 만들기 > Fixed LOD 메뉴 옵션을 선택한 필드는 기본적으로 추가됩니다. 더하기 아이콘을 클릭하여 원하는 다른 필드를 계산에 추가합니다. 이렇게 하면 방정식의 좌변({FIXED [Field1],[Field2] :)이 채워집니다.
      • 다음을 사용하여 계산 섹션에서 새 값을 계산하는 데 사용할 필드를 선택합니다. 그런 다음 집계를 선택합니다. 이렇게 하면 방정식의 우변(Aggregation([Field)})이 채워집니다.

        필드 아래에 있는 그래픽에는 값 분포와 각 값 조합의 총 수가 표시됩니다. 데이터 유형에 따라 그래픽은 박스 플롯, 값 범위 또는 실제 값이 될 수 있습니다.

        참고: 사용 가능한 집계 값은 필드에 할당한 데이터 유형에 따라 달라집니다.

      • 필드를 제거하려면 그룹화 기준 섹션에서 필드의 드롭다운 상자를 마우스 오른쪽 단추로 클릭하거나 Cntrl-클릭(MacOS)하고 필드 제거를 선택합니다.

      • 왼쪽 패널에서 필드 머리글을 두 번 클릭하고 계산의 이름을 입력합니다.
    3. 완료를 클릭하여 새 계산된 필드를 추가합니다. 변경사항 패널에서 Tableau Prep이 생성한 계산을 확인할 수 있습니다. 편집을 클릭하여 변경을 수행할 시각적 계산 에디터를 엽니다.

순위 또는 행 번호 계산

창 함수라고도 하는 분석 함수를 사용하면 전체 테이블 또는 데이터 집합의 선택한 행(파티션)에서 계산을 수행할 수 있습니다. 예를 들어 선택한 행에 순위를 적용하려는 경우 다음 계산 구문을 사용할 수 있습니다.

{PARTITION [field]: {ORDERBY [field]: RANK() }}

  • PARTITION(선택 사항): 계산을 수행할 행을 지정합니다. 하나 이상의 필드를 지정할 수 있습니다. 그러나 전체 테이블을 사용하려는 경우 함수에서 이 부분을 생략하면 Tableau Prep에서 파티션으로 모든 행을 사용합니다. 예: {ORDERBY [Sales] : RANK() }.

  • ORDERBY(필수): 순위로 사용할 순서를 생성하는 데 사용할 하나 이상의 필드를 지정합니다.

  • Rank ()(필수): 계산하려는 순위 유형 또는 ROW_NUMBER ()를 지정합니다. Tableau Prep에서는 RANK(), RANK_DENSE(), RANK_MODIFIED(), RANK_PERCENTILE() 및 ROW_NUMBER() 함수를 지원합니다.

  • DESC 또는 ASC(선택 사항): 내림차순(DESC) 또는 오름차순(ASC)을 나타냅니다. 기본적으로 순위는 내림차순으로 정렬되므로 식에서 이 부분을 지정할 필요가 없습니다. 정렬 순서를 변경하려면 식에 ASC를 추가합니다.

    함수에 두 옵션을 모두 포함할 수도 있습니다. 예를 들어 행 선택 항목의 순위를 지정하고 싶지만 행을 오름차순으로 정렬하면서 순위를 내림차순으로 적용하려는 경우 식에 이 두 옵션을 포함할 수 있습니다. 예: {PARTITION [Country], [State]: {ORDERBY [Sales] ASC,[Customer Name] DESC: RANK() }}

이 기능을 사용하는 경우 다음 요구 사항이 적용됩니다.

  • RANK() 함수 내부의 중첩 식은 지원되지 않습니다. 예를 들어 [Sales]/{PARTITION [Country]: {ORDERBY [Sales]: RANK() }} / SUM( [Profit] )}는 지원되지 않습니다.
  • RANK () 함수와 다른 식을 결합하는 것은 지원되지 않습니다. 예를 들어 [Sales]/{PARTITION [Country]: {ORDERBY [Sales]: RANK() }}는 지원되지 않습니다.

지원되는 분석 함수

함수설명결과
RANK ()

각 행에 오름차순이나 내림차순으로 1부터 시작하는 정수 순위를 할당합니다. 값이 같은 행이 있는 경우 값의 첫 번째 인스턴스에 할당된 순위를 공유합니다. 다음 행의 순위를 계산할 때 순위가 같은 행 수가 더해지므로 연속된 순위 값을 얻지 못할 수 있습니다.

샘플 계산:{ORDERBY [Commission] DESC: RANK()}

RANK_DENSE()

각 행에 오름차순이나 내림차순으로 1부터 시작하는 정수 순위를 할당합니다. 값이 같은 행이 있는 경우 값의 첫 번째 인스턴스에 할당된 순위를 공유하지만 건너뛰는 순위 값이 없으므로 연속적인 순위 값이 표시됩니다.

샘플 계산:{ORDERBY [Commission] DESC: RANK_DENSE()}

RANK_MODIFIED()

각 행에 오름차순이나 내림차순으로 1부터 시작하는 정수 순위를 할당합니다. 값이 같은 행이 있는 경우 값의 마지막 인스턴스에 할당된 순위를 공유합니다. Rank_Modified는 Rank + (Rank + Number of duplicate rows - 1)로 계산됩니다.

샘플 계산:{ORDERBY [Commission] DESC: RANK_MODIFIED()}

RANK_PERCENTILE()

각 행에 오름차순이나 내림차순으로 0부터 1 사이의 백분위수를 할당합니다. RANK_PERCENTILE은 (Rank-1)/(Total rows-1)로 계산됩니다.

샘플 계산:{ORDERBY [Commission] DESC: RANK_PERCENTILE()}

참고: 동점인 경우 Tableau Prep은 SQL의 PERCENT_RANK()와 유사하게 순위를 내립니다.

ROW_NUMBER()

각 고유 행에 순차적인 행 ID를 할당합니다. 행 번호 값을 건너뛰지 않습니다. 중복 행이 있을 때 이 계산을 사용하면 흐름을 실행할 때마다 행 순서가 변경되는 경우 결과가 변경될 수 있습니다.

샘플 계산:{ORDERBY [Commission] DESC: ROW_NUMBER()}

다음 예에서는 동일한 데이터 집합에 적용된 위의 각 함수를 비교하여 보여줍니다.

순위 또는 행 번호 계산 만들기

RANK 또는 ROW_NUMBER 계산을 만들려면 계산 에디터를 사용하여 직접 계산을 작성할 수 있습니다. 또한 보다 자세한 안내가 제공되는 환경이 필요한 경우 시각적 계산 에디터를 사용할 수 있으며, 이 환경에서는 필드를 선택하면 Tableau Prep이 자동으로 계산을 작성합니다.

참고: 시각적 계산 에디터에서는 ROW_NUMBER () 계산을 사용할 수 없습니다.

계산 에디터

계산 에디터를 사용하여 지원되는 RANK () 또는 ROW_NUMBER() 계산을 만듭니다. 지원되는 분석 계산의 목록은 계산 에디터의 참조 드롭다운에서 분석 아래에 표시됩니다.

  1. 프로필 패널 툴바에서 계산된 필드 만들기를 클릭하거나 프로필 카드 또는 데이터 그리드에서 기타 옵션 메뉴를 클릭하고 계산된 필드 만들기 > 사용자 지정 계산을 선택합니다.

  2. 계산 에디터에서 계산의 이름을 입력하고 식을 입력합니다.

    예를 들어 최신 고객 주문을 구하려면 아래에 표시된 것과 같은 계산을 만들고 번호 1로 순위가 매겨진 고객 주문 행만 남깁니다.

: ROW_NUMBER를 사용하여 중복 값을 찾아 제거합니다.

이 예제에서는 Tableau Prep Builder의 Superstore 샘플 데이터 집합을 사용하며, ROW_NUMBER 함수를 통해 Row ID(행 ID) 필드에서 정확히 일치하는 중복 값을 찾아 제거합니다.

  1. Sample Superstore 흐름을 엽니다.

  2. 흐름 패널에서 Orders West(서부 주문) 입력 단계에 대한 Rename States(주 이름 바꾸기) 정리 단계를 클릭합니다.

  3. 툴바에서 계산된 필드 만들기를 클릭합니다.

  4. 계산 에디터에서 새 필드에 "Duplicates(중복)"라는 이름을 지정하고 ROW_NUMBER 함수를 사용하여 Row ID(행 ID) 필드에 행 번호를 추가하기 위해 {PARTITION [Row ID]: {ORDERBY[Row ID]:ROW_NUMBER()}} 식을 사용한 다음 저장을 클릭합니다.

  5. 새 계산된 필드에서 필드 값 1을 마우스 오른쪽 단추로 클릭하거나 Cmd-클릭(MacOS)한 다음 메뉴에서 이 항목만 유지를 선택합니다.

    이전이후

시각적 계산 에디터

세부 수준 계산을 만들 때와 마찬가지로 시각적 계산 에디터를 사용하여 순위 계산을 작성할 수 있습니다. 계산에 포함할 필드를 선택한 다음 행 순위 지정에 사용할 필드와 계산하려는 순위 유형을 선택합니다. 결과 미리 보기가 왼쪽 패널에 표시되므로 선택을 하면서 결과를 확인할 수 있습니다.

  1. 프로필 카드 또는 결과 패널에서 기타 옵션 메뉴를 클릭하고 계산된 필드 만들기 > 순위를 선택합니다.

  2. 시각적 계산 에디터에서 다음 작업을 수행합니다.

    • 그룹화 기준 섹션에서 값을 계산하려는 행이 포함된 필드를 선택합니다. 이렇게 하면 계산의 파티션 부분이 만들어집니다.

      첫 번째 필드를 선택한 후 더하기 아이콘을 클릭하여 추가 필드를 계산에 추가합니다. 모든 행을 포함하거나 선택한 필드를 제거하려면 그룹화 기준 섹션에서 필드의 드롭다운 상자를 마우스 오른쪽 단추로 클릭하거나 Cmd-클릭(MacOS)하고 필드 제거를 선택합니다.

    • 정렬 기준 섹션에서 새 값의 순위를 지정하는 데 사용할 필드를 선택합니다. 계산된 필드 만들기 > 순위 메뉴 옵션을 선택한 필드는 기본적으로 추가됩니다.

      더하기 아이콘을 클릭하여 원하는 다른 필드를 계산에 추가한 다음 순위 유형을 선택합니다. 정렬 아이콘 을 클릭하여 순위 순서를 내림차순(DESC)에서 오름차순(ASC)으로 변경합니다.

      참고: 순위 값은 필드에 할당한 데이터 유형에 따라 달라집니다.

    • 왼쪽 패널에서 필드 머리글을 두 번 클릭하고 계산의 이름을 입력합니다.

  3. 완료를 클릭하여 새 계산된 필드를 추가합니다. 변경사항 패널에서 Tableau Prep Builder가 생성한 계산을 확인할 수 있습니다. 편집을 클릭하여 변경을 수행할 시각적 계산 에디터를 엽니다.

분위 계산

분위 기능을 사용하면 계산된 필드를 만들어 행을 지정된 수의 버킷으로 분산할 수 있습니다. 분산할 필드와 사용할 그룹(분위) 수를 선택합니다. 또한 분위로 나눈 행을 그룹으로 분산하는 파티션을 만들기 위해 추가 필드를 선택할 수도 있습니다. 계산 에디터를 사용하여 구문을 수동으로 입력하거나 시각적 계산 에디터를 사용하여 필드를 선택하면 Tableau Prep에서 계산을 자동으로 작성합니다.

예를 들어 학생 데이터 행이 있고 상위 50% 및 하위 50%에 있는 학생을 보려면 데이터를 두 개의 분위로 그룹화할 수 있습니다.

다음 예에서는 학생 성적을 상위 절반 및 하위 절반으로 나눈 두 개의 그룹을 보여 줍니다. 이 메서드의 구문은 다음과 같습니다.

{ORDERBY [Grade] DESC:NTILE(2)}

파티션을 만들어 필드의 각 값을 별도의 파티션으로 구분하고 각 파티션의 데이터를 그룹으로 나눌 수도 있습니다.

다음 예에서는 과목(Subject) 필드에 대한 파티션을 만드는 방법을 보여 줍니다. 각 과목별로 파티션을 만들고 성적(Grade) 필드에 대해 2개의 그룹(분위)을 만듭니다. 그런 다음 행이 세 개의 파티션에 대해 두 그룹으로 균등하게 분산됩니다. 이 메서드의 구문은 다음과 같습니다.

{PARTITION [Subject]:{ORDERBY [Grade] DESC:NTILE(2)}}

분위 계산 만들기

분위 계산을 만들려면 계산 에디터를 사용하여 직접 계산을 작성할 수 있습니다. 또한 보다 자세한 안내가 제공되는 환경이 필요한 경우 시각적 계산 에디터를 사용할 수 있으며, 이 환경에서는 필드를 선택하면 Tableau Prep이 자동으로 계산을 작성합니다.

시각적 계산 에디터

시각적 계산 에디터를 사용하여 분위 계산을 만들면 결과 미리 보기가 왼쪽 패널에 표시됩니다.

  1. 분위 계산을 생성할 프로필 카드를 선택합니다.

  2. 기타 옵션 메뉴를 클릭하고 계산된 필드 만들기 > 분위를 선택합니다.

    선택한 프로필 카드가 ORDERBY 필드로 추가됩니다.

  3. 시각적 계산 에디터에서 다음 작업을 수행합니다.

    • 원하는 분위 그룹화의 수를 선택합니다. 분위의 기본값은 1입니다.

    • 그룹화 기준 섹션에서 값을 계산하려는 행의 필드를 선택합니다. 그러면 계산의 PARTITION 부분이 만들어집니다. 단일 계산에 대해 여러 그룹화 기준 필드를 사용할 수 있습니다.

      더하기 아이콘을 클릭하여 원하는 다른 필드를 계산에 추가합니다. 모든 행을 포함하거나 선택한 필드를 제거하려면 그룹화 기준 섹션에서 필드의 드롭다운 상자를 마우스 오른쪽 단추로 클릭하거나 Cmd-클릭(MacOS)하고 필드 제거를 선택합니다.

    • 왼쪽 패널에서 필드 머리글을 두 번 클릭하고 계산의 이름을 입력합니다.

    • 정렬 기준 섹션에서 새 값을 그룹화하고 분산하는 데 사용할 하나 이상의 필드를 선택합니다. 정렬 기준 필드가 하나 이상 있어야 합니다. 계산된 필드 만들기 > 분위 메뉴 옵션을 선택한 필드는 기본적으로 추가됩니다.

  4. 결과를 정렬하려면 다음을 수행합니다.

    • 계산 행 중 하나를 클릭하여 선택한 그룹의 결과를 필터링합니다.

    • 정렬 기준 필드를 오름차순 또는 내림차순으로 변경합니다.

  5. 완료를 클릭하여 새 계산된 필드를 추가합니다.

  6. 변경사항 패널에서 Tableau Prep Builder가 생성한 계산을 확인할 수 있습니다. 편집을 클릭하여 변경을 수행할 시각적 계산 에디터를 엽니다.

    다음 예에서는 행의 사분위수 분할을 보여줍니다. 네 개의 미국 지역에 기반하여 파티션을 만든 후 매출(Sales) 필드 데이터를 파티션으로 균등하게 그룹화합니다.

계산 에디터

  1. 프로필 패널 툴바에서 계산된 필드 만들기를 클릭하거나 프로필 카드 또는 데이터 그리드에서 기타 옵션 메뉴를 클릭하고 계산된 필드 만들기 > 사용자 지정 계산을 선택합니다.

  2. 계산 에디터에서 계산의 이름을 입력하고 식을 입력합니다. 예를 들어, 성적별로 학생 행을 두 그룹으로 정렬한 다음 과목별로 그룹화하려면 다음을 사용합니다. {PARTITION [Subject]:{ORDERBY [Grade] DESC:NTILE(2)}}

    분위 계산에는 다음 요소가 포함됩니다. 

    • PARTITION(선택 사항): partition 절은 NTILE() 함수가 사용되는 파티션으로 결과 집합의 행을 분류합니다.

    • ORDERBY(필수): ORDER BY 절은 NTILE()이 사용되는 각 파티션의 행 분산을 정의합니다.

    • NTILE(필수): NTILE은 행을 나눈 개수를 나타내는 정수입니다.

      참고: 모든 행을 NTILE 절로 나눌 수 있는 경우 분위 수로 행을 균등하게 나눕니다. 행 수를 NTILE 절로 나눌 수 없는 경우 결과 그룹은 크기가 서로 다른 구간차원으로 나뉩니다.

    • DESC 또는 ASC(선택 사항): 내림차순(DESC) 또는 오름차순(ASC)을 나타냅니다. 기본적으로 분위는 내림차순으로 정렬되므로 식에서 이 부분을 지정할 필요가 없습니다. 정렬 순서를 변경하려면 식에 ASC를 추가합니다.

  3. 저장을 클릭합니다.

    생성된 필드에는 테이블의 각 행에 연결된 분위 그룹화(구간차원) 할당이 표시됩니다.

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!