성능 옵션을 사용하여 관계 쿼리 최적화
성능 옵션은 관계에서 두 테이블 간의 카디널리티(고유성) 및 참조 무결성(일치하는 레코드)을 정의하는 선택적 설정입니다. 이러한 설정을 통해 Tableau가 분석 중에 쿼리를 최적화할 수 있습니다.
- 무엇을 선택해야 하는지 모를 경우 Tableau에 표시된 권장 기본 설정을 사용합니다. 기본값을 사용하면 안전하며 분석 중에 올바른 집계와 조인이 자동으로 생성됩니다. 카디널리티 또는 참조 무결성을 모르는 경우 이러한 설정을 바꿀 필요가 없습니다.
- 데이터의 형태를 아는 경우 선택적으로 이러한 설정을 변경하여 두 테이블의 레코드 간에서 고유성과 일치를 표현할 수 있습니다.
많은 분석 시나리오에서 관계에 대한 기본 설정을 사용하면 분석에 필요한 모든 데이터를 얻을 수 있습니다. 일부 시나리오에서는 성능 옵션 설정을 조정하여 데이터를 더 정확하게 기술할 수 있습니다. 관계를 사용하여 데이터를 결합하고 분석하는 것에 대한 자세한 내용은 데이터 연관(링크가 새 창에서 열림) 및 Tableau 블로그 게시물: 관계, 1부: Tableau의 새로운 데이터 모델링 소개(영문)(링크가 새 창에서 열림)를 참조하십시오.
카디널리티 및 참조 무결성 설정의 의미
카디널리티 옵션
카디널리티 설정은 분석 중에 데이터를 자동으로 조인하기 전이나 후에 Tableau가 테이블 데이터를 집계할지 여부를 결정합니다.
- 필드 값이 고유하지 않거나 고유성 여부를 모르는 경우 다수를 선택합니다. Tableau는 분석 중에 조인을 형성하기 전에 관련 데이터를 집계하게 됩니다.
- 필드 값이 고유한 경우 하나를 선택합니다. 분석 중에 관련 데이터가 집계 전에 조인됩니다. 관계의 필드 값이 고유한 경우 이 옵션을 설정하면 통합 문서의 쿼리가 올바르게 최적화됩니다. 그러나 필드 값이 고유하지 않을 때 하나를 선택하면 뷰에 중복 집계 값이 표시될 수 있습니다.
참고: One을 선택하면 각 키 값이 고유하고 값이 null인 행이 최대 하나만 있다고 가정하여 레코드를 처리합니다.
참조 무결성 옵션
참조 무결성 설정은 분석 중에 측정값에 대한 차원 값을 가져오는 데 사용되는 조인 유형을 결정합니다.
- 필드 값이 다른 테이블에 일치하는 항목이 없거나 있는지 잘 모르는 경우 일부 레코드 일치를 선택합니다. 분석 중에 Tableau는 외부 조인을 사용하여 측정값에 대한 차원 값을 가져옵니다. 뷰에 일치하지 않는 측정값을 비롯한 모든 측정값이 표시됩니다.
- 필드의 값이 다른 테이블에 일치하는 항목이 있다고 보장되는 경우 모든 레코드 일치를 선택합니다. 이 설정은 분석 중에 더 적은 수의 간단한 조인을 생성하고 쿼리를 최적화합니다. 이 테이블에 일치하지 않는 값이 있는 경우 분석 중에 일관되지 않은 결과가 표시될 수 있습니다(일치하지 않는 값은 뷰에서 제거되거나 누락됨).
참고: 모든 레코드 일치를 선택하면 관계에 사용된 필드에 Null 값이 없다고 가정하여 레코드를 처리합니다. 분석 중에 Tableau는 내부 조인을 사용하여 측정값에 대한 차원 값을 가져옵니다. 기본적으로 Tableau는 null 키를 조인하지 않습니다.
카디널리티 및 참조 무결성 개념에 대한 자세한 내용은 카디널리티 및 참조 무결성을 참조하십시오.
조인은 어떻게 되었습니까?
여전히 데이터 원본의 물리적 계층에서 테이블 간에 조인을 지정할 수 있습니다. 논리적 테이블을 두 번 클릭하여 조인 캔버스로 이동합니다.
각 최상위 수준 논리적 테이블은 하나 이상의 물리적 테이블을 포함합니다. 논리적 테이블을 열어 해당 물리적 테이블 간의 조인을 보거나, 편집하거나, 만드십시오. 논리적 테이블을 마우스 오른쪽 단추로 클릭한 다음 열기를 클릭합니다. 또는 테이블을 두 번 클릭하여 엽니다.
데이터 원본을 만들면 두 계층이 존재합니다. 최상위 수준 계층은 데이터 원본의 논리적 계층입니다. 논리적 계층에서 관계를 사용하여 테이블 간의 데이터를 결합합니다.
다음 계층은 데이터 원본의 물리적 계층입니다. 물리적 계층에서 조인을 사용하여 테이블 간의 데이터를 결합합니다. 자세한 내용은 데이터 모델의 논리적 테이블 및 물리적 테이블(링크가 새 창에서 열림)을 참조하십시오.
성능 옵션 사용에 대한 팁
데이터의 형태를 아는 경우 성능 옵션의 선택적 설정을 사용하여 테이블 간의 카디널리티(일대일, 일대다, 다대다)를 설정하고 참조 무결성(한 테이블의 값은 항상 다른 테이블에 일치하는 항목이 있음)을 지정할 수 있습니다.
성능 옵션의 설정을 "예"와 "아니요"로 생각하지 말고 "예"와 "모름"으로 생각하십시오. 테이블의 값이 고유하다고 확신하는 경우 하나를 선택합니다. 한 테이블의 각 레코드가 다른 테이블의 레코드 하나 이상과 일치한다고 확신하는 경우 모든 레코드 일치를 선택합니다. 그렇지 않으면 기본 설정을 그대로 두십시오.
데이터의 형태를 모르는 경우 기본 설정을 사용합니다. Tableau가 데이터에서 이러한 설정을 감지하지 못하는 경우 기본 설정은 다음과 같습니다.
- 카디널리티: 다대다
- 참조 무결성: 일부 레코드 일치
Tableau가 데이터에서 키 관계 또는 참조 무결성을 감지하는 경우 해당 설정이 사용되며 "감지됨"으로 표시됩니다.
기본 설정을 적용하려면 기본값으로 되돌리기를 클릭합니다.
용어 정의
카디널리티는 필드(열) 또는 필드 조합에 포함된 데이터의 고유성을 나타냅니다. 분석하려는 테이블에 많은 데이터 행이 포함되어 있으면 쿼리가 느려질 수 있기 때문에(전체 데이터 원본의 성능이 저하될 수 있기 때문에) 테이블 간에서 관련 열의 카디널리티를 기반으로 데이터를 결합하는 방법을 선택하는 것이 좋습니다.
- 낮은 카디널리티: 관련 열에 많은 양의 반복 데이터가 있는 경우. 예를 들어 Products(제품) 테이블은 Category(범주) 열을 포함할 수 있고, 이 열은 세 개의 값 Furniture(가구), Office Supplies(사무 용품) 및 Technology(기술)를 포함할 수 있습니다.
- 높은 카니널리티: 관련 열에 많은 고유 데이터가 있는 경우. 예를 들어 Orders(주문) 테이블은 Order ID(주문 ID) 열을 포함할 수 있고, 이 열은 각 제품 주문에 대한 고유 값을 포함할 수 있습니다.
참조 무결성은 한 테이블이 항상 다른 테이블에서 일치하는 행을 갖는다는 의미입니다. 예를 들어 Sales(매출) 테이블은 항상 Product Catalog(제품 카탈로그) 테이블에서 일치하는 행을 갖습니다.