Lộ trình
Đến một lúc nào đó, các báo cáo Power BI của bạn sẽ vượt khỏi phạm vi tệp Excel đơn lẻ mà bạn có thể đã dùng để học và thử nghiệm với Power BI.
Rồi bạn sẽ cần nhập và có thể hợp nhất vài bảng từ các nguồn khác nhau để xây dựng mô hình dữ liệu vững chắc hơn.
Power BI cung cấp một công cụ đơn giản nhưng mạnh mẽ trong trình soạn thảo Power Query để làm việc này: hợp nhất bảng.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách hợp nhất bảng trong Power BI với một vài ví dụ thực tế và các thực hành tốt nhất.
Nếu bạn còn hoàn toàn mới với khái niệm hợp nhất và nối bảng, đừng lo! Hướng dẫn này cũng giới thiệu các kiểu join mà bạn có thể gặp trong Power BI.
Nếu bạn chưa sẵn sàng để bắt đầu ngay, hãy xem Chương 2 của khóa học mô hình dữ liệu trong Power BI để có phần giới thiệu đầu tiên rất hay về join trong Power BI. Ngược lại, nếu bạn muốn đào sâu logic đằng sau join, hãy xem khóa học về kết hợp dữ liệu trong SQL.
Hợp nhất bảng trong Power BI nghĩa là gì?
Hợp nhất bảng trong Power BI nghĩa là kết hợp hai hoặc nhiều bảng thành một bảng duy nhất.
Một điểm mạnh nổi bật của Power BI là khả năng kết hợp dữ liệu từ nhiều nguồn vào một nền tảng thống nhất. Dữ liệu của bạn có thể đến từ kho dữ liệu, tệp Excel, ứng dụng bên thứ ba, hoặc thậm chí là một trang web — Power BI đều có thể truy cập và hợp nhất chúng.
Điểm tuyệt vời của Power BI nằm ở sự đơn giản của quy trình này. Bạn không cần học cú pháp phức tạp hay tham gia một khóa lập trình chỉ để hợp nhất dữ liệu. Trải nghiệm trên Power BI rất trực quan và dễ làm theo.
Ví dụ, bạn có thể có một bảng chứa chi tiết khách hàng và một bảng khác là lịch sử mua hàng của họ. Bằng cách hợp nhất các bảng này, bạn có thể tạo một chế độ xem hợp nhất hiển thị cả thông tin khách hàng và giao dịch mua ở cùng một nơi.
Trong Power BI, bạn thực hiện việc này bằng tính năng "Merge Queries". Tính năng này cho phép bạn nối bảng dựa trên các cột chung, như mã khách hàng (customer ID) hoặc mã sản phẩm (product ID), để bạn có thể xem toàn bộ dữ liệu liên quan cùng nhau.
Giữ sẵn cheat sheet Power BI bên cạnh khi bạn theo dõi hướng dẫn này và các hướng dẫn khác để nhanh chóng tham chiếu một số khái niệm thiết yếu của Power BI.
DataCamp Power BI Cheat Sheet
Vì sao cần hợp nhất bảng?
Trước khi đi vào chi tiết, hãy làm rõ vì sao bạn cần hợp nhất bảng ngay từ đầu.
Hợp nhất bảng không phải lúc nào cũng bắt buộc. Rốt cuộc, chúng ta có thể tạo quan hệ giữa các bảng để hình thành một mô hình dữ liệu toàn diện. Thông qua mô hình dữ liệu này, chúng ta có thể dễ dàng tham chiếu các cột ở các bảng được kết nối và thêm chúng vào trực quan hóa.
Tuy nhiên, giả sử mô hình dữ liệu của bạn có một mạng lưới bảng kết nối dày đặc, tạo thành lược đồ bông tuyết. Điều này làm tốc độ và thời gian làm mới báo cáo chậm như rùa bò. Vậy giải pháp trong ví dụ này là gì?
Bằng cách hợp nhất các bảng ở xa, bạn có thể chuyển mô hình dữ liệu sang lược đồ hình sao, tăng hiệu năng và cải thiện trải nghiệm người dùng (chưa kể giảm bớt đau đầu cho chính bạn).
Chương 4 của khóa học mô hình dữ liệu trong Power BI của chúng tôi đi sâu vào khái niệm lược đồ hình sao và bông tuyết. Hoặc bạn có thể xem phần giới thiệu nhanh bằng cách đọc hướng dẫn mô hình dữ liệu trong Power BI.
Hợp nhất bảng so với tạo quan hệ: Khi nào dùng cách nào
Tạo quan hệ giữa các bảng và hợp nhất bảng đều là những cách tiếp cận hợp lệ trong Power BI, nhưng chúng phục vụ các mục đích khác nhau và có lợi ích khác nhau.
Hãy dùng quan hệ khi bạn có một mô hình dữ liệu được cấu trúc tốt với các quan hệ rõ ràng giữa các bảng, đặc biệt với tập dữ liệu lớn. Cách này rất tốt để duy trì mô hình dữ liệu sạch và có tổ chức.
Hợp nhất bảng khi bạn cần một tập dữ liệu đơn giản cho một phân tích cụ thể hoặc khi làm việc với tập dữ liệu nhỏ nơi tác động hiệu năng là tối thiểu. Hợp nhất cũng là lựa chọn tốt khi bạn cần thực hiện nhiều bước làm sạch và biến đổi dữ liệu.
Trong thực tế, bạn có thể dùng cả hai kỹ thuật tùy nhu cầu. Ví dụ, bạn có thể tạo quan hệ cho mô hình dữ liệu tổng thể và hợp nhất các bảng cụ thể cho một số phân tích hoặc báo cáo riêng.
Bắt đầu với hợp nhất bảng trong Power BI: Ví dụ đơn giản
Để khởi động, hãy bắt đầu với một ví dụ đơn giản.
Giả sử bạn có bảng Sales theo ngày hiển thị số lượng bán theo sản phẩm mỗi ngày. Tuy nhiên, thay vì tên đầy đủ, bạn chỉ có các mã sản phẩm (Product ID). Khi trực quan hóa sẽ không đẹp, và các bên liên quan có thể không biết Product ID nào tương ứng với sản phẩm nào.
Để xây dựng báo cáo trực quan, hiệu quả hơn, chúng ta cần hợp nhất bảng Products vào bảng Sales để có được tên sản phẩm.
Đây là mô hình dữ liệu hiện tại của chúng ta gồm hai bảng (chúng ta bỏ qua quan hệ trong ví dụ này):

Bảng Sales

Bảng Products
Để thực hiện hợp nhất, chọn "Edit Queries" ở thẻ Home trên ribbon để mở trình soạn thảo Power Query. Từ bảng Sales, chọn "Merge queries" trong mục Transform trên ribbon.

Vị trí Merge queries trên ribbon của Power BI
Ở bảng đầu tiên, chọn cột Product ID. Thêm bảng Products từ menu thả xuống để đưa vào làm bảng thứ hai trong phép hợp nhất, và tiếp tục chọn cột Product ID.
Power BI sẽ xác nhận số hàng khớp để chúng ta nhanh chóng nhận diện các vấn đề tiềm ẩn với dữ liệu. Ở đây, chúng ta thấy cả năm hàng dữ liệu đều khớp. Nhấp OK để thực hiện hợp nhất.

Hộp thoại hợp nhất bảng trong Power BI
Giờ chúng ta cần chọn những cột từ bảng Products muốn thêm vào bảng Sales. Trong ví dụ này, chúng ta chỉ muốn giữ cột Product.

Chọn cột để mở rộng sau khi hợp nhất bảng
Dưới đây là kết quả sau khi hợp nhất. Cột Product giờ đã được thêm vào bảng Sales.

Sau khi hợp nhất: cột Product được thêm vào bảng Sales
Các kiểu join trong Power BI
Khi hợp nhất bảng trong Power BI, bạn có thể dùng một số kiểu join. Mỗi kiểu xác định cách các hàng từ các bảng được kết hợp dựa trên cột khớp nhau.
Tin vui là bạn không cần hiểu sâu về thiết kế cơ sở dữ liệu hay SQL để thực hiện các join này trong Power BI. Giao diện khá trực quan.
Dưới đây là các kiểu join bạn có thể dùng:

Microsoft: Các kiểu join
Chúng ta tham chiếu hai bảng sau để minh họa từng kiểu join bên dưới.

Bảng Sales

Bảng Products
Inner join
Kiểu join này chỉ trả về các hàng có khớp ở cả hai bảng. Nếu một hàng ở một bảng không có hàng tương ứng ở bảng kia, nó sẽ không được đưa vào kết quả.
Trong ví dụ của chúng ta, bảng Sales được rút xuống còn 5 hàng vì Product ID ‘P020’ không có trong bảng Products. Thêm vào đó, hai hàng từ bảng Products cũng không xuất hiện trong bảng Sales do không có giao dịch nào được ghi nhận cho chúng (tức là Product ID ‘P010’ và ‘P001’).

Ví dụ inner join
Outer join
Khi hợp nhất bảng trong Power BI, bạn có thể sẽ thường gặp và sử dụng outer join (đặc biệt là left outer join) nhiều nhất.
Hãy cùng tìm hiểu ba loại outer join:
Left outer join: Trả về tất cả các hàng từ bảng thứ nhất (bên trái) và các hàng khớp từ bảng thứ hai (bên phải). Nếu không có khớp, kết quả vẫn bao gồm mọi hàng từ bảng trái với giá trị null cho các cột từ bảng phải.
Trong ví dụ của chúng ta, Product ID ‘P020’ không có tên sản phẩm đi kèm vì sản phẩm này không có trong bảng Products, do đó chúng ta chỉ nhận được giá trị null ở cột Product.

Ví dụ left outer join
Right outer join: Kiểu này đối nghịch với left outer join. Nó trả về tất cả các hàng từ bảng thứ hai (bên phải) và các hàng khớp từ bảng thứ nhất (bên trái). Nếu không có khớp, kết quả sẽ bao gồm mọi hàng từ bảng phải với giá trị null cho các cột từ bảng trái.
Trong ví dụ của chúng ta, hai sản phẩm (Binder và Paper) có trong bảng Products nhưng không có giao dịch tương ứng trong bảng Sales. Do đó, chúng ta có hai hàng bổ sung trong bảng Sales hoàn toàn trống cho mọi cột, ngoại trừ cột Product.

Ví dụ right outer join
Full outer join: Trả về tất cả các hàng khi có khớp ở bảng trái hoặc bảng phải. Nếu không có khớp, kết quả sẽ bao gồm các hàng với giá trị null cho phía không khớp.
Trong ví dụ, chúng ta thấy tất cả các hàng từ cả bảng Sales và Products, với nơi nào khớp thì hiển thị dữ liệu, còn lại là giá trị null.

Ví dụ full outer join
Anti join
Anti join hữu ích cho việc làm sạch hoặc điều tra các vấn đề nghi ngờ. Ví dụ, nếu một left outer join trả về nhiều ô trống ở các cột được nối, điều này có thể cho thấy có vấn đề chất lượng dữ liệu khiến Power BI không xác định được các khớp duy nhất.
Có hai loại anti join:
Left anti join: Chỉ trả về các hàng từ bảng trái không có khớp trong bảng phải.
Trong ví dụ của chúng ta, chỉ có hàng cho Product ID ‘P020’ được hiển thị vì đây là sản phẩm duy nhất trong bảng Products không có tên sản phẩm đi kèm. Điều này cho chúng ta biết ngay bảng Products cần được xem xét: đang thiếu một sản phẩm!
![]()
Ví dụ left anti join
Right anti join: Chỉ trả về các hàng từ bảng phải không có khớp trong bảng trái.
Trong ví dụ, chỉ có hai hàng được trả về vì đây là các sản phẩm không có giao dịch bán tương ứng.

Ví dụ right anti join
Dù đây có thể không phải vấn đề cấp bách cần xử lý, nhưng hữu ích để biết những sản phẩm nào được nhập vào mô hình dữ liệu mà không phục vụ mục đích gì.
Nếu bạn có lượng dữ liệu lớn và muốn tăng tốc hiệu năng cùng thời gian làm mới báo cáo, điều đầu tiên cần xem xét là liệu các bảng của bạn có bị phình to bởi dữ liệu vô dụng không được dùng trong báo cáo hay không.
Hợp nhất trên nhiều cột trong Power BI
Hợp nhất trên nhiều cột là cần thiết khi bạn không thể xác định các khớp duy nhất để nối nếu chỉ chỉ định một cột.
Ví dụ, giả sử bạn được yêu cầu tạo một báo cáo Power BI hiển thị doanh số theo nhân viên kinh doanh trong tháng so với chỉ tiêu của họ. Điểm khó là mỗi nhân viên phụ trách nhiều cửa hàng và có chỉ tiêu khác nhau cho từng cửa hàng.
Dưới đây là các bảng chúng ta sẽ dùng trong ví dụ này:

Bảng Sales

Bảng Targets
Bảng Sales chứa dữ liệu cho từng Salesperson và các Store mà họ phụ trách. Bảng Targets chứa các Target doanh số cho từng Salesperson và Store.
Không thể nối hai bảng này chỉ bằng Salesperson vì Power BI sẽ không thể tìm được các khớp duy nhất (thực chất tạo thành join nhiều-nhiều).
Do đó, chúng ta sẽ cần nối hai bảng này bằng hai cột ở mỗi bảng: Salesperson và Store.
Để làm điều này, chúng ta phải chọn cột Salesperson rồi giữ phím ctrl để chọn cột Store cho cả hai bảng. Bạn phải chọn các cột ở mỗi bảng theo cùng thứ tự. Power BI sẽ thêm chú thích 1 và 2 cạnh tên cột để bạn xác nhận thứ tự.

Ví dụ hộp thoại hợp nhất trên nhiều cột
Giờ đây, bảng Sales chứa một cái nhìn chính xác và toàn diện về Sales và Targets của từng nhân viên kinh doanh.

Bảng Sales sau hợp nhất: hợp nhất trên nhiều cột
Hợp nhất bảng với khớp mờ (fuzzy matching)
Khớp mờ chỉ hoạt động trên các cột dạng văn bản và cực kỳ hữu ích cho việc làm sạch dữ liệu.
“Fuzzy matching” nghĩa là gì? Đây là một tính năng của hợp nhất bảng, tìm và hợp nhất các hàng tương tự nhưng không hoàn toàn giống nhau. Ví dụ, khi có lỗi chính tả hoặc khác biệt nhỏ trong tên khách hàng. Các join thông thường chỉ hợp nhất khi khớp chính xác, còn khớp mờ cho phép hợp nhất dựa trên các khớp tương tự theo mức độ nhạy mà chúng ta đặt.
Hãy luôn rà soát kết quả khớp mờ để đảm bảo tính chính xác. Đôi khi, bạn sẽ cần thực hiện một vài thay đổi thủ công cho các trường hợp biên nơi khớp mờ không hoạt động hoàn hảo.
Hãy thử với một ví dụ đơn giản.
Giả sử bạn có bảng Sales chứa giao dịch của khách hàng, trong đó tên khách hàng được ghi không nhất quán. Bạn muốn làm sạch các tên này để đảm bảo mỗi khách hàng được thể hiện nhất quán trong mọi bản ghi.

Bảng Sales: tên khách hàng lộn xộn
Chúng ta sẽ làm sạch các tên khách hàng này bằng cách hợp nhất bảng Customers (chứa tên khách hàng chính xác) vào bảng Sales và loại bỏ cột tên khách hàng cũ bị lộn xộn.
Trong Query Editor, chọn bảng Sales và chọn cột Customer để join. Tích chọn “Use fuzzy matching to perform the merge” và cấu hình các tùy chọn khớp mờ nếu cần (ví dụ: ngưỡng tương đồng).

Hợp nhất bảng: khớp mờ (fuzzy matching)
So sánh join có và không dùng khớp mờ, ta thấy hai khách hàng có lỗi chính tả trong tên đã được đưa vào.
![]()
Không dùng khớp mờ
![]()
Có dùng khớp mờ
Mở rộng cột từ bảng Customers để đưa cột Customer đã sạch vào bảng Sales. Giờ chúng ta có thể an tâm loại bỏ cột Customer ban đầu và tiếp tục xây dựng báo cáo dựa trên cột Customer đã được làm sạch.

Dùng khớp mờ để làm sạch dữ liệu văn bản
Biến đổi dữ liệu sau khi hợp nhất bảng
Dựa trên ví dụ đơn giản đầu tiên ở trên, hãy khám phá các biến đổi dữ liệu có thể thực hiện sau khi hợp nhất hai bảng.
Nếu bạn biến đổi bảng Products sau khi hợp nhất, các biến đổi đó sẽ cập nhật kết quả đã hợp nhất. Ví dụ, nếu bạn làm sạch dữ liệu hoặc thêm cột mới trong bảng Customers, các thay đổi này sẽ hiển thị trong bảng đã hợp nhất khi dữ liệu được làm mới.
Vì lý do này, hãy cẩn trọng không thực hiện các thay đổi có thể gây lỗi hoặc kết quả không chính xác cho bất kỳ bảng nào dùng bảng Products trong phép hợp nhất (như bảng Sales trong ví dụ của chúng ta).
Ngược lại, bạn có thể thoải mái áp dụng biến đổi cho bảng Sales ở các bước sau khi hợp nhất, vì chúng không ảnh hưởng trực tiếp đến phép hợp nhất. Tuy nhiên, lưu ý không thêm các bước biến đổi bổ sung trước khi hợp nhất, vì điều này có thể gây lỗi cho phép hợp nhất và khiến toàn bộ bảng không tải được.
Hãy xem khóa học về biến đổi dữ liệu trong Power BI để làm quen với trình Power Query và mọi thứ bạn có thể làm để chuẩn bị dữ liệu cho việc lập báo cáo.
Kết luận
Quản lý và hợp nhất bảng trong Power BI có thể là một thách thức, đặc biệt khi có quá nhiều kiểu join để lựa chọn.
Tuy vậy, hợp nhất bảng là một tính năng quá hữu ích để bỏ qua.
Với hướng dẫn này, giờ đây bạn có thể tự tin dùng tính năng hợp nhất bảng của Power BI để làm sạch dữ liệu và xây dựng các báo cáo kết hợp dữ liệu từ nhiều nguồn.
Nếu bạn đã sẵn sàng bước tiếp và bắt đầu sự nghiệp với Power BI, lộ trình toàn diện Data Analyst in Power BI của chúng tôi bao quát mọi thứ bạn cần biết để có được công việc đầu tiên với vai trò Power BI developer. Nó cũng giúp bạn sẵn sàng để thi chứng chỉ.

