Khi làm việc với các bảng dữ liệu, nhân viên thường phải so sánh hai bảng với nhau nếu các giá trị giống nhau, hoặc khác nhau, hoặc có thể được liên kết và so sánh bằng một số cách khác. Thao tác so sánh này có thể được thực hiện một cách dễ dàng nhờ vào Power Query. Trong bài viết này, UniTrain sẽ hướng dẫn bạn cách so sánh 2 bảng bằng Power Query dựa trên ví dụ dưới đây:

Giả sử có tập dữ liệu Students Record gồm Student IDName (như hình dưới):

Students' Records Dataset

Và  tập dữ liệu Passed Students RecordTerm 1Term 2 (như hình dưới):

Term Wise Students' Records to Compare Two Tables with Power Query

1. So sánh 2 bảng và hợp nhất tất cả giá trị

Đầu tiên, người dùng cần tìm danh sách những sinh viên đã vượt qua ít nhất một học kỳ bằng cách so sánh và hợp nhất các giá trị của hai bảng. Bạn có thể thao tác qua Power Query theo các bước dưới đây:

Bước 1: Nhấn CTRL+T để tạo bảng.

Create Table Window

Sau đó, tập dữ liệu Students Record sẽ được chuyển thành bảng (như hình dưới):

Students Record Table

 

Bước 2: Nhấp vào bất kỳ giá trị nào trong bảng để đặt tên cho bảng > chọn Table Design > nhập Students trong Table Name.

Rename the Table

Tương tự, tạo bảng cho tập dữ liệu Passed Students Record (như hình dưới).

Two Table to Compare with Power Query

Bước 3: Chọn Data > From Table/Range.

Students Table in the Power Query Window

Bước 4: Chọn Home > Close & Load > Close & Load to…

Choose Close & Load To Option

Bước 5: Cửa sổ Import Data hiển thị, chọn Only Create Connection > OK.

Import Data Window

Bước 6: Thao tác tương tự với tập dữ liệu còn lại, chọn Data > From Table/Range. 

Tables to Compare in Power Query

Bước 7: Nhấp chuột phải vào ngăn Queries >> chọn tùy chọn New Query > Other Sources > Blank Query.

Create a New Blank Query to Compare Two Tables in Power Query

Bước 8: Một truy vấn mới sẽ được tạo và đổi tên thành “Merge All Values“.

Rename the Query

Bước 9: Chọn Merge All Values và chèn công thức dưới đây để so sánh hai bảng và hợp nhất các giá trị thông qua truy vấn nguồn.

=List.Union({Term_1[Name],Term_2[Name]},Comparer.OrdinalIgnoreCase)

Formula to Compare Two Tables and Merge Values in Power Query

Cuối cùng, bạn đã so sánh và hợp nhất hai bảng và lọc được học sinh đậu ít nhất một học kỳ.

Bước 10: Để lấy ID, hãy chọn Query Settings ở bên phải > Applied Steps > nhấp chuột phải vào Source> chọn Insert Step After.

Query Settings Pane

Sau đó, thao tác mới sẽ được thêm. Hãy đổi tên thành “Insert IDs“.

Rename the Created Step

Bước 11: Chọn bước Insert IDs và chèn công thức dưới đây vào thanh công thức.

=Table.SelectRows(Students,eachList.ContainsAny({[Name]},Source))

Formula to Show Respective Student IDs

Kết quả sẽ hiển thị (như hình dưới):
Compared and Merged Two Tables in Power Query

2. So sánh 2 bảng bằng Power Query và tìm các giá trị chung

Bước 1: Tạo một truy vấn mới với tên là “Find Common Values“.

Create New Query to Compare and Intersect Two Tables in Power Query

Bước 2: Chọn truy vấn Find Common Values và nhập công thức dưới đây:

=List.Intersect({Term_1[Name],Term_2[Name]},Comparer.OrdinalIgnoreCase )

Formula to Compare Two Tables and Find Common Values in Power Query

Sau đó, bạn sẽ nhận được danh sách học sinh đậu cả 2 kỳ.

Bước 3: Để thêm IDs, chọn Query Settings > Applied Steps > nhấp chuột phải vào Source > chọn Insert Step After.

Query Settings Pane

Bước 4: Khi bước mới được tạo ra, đổi tên thành “Insert IDs“.

Bước 5: Chọn Insert IDs và chèn công thức dưới đây:

=Table.SelectRows(Students,each List.ContainsAny({[Name]},Source))

Formula to Import Students' IDs

Cuối cùng, kết quả sẽ hiển thị (như hình dưới):
Compared Two Tables and Found the Common Values in Power Query

Xem thêm

Khóa học Advanced Power Query 

Cách xóa khoảng cách trong Excel bằng Power Query

Cách thay thế giá trị trong Power Query

Học Power Query có lợi như thế nào?