관계에 대한 두려움 극복

새로운 데이터 모델링 기능은 관계를 기반으로 작성되는 유연한 데이터 원본을 만듭니다.

관계는 서로 다른 테이블에서 공통적으로 존재하는 열(필드)을 찾고 해당 정보를 사용하여 각 테이블의 정보를 분석으로 가져와 데이터를 결합합니다.

조인이나 유니온과 달리 관계는 여러 테이블을 단일 테이블로 플랫화하지 않고 데이터 원본을 형성합니다. 이 때문에 관련 데이터 원본은 각 필드가 제공되는 테이블을 인식합니다. 즉, 각 필드가 해당 컨텍스트 또는 세부 수준을 유지합니다. 따라서 관련 데이터 원본은 중복이나 데이터 손실 문제 없이 세부 수준이 서로 다른 테이블을 처리할 수 있습니다.

관련 데이터 원본에서 조인은 미리 고정되지 않습니다. 모든 데이터를 병합하는 대신(각 비주얼리제이션에 필요한 데이터와 관계없이 모든 데이터를 처리하는 대신), 시트별로 필요에 따라 관련 데이터만 결합합니다. 끌어 놓기를 할 때 Tableau는 관련 필드 및 테이블의 관계를 평가합니다. 이러한 관계는 올바른 조인 유형, 집계 및 Null 처리를 사용하여 쿼리를 작성하는 데 사용됩니다.

데이터를 결합하는 방법이나 데이터 원본의 결함을 보상하는 방법을 생각하는 대신 데이터가 연동되는 방식과 답을 얻으려는 질문에 대해 생각할 수 있습니다.

관계는 데이터를 결합하는 이전 방식(조인, 유니온 및 혼합)을 대체하지 않습니다. 대신 관계는 여러 원본에서 데이터를 결합하는 새로운 유연한 방법입니다. 기본 방법은 없어지지 않았으며 특정 시나리오에서 여전히 유용하게 사용할 수 있습니다.

관계 사용

이 항목에서는 관련 데이터 원본을 작성하고 분석에 사용하는 방법을 단계별로 안내합니다. 단계를 따라 하려면 Bookshop 데이터 집합을 다운로드(링크가 새 창에서 열림)할 수 있습니다. 원시 데이터로 Bookshop.xlsx를 선택하여 처음부터 시작하거나 MinimalBookshop.tdsx를 선택하여 관련 데이터 원본이 기본적으로 구성된 상태로 시작합니다.

참고: 관계는 Tableau 2020.2 이상에서 사용할 수 있습니다.

동영상: 마이그레이션된 데이터

이전 Tableau 버전(버전 2020.1 이하)의 기존 통합 문서를 Tableau 2020.2 이상에서 열 경우 데이터 원본 탭에 마이그레이션된 데이터 테이블이 표시될 수 있습니다.

이 항목에는 여러 동영상이 포함되어 있습니다. 편의를 위해 각 동영상 아래의 확장 가능한 섹션에 자막이 제공됩니다.

마이그레이션된 데이터 동영상 자막

관계가 제공되기 전(2020.2 이전 버전)에 만든 통합 문서를 열 경우 데이터 원본이 다르게 보일 수 있습니다. 조인되거나 유니온된 테이블이 있는 경우 마이그레이션된 데이터라는 단일 논리적 테이블로 나타납니다. 두 번 클릭하여 기초 테이블을 표시합니다. 기초 테이블은 여전히 있고 분석은 계속 예상대로 작동합니다.

마이그레이션된 데이터 테이블만 사용하는 경우 데이터 패널은 이전 Tableau Desktop 버전과 거의 비슷하게 작동합니다.

새 테이블을 마이그레이션된 데이터 테이블에 직접 연관시켜 데이터 모델을 확장할 수도 있습니다.

데이터 모델에 관계를 추가하면 데이터 패널이 새 레이아웃으로 업데이트되고 차원 및 측정값은 각 테이블 내부에 유지되며 마이그레이션된 데이터 테이블은 병합된 단일 테이블로 표시됩니다.

동영상: 테이블 연관

참고: 이 동영상에 나온 관계 편집용 인터페이스는 현재 릴리스와 약간 다르지만 기능은 같습니다.

테이블 연관 동영상 자막

관련 테이블의 데이터 원본을 작성하려면 데이터에 연결하고 테이블을 캔버스로 끌어 놓습니다. 두 번째 테이블을 끌어 놓습니다. 가능한 경우 관계가 자동으로 형성됩니다. 관련 필드를 감지할 수 없는 경우 관련 필드를 선택하라는 메시지가 표시됩니다.

표시되는 캔버스는 테이블을 연관시킬 수 있는 데이터 모델의 새로운 계층입니다. 관련 테이블을 끌어 놓아 데이터 모델에 추가합니다. 어떤 테이블이 연관되었는지 이음줄로 표시됩니다.

계산된 필드를 기반으로 관계를 만들 수 없습니다. 관계를 정의할 때 연산자를 사용하여 필드를 비교하는 방법을 지정할 수도 있습니다.

조인 추가

조인을 만들려면 테이블을 두 번 클릭하여 조인 캔버스(물리적 계층이라고도 함)를 연 다음 테이블을 끌어 놓아 조인을 만듭니다. 조인 만들기는 이전 Tableau 버전과 같은 환경입니다. 필요한 경우 계산을 포함하는 조인 절을 설정하고 조인 유형을 구성할 수 있습니다.

조인 캔버스를 닫으면 관계 캔버스의 테이블(논리적 계층이라고도 함)에 기초 조인을 나타내는 조인 아이콘이 표시됩니다. 이것은 조인이 해당 테이블을 병합하여 새로운 단일 테이블을 형성하기 때문입니다. 관련 테이블은 고유한 상태를 유지합니다.

유니온 추가

새 유니온을 끌어 놓아 유니온을 추가합니다. 조인과 마찬가지로 유니온은 실제로 데이터를 병합하고 논리적 계층에 아이콘을 표시합니다. 항상 유니온 이름이나 명확하지 않은 테이블 이름을 보다 쉽게 사용할 수 있는 이름으로 바꾸는 것이 좋습니다.

동영상: 성능 옵션

참고: 이 동영상에 나온 관계 편집용 인터페이스는 현재 릴리스와 약간 다르지만 기능은 같습니다.

성능 옵션 동영상 자막

모든 관계에는 성능 옵션과 관련 필드가 있습니다. Tableau는 자동으로 이러한 옵션에 대한 안전한 기본값을 선택합니다. 그러나 데이터 특성을 잘 알고 있는 경우 이러한 옵션을 변경하여 Tableau에 분석 중 최선의 자동 조인 구성 방법에 대한 보다 자세한 정보를 제공할 수 있습니다. 카디널리티 및 참조 무결성 옵션을 설정하면 Tableau에 쿼리 최적화 방법에 대한 보다 자세한 정보를 제공할 수 있습니다.

카디널리티

카디널리티는 연결 필드 레코드가 고유한지 여부를 나타냅니다. 여러 서적이 동일한 저자를 가질 수 있지만 각 저자는 Author 테이블에 한 번만 나열되는 경우 Books와 Author 테이블 간에서 AuthID에 대한 카디널리티는 Books에 대해 다수이고 Author에 대해 하나입니다. 이 설정은 Tableau가 조인 전과 후에 집계를 처리하는 방법에 영향을 미칩니다.

참조 무결성

참조 무결성은 한 테이블의 레코드가 다른 테이블에서 관계를 갖도록 보장되는지 여부를 나타냅니다. 모든 서적에 저자가 있는 경우 Book은 Author에 대해 참조 무결성이 있습니다. 일부 저자는 서적이 없는 경우 Author는 Book에 대해 참조 무결성이 없습니다. 이 설정은 Tableau가 조인 유형을 선택하고 일치하지 않는 레코드를 처리하는 방법에 영향을 미칩니다.

자세한 내용은 카디널리티 및 참조 무결성을 참조하십시오.

예: Bookshop 데이터

잠시 후에 이 데이터 원본을 사용하여 몇 가지 분석을 수행하겠지만 먼저 이 데이터에 대해 알아보겠습니다.

이 데이터 집합은 (가상의) 서적에 대한 것이며 서적과 판형 사이의 구분을 고려하는 것이 중요합니다. 서적은 제목, 저자 및 장르와 같은 특성을 포함하는 개념적 작업물 자체입니다. 서적에는 가격과 형식(양장본 또는 문고본) 같은 특성을 포함하며 ISBN으로 식별되는 판형도 있습니다. 서적의 판형에는 출판사와 페이지 수가 있으며 서적에는 수상 경력이나 시리즈가 있을 수 있습니다.

MinimalBookshop.tdsx를 다운로드하여 따라 하거나 용감하게 Bookshop.xlsx를 사용하여 직접 모델을 작성할 수 있습니다. 테이블이 결합된 후에는 많은 ID 필드를 숨길 수 있습니다.

동영상: 여러 테이블로 작업

참고: 이 동영상에 나온 관계 편집용 인터페이스는 현재 릴리스와 약간 다르지만 기능은 같습니다.

여러 테이블로 작업 동영상 자막

데이터 원본 페이지

시트 탭으로 이동하기 전에 아래 데이터 그리드 뷰에 한 번에 한 테이블의 필드만 표시된다는 것을 확인하십시오. 다른 테이블을 클릭하면 해당 테이블에 포함된 데이터가 표시됩니다. 관련 데이터는 분석에 사용되기 전에는 함께 가져오지 않기 때문에 전체 뷰가 없습니다. 지금은 데이터가 각 테이블에 유지되므로 테이블별로 표시됩니다.

기초 조인 또는 유니온이 있는 테이블을 클릭하면 병합된 데이터와 포함될 수 있는 모든 Null이 표시됩니다.

데이터 패널

시트를 클릭하면 데이터 패널이 이전 Tableau 버전과 다르게 보인다는 것을 알 수 있습니다. 이제 차원 및 측정값의 기본 구성 대신 테이블에 중점을 둡니다. 각 테이블에는 이 라인으로 표시되는 차원 및 측정값에 대한 구분이 있습니다. 원한다면 여전히 폴더별로 그룹화할 수 있습니다.

레코드 수 및 카운트

레코드 수 필드도 없습니다. 이것은 레코드 수의 개념이 변경되었기 때문입니다. 데이터 원본에 대한 단일 레코드 수가 없습니다. 각 테이블에는 Count(카운트) 필드가 있으며, 이 필드를 해당 테이블의 국부적 레코드 수로 생각할 수 있습니다.

여러 테이블의 레코드 수를 동시에 알아보려면 측정값 이름 및 측정값을 사용하거나 카운트 필드를 다중 선택하고 표현 방식을 사용하여 비주얼리제이션을 만들 수 있습니다.

동영상: 기본 계산

기본 계산 동영상 자막

이 데이터 집합을 조금 더 친숙하게 만들기 위해 수행할 수 있는 몇 가지 계산이 있습니다. 먼저 성과 이름을 함께 가져오는 전체 저자 이름에 대한 계산을 만들 수 있습니다. 단순히 이름, 공백 및 성을 나열하는 Author Name이라는 계산을 만들 것입니다. 이 계산은 Author 테이블의 필드만 사용하기 때문에 해당 테이블에 유지됩니다.

[First Name] + " " + [Last Name]

판매를 할 경우 판매 금액은 가격(출판사에 의해 고정되며 판형 또는 ISBN과 관련된 값)과 판매 시점의 할인이 조합되어 결정됩니다. 따라서 Sales Amount 계산은 가격에 1을 곱하고 할인 금액을 뺀 값입니다. ZN(또는 Zero Null) 함수를 사용하여 할인이 없는 판매를 처리하므로 Null이 발생하지 않습니다. 이 계산은 여러 테이블의 필드를 사용하므로 데이터 패널 맨 아래에 있는 공유 영역으로 이동됩니다. 집계 계산도 데이터 패널 맨 아래로 이동됩니다.

[Price] * (1-ZN([Discount]))

동영상: 집합 및 그룹

집합 및 그룹 동영상 자막

서적이 시리즈인지 여부를 식별하는 집합을 만듭니다. Book 테이블에서 Title을 마우스 오른쪽 단추로 클릭하고 만들기 > 집합을 선택합니다. 이름을 In a series로 지정합니다. 조건 탭에서 필드 기준Series Name(시리즈 이름)으로 선택하고 카운트를 >= 1로 선택합니다.

Edition 테이블에서 Format(형식) 필드는 매우 자세합니다. 예를 들어 Mass market paperback 및 Trade paperback이 지정되어 있습니다. 이 세부 정보가 유용한 경우도 있지만 일반화하여 양장본과 문고본을 구분해야 하는 경우도 있습니다. 데이터 패널에서 Format(형식) 필드를 마우스 오른쪽 단추로 클릭하고 만들기 > 그룹을 선택합니다. 이름을 Cover로 지정합니다. Control 클릭하여 Hardcover를 제외한 모든 항목을 선택한 다음 그룹을 클릭합니다. 그룹 이름이 자동으로 하이라이트됩니다. 이 이름을 Paperback이라고 할 수 있습니다.

Author Name 계산과 마찬가지로 앞서 만든 이러한 항목은 단일 테이블 내의 관계이므로 데이터 패널에서 해당 테이블 내에 유지됩니다.

관련 데이터 분석

관계와 조인에서 분석이 어떻게 보이는지 몇 가지를 비교하겠습니다. 위의 고유한 데이터 원본을 계속 사용하는 대신 질문 1질문 2에 대한 안내용 통합 문서를 다운로드하는 것이 좋습니다. 질문 1에 대한 데이터 원본 구성이나 단계에서 문제를 확인한 경우 이 시나리오의 목적을 위해 의도된 것임에 주의하십시오.

질문 1: 각 서적에 몇 개의 판형이 있습니까? 

중요: 질문 1에 대한 동영상은 베타 소프트웨어에서 녹화되었습니다. 릴리스된 2020.2 버전은 관련 데이터 원본에서 오류가 유발되는 시도가 올바로 처리됩니다. 단계를 따라하는 경우 통합 문서가 동영상과 달라지지만 관계 값이 올바로 나타납니다. 교육을 목적으로 제품을 조작하여 오류를 유발한 것에 대해 양해를 부탁드립니다.

두 데이터 원본을 모두 사용하는 몇 가지 기본적인 분석을 수행하여 이 질문을 설정합니다. 각 분석에서 막대 차트를 작성하여 제목별로 판형 수를 표시합니다.

관계조인

관련 데이터 원본 사용:

  1. Title을 행으로 가져옵니다.
  2. Edition(Count)을 열로 가져옵니다.
  3. 툴바에서 레이블 아이콘을 클릭하여 레이블을 설정합니다.
  4. 툴바에서 내림차순 정렬 아이콘을 클릭합니다.

 

조인된 데이터 원본 사용:

  1. Title을 행으로 가져옵니다.
  2. ISBN을 열로 가져옵니다.
  3. 알약 모양을 마우스 오른쪽 단추로 클릭하고 측정값 > 카운트를 선택합니다.
  4. 툴바에서 레이블 아이콘을 클릭하여 레이블을 설정합니다.
  5. 툴바에서 내림차순 정렬 아이콘을 클릭합니다.

카운트가 조인된 데이터에 대한 올바른 집계가 아니라는 것을 즉시 알 수 있습니다. 그러나 관련 데이터도 뭔가 잘못되었습니다. 데이터를 보고 무엇이 문제인지 확인하여 해결하겠습니다. 방법을 보려면 동영상을 시청하십시오(또는 동영상 자막을 읽으십시오).

동영상: 데이터 유효성 검사 및 데이터 모델 수정

질문 1 동영상 자막

조인

여기에서는 조인된 데이터를 조사합니다. 조인된 비주얼리제이션에서 마크의 기초 데이터를 살펴보겠습니다.

이 데이터 보기 대화 상자에는 요약과 전체 데이터라는 두 탭이 있습니다.

  • 동일한 서적에 대한 엄청난 수의 행이 있는데 모든 조인으로 인한 중복 때문입니다.

중복을 처리하기 위해 뷰에서 ISBN 필드에 대한 집계를 고유 카운트로 변경합니다. 거의 모든 분석 시나리오에서 이 중복을 고려해야 하며 올바른 집계, 필터링 또는 비주얼리제이션 구성 방법을 사용하여 해결해야 합니다.

관계

관련 데이터 원본의 구조를 살펴보고 조인에 어떤 일이 발생하는지 알아보겠습니다. 관련 비주얼리제이션에서 마크의 기초 데이터를 살펴보겠습니다.

데이터 보기 대화 상자에 다시 여전히 두 개의 탭이 있지만 이번에는 전체 데이터 대신 Edition 탭이 있습니다. 비주얼리제이션에 사용된 각 테이블에는 고유한 탭이 있습니다.

  • 이 서적에 대한 행이 중복됩니다. 조인이 중복을 유발할 수 있고 이 데이터 원본의 Book 테이블은 실제로 Book 테이블에 Info 및 Award가 조인된 것임을 알고 있습니다.

Title 및 Award Name을 사용하여 비주얼리제이션을 만들고 아래로 스크롤하여 조사할 수 있습니다. 예상대로 The Mallemaroking은 두 개의 상을 받았습니다. 이러한 테이블을 조인하는 것보다 연관시키는 것이 좋습니다.

데이터 원본 탭으로 돌아가 조인에서 Awards 테이블을 제거하고 대신 테이블을 연관시킵니다. 이제 이 데이터 원본에서 더 이상 중복 문제를 걱정할 필요가 없습니다.

질문 2: 시리즈인 서적이 있는 저자 중에서 가장 많은 서적 홍보 행사를 한 저자는 누구입니까?

동영상: 서로 다른 세부 수준으로 작업

질문 2 동영상 자막

작업할 저자를 살펴보겠습니다. 관련 데이터 원본을 사용하여 Author NameSeries Name을 행으로 가져옵니다.

관련 데이터 원본은 테이블에서 차원만 포함하는 일치하지 않는 데이터를 제거하기 때문에 관련이 있는 데이터에 집중할 수 있습니다. 7명의 저자가 있으며, 그 중 두 명은 두 개의 시리즈를 집필했습니다. 일치하는 값만 보려는 것이 아니라면 분석 메뉴 > 테이블 레이아웃으로 이동한 후 빈 행 표시를 선택하여 이러한 일치하지 않는 값을 복원할 수 있습니다. 이것은 레거시 동작과 거의 같습니다.

관계조인

관련 데이터 원본 사용:

  1. In a series 집합을 Book 테이블에서 필터 선반으로 가져옵니다. 기본값은 집합의 멤버만 표시하도록 필터링하는 것입니다.
  2. Author Name을 행으로 가져옵니다.
  3. Book Tour Events를 열로 가져옵니다.

조인된 데이터 원본 사용:

  1. In a series 집합을 필터 선반으로 가져옵니다.
  2. Author Name을 행으로 가져옵니다.
  3. Book Tour Events를 열로 가져옵니다.

수치가 다소 문제가 있는 것 같습니다.

조인된 데이터의 경우 조인으로 인한 중복이 있음을 알고 있으며 일부 저자는 여러 시리즈를 가지고 있다는 것도 알고 있습니다. 이 때문에 단순히 집계를 MIN이나 MAX로 변경할 수 없습니다. 이렇게 하면 여러 시리즈를 집필 중인 저자의 정보가 손실됩니다.

실제로 알고 싶은 것은 저자별로 시각화된 시리즈별 행사의 수입니다. 이것은 세부 수준(LOD) 식의 전통적인 사례입니다. 여기에서는 Series Events 계산을 만듭니다.

{FIXED [Series Name] : MIN ([Book Tour Events])}

MIN은 단일 시리즈에 대한 행사 중복을 처리합니다.

이제 원래 Events(행사) 필드 대신 이 새 필드를 열로 가져오면 올바른 값을 얻게 됩니다.

관련 데이터의 경우 이러한 작업을 할 필요가 없습니다. 관계는 기본 세부 수준을 이해하고 Author 테이블이 Book 테이블을 통해, 그리고 Info 테이블이 Series 테이블을 통해 연관되는 방식을 이해하여 Events 측정값을 올바르게 다시 Author Name에 조인하여 집계할 수 있을 만큼 지능적입니다. 또한 이 모든 과정에서 LOD 계산을 작성할 필요가 없습니다.

따라서 두려움 없이 데이터를 연관시킬 수 있습니다. 직접 확인해 보십시오! Bookshop 데이터를 다운로드(링크가 새 창에서 열림)하거나 고유한 데이터를 사용할 수 있습니다. 마음껏 필터링하고, 테이블 계산을 사용하고, 다양한 차트 유형을 작성하고, 성능 옵션을 구성하고, 관계를 적용해 보십시오.

관련 데이터 작업 시 팁

  • 자주 기초 데이터 보기하여 마크가 나타내는 데이터가 무엇인지 확인하십시오.
  • 조인이 필요하거나 조인을 사용해야 할 이유가 있는 경우가 아니라면 관계를 사용하는 것이 훨씬 융통성이 있습니다.
  • 일치하는 값만 보려는 것이 아니라면 분석 메뉴 > 테이블 레이아웃 > 빈 행 표시로 이동하여 이러한 일치하지 않는 값을 복원할 수 있습니다.

관련 리소스

관계가 있는 계산을 처리할 준비가 되셨습니까? 관계의 계산에 대한 두려움 극복을 확인해 보십시오.

관계를 사용하여 복잡한 분석을 수행하는 방법을 계속 탐색할 준비가 되셨습니까? 심층적인 관계에 대한 두려움 극복을 확인해 보십시오.

제품 관리 팀에서 직접 제공하는 관계의 기술적 토대에 대한 자세한 내용을 보려면 Tableau 블로그에서 관계에 대한 시리즈를 참조하십시오.

Action Analytics(링크가 새 창에서 열림)에서 Tableau가 관계를 발명한 이유는 무엇입니까?(영문)(링크가 새 창에서 열림)와 같은 동영상 팟캐스트도 참조하십시오. Library(라이브러리)(링크가 새 창에서 열림)에서 “Video Podcast(동영상 팟캐스트)”를 클릭하여 자세히 알아볼 수 있습니다.

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