완전 외부 조인
파워 쿼리의 병합 대화 상자에서 사용할 수 있는 조인 종류 중 하나는 왼쪽 및 오른쪽 테이블의 모든 행을 가져오는 전체 외부 조인입니다. 추가 정보: 병합 작업 개요
스크린샷은 날짜, CountryID 및 단위 열이 있는 왼쪽 테이블을 보여줍니다. 강조된 CountryID 열에는 행 1과 2의 값 1, 행 3의 3, 행 4의 2 값이 포함됩니다. 오른쪽 테이블에는 ID 및 국가 열이 포함됩니다. 강조 표시된 ID 열에는 1행(미국 표시), 2열 2(캐나다 표시), 3행 3(파나마 표시), 4행 4(스페인 표시) 값이 포함됩니다. 처음 두 테이블 아래의 표에는 Date, CountryID, Units 및 Country 열이 포함됩니다. 모든 행은 CountryID 값에 따라 숫자 순서로 다시 정렬됩니다. CountryID 번호와 연결된 국가가 국가 열에 표시됩니다. 스페인에 대한 국가 ID가 왼쪽 테이블에 포함되지 않았기 때문에 새 행이 추가되고 이 행의 날짜, 국가 ID 및 단위 값이 null로 설정됩니다.
이 문서에서는 샘플 데이터를 사용하여 전체 외부 조인을 사용하여 병합 작업을 수행하는 방법을 보여줍니다. 이 예제의 샘플 원본 테이블은 다음과 같습니다.
판매: 이 테이블에는 날짜, CountryID 및 단위 필드가 포함됩니다. CountryID는 국가 테이블의 고유 식별자를 나타내는 정수 값입니다.
국가: 이 테이블은 필드 ID 와 국가가 있는 참조 테이블입니다. ID 필드는 각 레코드의 고유 식별자를 나타냅니다.
이 예제에서는 Sales 테이블을 왼쪽 테이블로, 국가 테이블을 오른쪽 테이블로 사용하여 두 테이블을 병합합니다. 조인은 다음 열 간에 이루어집니다.
Sales 테이블의 필드 | 국가 테이블의 필드 |
---|---|
CountryID | ID |
목표는 다음과 같은 테이블을 만드는 것입니다. 여기서 국가의 이름은 Sales 테이블에 새 국가 열로 표시됩니다. 전체 외부 조인의 작동 방식 때문에 테이블 중 하나에만 표시되는지 여부에 관계없이 왼쪽 및 오른쪽 테이블의 모든 행이 들어옵니다.
Date, CountryID 및 Sales 테이블에서 파생된 단위 및 국가 테이블에서 파생된 Country 열이 있는 최종 전체 외부 조인 테이블의 스크린샷 스페인의 데이터를 포함하기 위해 다섯 번째 행이 추가되었지만 Sales 테이블에 스페인에 대한 값이 없으므로 해당 행은 Date, CountryID 및 Units 열에 null을 포함합니다.
전체 외부 조인을 수행하려면 다음을 수행합니다.
- Sales 쿼리를 선택한 다음 병합 쿼리를 선택합니다.
- 병합 대화 상자의 오른쪽 테이블에서 병합할 국가를 선택합니다.
- Sales 테이블에서 CountryID 열을 선택합니다.
- 국가 테이블에서 ID 열을 선택합니다.
- 조인 종류 섹션에서 전체 외부를 선택합니다.
- 확인을 선택합니다.
참고 항목
Ctrl 키를 누른 다음 열을 선택하여 둘 이상의 열에 병합할 수 있습니다.
팁
대화 상자 아래쪽에 있는 "선택 영역이 두 테이블에서 5개 행 중 4개와 일치합니다."라는 메시지를 자세히 살펴봅니다. 이 메시지는 이 작업에서 얻을 수 있는 결과를 이해하는 데 중요합니다.
국가 테이블에는 ID가 4인 Country Spain이 있지만 Sales 테이블에는 CountryID 4에 대한 레코드가 없습니다. 따라서 오른쪽 테이블에서 4개의 행 중 3개만 일치하는 항목을 발견했습니다. 왼쪽 테이블의 일치하는 행이 없는 오른쪽 테이블의 모든 행은 왼쪽 테이블의 필드에 대한 값이 없는 출력 테이블의 새 행에 그룹화되고 표시됩니다.
병합 작업 후 새로 만든 국가 열에서 국가 필드를 확장합니다. 원래 열 이름을 접두사로 사용 확인란을 선택하지 마세요.
이 작업을 수행한 후에는 다음 이미지와 같은 테이블을 만듭니다.
Sales 테이블에서 파생된 날짜, CountryID 및 단위 및 국가 테이블에서 파생된 국가 열을 포함하는 전체 외부 조인 최종 테이블의 스크린샷 스페인의 데이터를 포함하기 위해 다섯 번째 행이 추가되었지만 Sales 테이블에 스페인에 대한 값이 없으므로 해당 행은 Date, CountryID 및 Units 열에 null을 포함합니다.