Power Query Nâng Cao: Unpivot, Merge, Append Và Custom Columns
Chia sẻ
"Hướng dẫn Power Query nâng cao trong Excel: Unpivot biến cột thành dòng, Merge join bảng, Append gộp data, Custom Column tạo cột tính toán — xử lý dữ liệu như dân pro."
1. Unpivot — Biến cột thành dòng
1.1. Bài toán
Dữ liệu dạng bảng chéo (crosstab):
Tên | T1 | T2 | T3 | T4 |
|---|---|---|---|---|
An | 100 | 120 | 130 | 150 |
Bình | 80 | 95 | 110 | 120 |
Cần chuyển thành dạng danh sách (flat):
Tên | Tháng | Doanh số |
|---|---|---|
An | T1 | 100 |
An | T2 | 120 |
... | ... | ... |
1.2. Cách Unpivot
Data → Get Data → From Table/Range
Chọn các CỘT GIỐNG NHAU (T1, T2, T3, T4)
Transform → Unpivot Columns
Rename cột Attribute → "Tháng", Value → "Doanh số"
Close & Load
1.3. 3 loại Unpivot
Kiểu | Ý nghĩa |
|---|---|
Unpivot Columns | Unpivot các cột được chọn |
Unpivot Other Columns | Giữ cột chọn, unpivot phần còn lại |
Unpivot Only Selected | Chỉ unpivot cột đã chọn |
Dùng "Unpivot Other Columns" là an toàn nhất — khi thêm cột mới (T5, T6...), Power Query tự unpivot.
1.4. Mã M
= Table.UnpivotOtherColumns(Source, {"Tên"}, "Tháng", "Doanh số")2. Merge Queries — Join bảng
2.1. Bài toán
Bảng 1: Đơn hàng (order_id, product_id, qty)
Bảng 2: Sản phẩm (product_id, product_name, price)
Cần ghép tên sản phẩm + giá vào đơn hàng.
2.2. Cách Merge
Data → Get Data → Combine Queries → Merge Queries
Chọn bảng 1 (Orders) → chọn cột product_id
Chọn bảng 2 (Products) → chọn cột product_id
Chọn loại Join
Expand cột kết quả → chọn product_name, price
2.3. 6 loại Join
Join Type | Giữ lại |
|---|---|
Left Outer | Tất cả bảng 1 + matching từ bảng 2 |
Right Outer | Tất cả bảng 2 + matching từ bảng 1 |
Full Outer | Tất cả cả 2 bảng |
Inner | Chỉ matching cả 2 |
Left Anti | Bảng 1 KHÔNG match bảng 2 |
Right Anti | Bảng 2 KHÔNG match bảng 1 |
2.4. Left Anti Join
Tìm sản phẩm CHƯA CÓ đơn hàng:
Merge Products với Orders
Chọn Left Anti Join
Kết quả: sản phẩm không tìm thấy trong bảng đơn hàng
2.5. Merge nhiều cột
Click cột 1, giữ Ctrl + click cột 2 → merge trên CẢ 2 cột (composite key).
3. Append Queries — Gộp bảng
3.1. Bài toán
12 bảng doanh số tháng (cùng cấu trúc) → gộp thành 1 bảng.
3.2. Cách Append
Data → Get Data → Combine Queries → Append Queries
Chọn "Three or more tables"
Chọn tất cả bảng cần gộp → OK
3.3. Append vs Merge
Append | Merge | |
|---|---|---|
Hướng | Dọc (thêm dòng) | Ngang (thêm cột) |
Yêu cầu | Cùng cấu trúc cột | Cùng key để join |
Tương đương SQL | UNION ALL | JOIN |
3.4. Append từ thư mục
Gộp TẤT CẢ file Excel trong 1 folder:
Data → Get Data → From File → From Folder
Chọn folder chứa các file
Combine & Load
Khi thêm file mới vào folder → Refresh → tự gộp!
4. Custom Column — Tạo cột tính toán
4.1. Thêm Custom Column
Add Column → Custom Column
Viết công thức M
4.2. Ví dụ: Tính doanh thu
= [Qty] * [Price]4.3. Ví dụ: Phân loại
= if [Amount] > 1000000 then "VIP" else if [Amount] > 500000 then "Regular" else "Small"4.4. Ví dụ: Nối text
= [FirstName] & " " & [LastName]4.5. Ví dụ: Trích xuất năm
= Date.Year([OrderDate])5. Conditional Column — Nhanh hơn Custom
Add Column → Conditional Column
Giao diện visual: IF → THEN → ELSE
Không cần viết code M
Phù hợp cho phân loại đơn giản.
6. Group By — Tổng hợp
6.1. Cách Group
Transform → Group By
Chọn cột group (ví dụ: Category)
Chọn phép tính: Sum, Count, Average, Min, Max
6.2. Group nhiều mức
Click Advanced → thêm nhiều cột group + nhiều aggregation:
Group: Category, Region
Aggregations: Sum of Amount, Count of Orders, Average of Qty
7. Pivot Column — Ngược Unpivot
Biến giá trị dòng thành tên cột:
Tên | Tháng | Doanh số |
|---|---|---|
An | T1 | 100 |
An | T2 | 120 |
→ Pivot "Tháng" column, Values from "Doanh số":
Tên | T1 | T2 |
|---|---|---|
An | 100 | 120 |
8. Fill Down / Fill Up
Xử lý merged cells sau khi import:
Nhóm | Tên |
|---|---|
A | An |
null | Bình |
null | Cường |
B | Dung |
Chọn cột Nhóm → Transform → Fill → Down:
Nhóm | Tên |
|---|---|
A | An |
A | Bình |
A | Cường |
B | Dung |
9. Mẹo Power Query nâng cao
Unpivot Other Columns: Linh hoạt hơn Unpivot Columns
Left Anti Join: Tìm missing data nhanh
Append từ folder: Tự động hóa gộp nhiều file
Group By Advanced: Nhiều metric cùng lúc
Fill Down: Giải quyết merged cells sau import
Applied Steps: Click phải → Rename step → dễ đọc lại
10. Tổng kết
Power Query nâng cao mở ra khả năng xử lý dữ liệu KHÔNG GIỚI HẠN: Unpivot chuyển đổi cấu trúc, Merge join bảng như SQL, Append gộp nhiều nguồn, Custom Column tính toán linh hoạt. Tất cả đều REPEATABLE — Refresh 1 click khi dữ liệu thay đổi.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
