여러 테이블을 단일 테이블로 결합

완료됨

쿼리 결합은 서로 다른 테이블이나 쿼리를 추가 또는 병합할 수 있게 하는 대단히 강력한 기능입니다. 다음과 같은 상황에서 여러 테이블을 단일 테이블로 결합할 수 있습니다.

  • 테이블이 너무 많아서 지나치게 복잡한 의미 체계 모델을 탐색하기가 어렵습니다.

  • 여러 테이블에 비슷한 역할이 존재합니다.

  • 한 테이블에 다른 테이블에 포함할 수 있는 열이 하나 또는 두 개만 존재합니다.

  • 다양한 테이블의 여러 열을 사용자 지정 열에서 사용해야 합니다.

테이블은 병합과 추가라는 두 가지 방법으로 결합할 수 있습니다.

영업 팀과 HR 팀을 위한 Power BI 보고서를 작성한다고 가정하겠습니다. 모든 직원, 공급 업체 및 고객의 연락처 정보와 위치를 기록한 연락처 정보 보고서를 만들라는 요청을 받았습니다.  관련 데이터는 아래 이미지에서처럼 HR.Employees, Production.Suppliers 및 Sales.Customers 테이블에 있습니다.

Power Query 편집기에서 테이블을 선택하는 스크린샷

하지만 이 데이터는 여러 테이블에 가져왔으므로, 여러 테이블의 데이터를 병합하여 보고서 제작을 위한 단일 출처 테이블을 만들 방법을 찾아야 합니다. Power BI의 고유 기능을 사용하면 쿼리를 단일 테이블로 결합하고 병합할 수 있습니다.

쿼리 추가

쿼리를 추가하면 다른 테이블이나 쿼리에 데이터 행이 추가됩니다. 예를 들어 행이 300개인 테이블과 100개인 테이블이 하나씩 있을 때 쿼리를 추가하면 행 400개가 생깁니다. 쿼리를 병합하면 한쪽 테이블(또는 쿼리)의 열을 다른 테이블(또는 쿼리)에 추가하게 됩니다.  두 테이블을 병합하려면 두 테이블 사이의 키에 해당하는 열이 있어야 합니다.

앞에서 언급한 시나리오의 경우 HR을 추가합니다. 연락처 정보의 master 목록이 하나 있도록 Production.Suppliers 및 Sales.Customers 테이블이 있는 직원 테이블입니다.  직원, 공급 업체 및 고객의 모든 연락처 정보가 포함된 단일 테이블을 만들어야 하니, 결합된 테이블에 필요한 관련 열은 원래 데이터 테이블과 이름이 같아야 통합된 보기를 확보할 수 있습니다.

쿼리 결합을 시작하기 전에 이 작업에는 필요 없는 열을 테이블에서 제거해도 됩니다. 이 작업을 완료하려면 관련 정보가 포함된 4개의 열만 있도록 각 테이블의 서식을 지정하고, 열 머리글이 모두 같도록 이름을 바꿔야 합니다. 4개 열은 각각 ID, 회사, 이름 및 전화번호입니다.  아래 이미지는 서식을 다시 지정한 Sales.Customers, Production.Suppliers 및 HR.Employees 테이블의 스니펫입니다.

추가를 위한 서식 재지정

서식 재지정이 끝나면 쿼리를 결합할 수 있습니다. Power Query 편집기 리본의 탭에서 쿼리 추가의 드롭다운 목록을 선택합니다. 쿼리를 신규 항목으로 추가를 선택하면 추가의 결과로 새로운 쿼리 또는 테이블이 생성되며, 쿼리 추가를 선택하면 기존 테이블의 행을 다른 테이블에 추가합니다.

다음 작업은 새 마스터 테이블을 만드는 것이므로 쿼리를 신규 항목으로 추가를 선택해야 합니다. 이 옵션을 선택하면 아래 이미지에서처럼 추가하고 싶은 테이블을 사용 가능한 테이블에서 추가할 테이블로 추가할 수 있는 창이 열립니다.

Power Query 편집기에서 쿼리를 신규 항목으로 추가

추가할 테이블을 추가했다면 확인을 선택합니다. 아래 그림에서처럼 세 가지 테이블의 모든 열이 포함된 새 쿼리로 연결됩니다.

새 최종 항목으로 추가

직원, 공급 업체 및 고객의 정보가 모두 기록된 마스터 테이블을 만들었습니다. 이제 Power Query 편집기를 종료하고 이 마스터 테이블을 중심으로 보고서 구성요소를 만들 수 있습니다.

그러나 한쪽 테이블의 데이터를 다른 테이블에 추가하는 대신 테이블을 병합하고 싶다면 다른 프로세스를 진행해야 합니다.

쿼리 병합

쿼리를 병합할 때는 테이블 간의 공통 열을 바탕으로 여러 테이블의 데이터를 단일 테이블에 결합해야 합니다.  이 프로세스는 SQL의 JOIN 절과 유사합니다.  영업 팀이 여러분에게 (현재 테이블 두 개에 기록된) 주문 및 관련 세부 정보를 단일 테이블에 통합하라고 요청했다고 상상해 보세요. 아래 그림에서처럼 Orders와 OrderDetails를 병합하면 이 작업을 수행할 수 있습니다. 두 테이블에서 공유하는 열은 OrderID입니다.

병합할 Order 및 Order Details 테이블

Power Query 편집기 리본의 으로 이동한 다음, 쿼리 병합 드롭다운 메뉴를 선택합니다. 여기서 쿼리를 신규 항목으로 병합을 선택할 수 있습니다. 이 옵션을 선택하면 새 창이 열립니다. 이 창의 드롭다운 목록에서 병합할 테이블을 선택하고 두 테이블의 일치하는 열을 선택합니다. 이 경우에는 orderid입니다.

쿼리 병합 창

SQL에서의 JOIN 문과 유사한 프로세스인 두 테이블을 조인하는 방법도 선택할 수 있습니다.  조인 옵션은 다음과 같습니다.

  • 왼쪽 우선 외부 - 첫 번째 테이블의 모든 행과 두 번째 테이블의 일치하는 행을 표시합니다.

  • 완전 외부 - 두 테이블의 행을 모두 표시합니다.

  • 내부 - 두 테이블 간에 일치하는 행을 표시합니다.

이 시나리오에서는 왼쪽 우선 외부 조인을 선택해야 합니다. 확인을 선택하면 병합된 쿼리를 확인할 수 있는 새 창이 열립니다.

병합된 쿼리 최종 보기

이제 쿼리 또는 테이블 두 개를 다양한 방식으로 병합하여 비즈니스 요구 사항에 가장 적합한 방법으로 데이터를 볼 수 있습니다.

이 주제에 관한 자세한 내용은 Power BI에서의 데이터 셰이핑 및 결합 설명서를 참조하세요.