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.
📥 Tải File Demo
📥 Tải file demo: power-query-nang-cao.xlsx
📎 File đính kèm bài viết — chứa đầy đủ dữ liệu mẫu
Mục lục
- 1. Unpivot — Biến cột thành dòng
- 1.1. Bài toán
- 1.2. Cách Unpivot
- 1.3. 3 loại Unpivot
- 1.4. Mã M
- 2. Merge Queries — Join bảng
- 2.1. Bài toán
- 2.2. Cách Merge
- 2.3. 6 loại Join
- 2.4. Left Anti Join
- 2.5. Merge nhiều cột
- 3. Append Queries — Gộp bảng
- 3.1. Bài toán
- 3.2. Cách Append
- 3.3. Append vs Merge
- 3.4. Append từ thư mục
- 4. Custom Column — Tạo cột tính toán
- 4.1. Thêm Custom Column
- 4.2. Ví dụ: Tính doanh thu
- 4.3. Ví dụ: Phân loại
- 4.4. Ví dụ: Nối text
- 4.5. Ví dụ: Trích xuất năm
- 5. Conditional Column — Nhanh hơn Custom
- 6. Group By — Tổng hợp
- 6.1. Cách Group
- 6.2. Group nhiều mức
- 7. Pivot Column — Ngược Unpivot
- 8. Fill Down / Fill Up
- 9. Mẹo Power Query nâng cao
- 10. Tổng kết
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
Power Query Trong Excel: Nhập, Biến Đổi Và Gộp Dữ Liệu Tự Động
Hướng dẫn từ cơ bản đến nâng cao về Power Query trong Excel: import dữ liệu, transform, merge, append và tự động refresh bảng báo cáo.
Khắc phục lỗi Ctrl + C / Ctrl + V trên Excel 2016 – 2024
Ctrl+C và Ctrl+V trên Excel đột nhiên hoạt động không ổn định? Bài viết này hướng dẫn cách sử dụng bộ Hot Fix để xử lý lỗi nhanh chóng chỉ với vài thao tác đơn giản, kể cả khi bạn không rành về IT.
INDIRECT Và OFFSET: Tạo Tham Chiếu Động Trong Excel
INDIRECT biến text thành tham chiếu, OFFSET tạo range dịch chuyển. Tạo dependent dropdowns, dynamic charts, cross-sheet lookups một cách linh hoạt.
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.