Power Query buổi 1: Gộp 12 file bán hàng thành một bảng sạch

Gộp các file bán hàng hằng tháng trong một thư mục bằng From Folder và Combine Files, làm sạch một lần ở Transform Sample File, tháng sau chỉ cần bấm Refresh.

ExcelĐộ khó: Trung cấp

Sản phẩm cuối buổi

Một query gộp đủ 12 tháng bán hàng đã sạch. Tháng sau chỉ cần thả file mới vào thư mục rồi bấm Refresh, không phải làm lại bước nào.

  1. Thư mục Bán hàng11 file Bán hàng T01.xlsx … T11.xlsx, mỗi file một tháng
  2. Lọc danh sách fileChỉ giữ .xlsx, bỏ file tạm ~$
  3. Transform Sample FileLàm sạch một file mẫu (tháng 1)
  4. Áp cho mọi filePower Query lặp lại đúng các bước đó cho từng tháng
  5. Bảng 12 tháng2.085 dòng sạch, thêm tháng chỉ cần Refresh

Sau bài này bạn sẽ

  • Gộp nhiều file cùng mẫu trong một thư mục bằng From Folder và Combine Files
  • Biết làm sạch ở đâu: Transform Sample File hay query chính
  • Làm sạch theo đúng thứ tự: cả bảng trước, từng cột sau, bỏ trùng cuối cùng
  • Đổi kiểu ngày theo kiểu Việt Nam bằng Using Locale
  • Tự kiểm tra kết quả bằng số dòng và tổng doanh thu
Trước khi bắt đầu

Dữ liệu dùng bộ tài liệu của lớp: thư mục 0. Dữ liệu dùng chung (buổi 1-6)\Bán hàng và file Tháng mới\Bán hàng T12.xlsx.

Giải nén toàn bộ tài liệu vào C:\Power Query\.

Không mở các file trong thư mục Bán hàng trong lúc làm: Excel sẽ tạo file tạm ~$… và làm lỗi query.

Lấy danh sách file trong thư mục

  1. Data → Get Data → From File → From Folder → chọn thư mục Bán hàng → bấm Transform Data (chưa bấm Combine).
  2. Lọc cột Extension chỉ giữ .xlsx.
  3. Lọc tiếp cột Name → Text Filters → Does Not Begin With → gõ ~$. Đây là file tạm Excel tạo ra khi đang mở một file, cũng có đuôi .xlsx.
Power QueryQuery đang mở:Bán hàngCòn 11 file
Dòngkiểu TextNamekiểu TextExtensionkiểu chưa đặtContent
1Bán hàng T01.xlsx.xlsxBinary
2Bán hàng T02.xlsx.xlsxBinary
…
3Bán hàng T11.xlsx.xlsxBinary
4(dòng sẽ bị bỏ)Ghi chú.txt.txtBinary
5(dòng sẽ bị bỏ)~$Bán hàng T07.xlsx.xlsxBinary
Applied Steps
  1. Source
  2. Filtered Rows
  3. Filtered Rows1
Mỗi dòng là một file. Hai dòng gạch ngang là thứ bị lọc bỏ.

Combine và mở Transform Sample File

  1. Bấm nút hai mũi tên ở góc phải tiêu đề cột Content (Combine Files).
  2. Ở ô Sample File chọn Bán hàng T01.xlsx. Đừng để First file, vì file đầu danh sách có thể là T11.
  3. Chọn sheet BaoCao → OK.
  4. Trong khung Queries bên trái, bấm vào Transform Sample File. Xoá bước Promoted Headers và Changed Type nếu có.
Power QueryQuery đang mở:Transform Sample FileDòng 2: Kỳ báo cáo: 01/2026
Dòngkiểu chưa đặtColumn1kiểu chưa đặtColumn2kiểu chưa đặtColumn4kiểu chưa đặtColumn5kiểu chưa đặtColumn7kiểu chưa đặtColumn9
1BÁO CÁO BÁN HÀNG CHI TIẾTnullnullnullnullnull
2Kỳ báo cáo: 01/2026nullnullnullnullnull
3Xuất từ hệ thống ERP ngày 31/01/2026 18:05nullnullnullnullnull
4NgàySố CTMã NVSKUSố lượngDoanh thu
5ngày 01/01/2026HD010001NV08NGK-001811518515000
6ngày 01/01/2026HD010001nullGVI-002881016000
…
Applied Steps
  1. Source
  2. Navigation
Dữ liệu thô của tháng 1, đúng như file Excel gốc (ẩn bớt 4 cột cho gọn)

Vì sao làm sạch ở Transform Sample File?

Làm sạch trong Transform Sample File thì mọi file trong thư mục được làm sạch theo. Phần làm sạch (bước 03 đến 05) làm ở Transform Sample File; bước 01, 02, 06 đến 08 làm ở query Bán hàng. Trước mỗi bước, nhìn ô Name ở Query Settings cho chắc.

Làm sạch cả bảng trước

Đang ở Transform Sample File.

  1. Home → Remove Rows → Remove Top Rows → gõ 3 → OK.
  2. Trên thanh công thức, sửa số 3 thành each [Column1] <> "Ngày". Power Query sẽ bỏ các dòng đầu cho tới khi gặp dòng tiêu đề, nên file nào phần đầu dài hay ngắn cũng chạy đúng.
  3. Bấm Use First Row as Headers, rồi xoá bước Changed Type mà Power Query vừa tự thêm.
  4. Lọc cột Ngày: bỏ chọn (null) và Tổng cộng (không thấy Tổng cộng thì gõ vào ô Search).
= Table.Skip(#"Navigation", each [Column1] <> "Ngày")
Power QueryQuery đang mở:Transform Sample File147 → 143 dòng
Dòngkiểu chưa đặtNgàykiểu chưa đặtSố CTkiểu chưa đặtMã NVkiểu chưa đặtSKUkiểu chưa đặtSố lượngkiểu chưa đặtDoanh thu
1ngày 01/01/2026HD010001NV08NGK-001811518515000
2ngày 01/01/2026HD010001nullGVI-002881016000
…
3(dòng sẽ bị bỏ)nullnullnullnullnullnull
4(dòng sẽ bị bỏ)Tổng cộngnullnullnull83551175404000
Applied Steps
  1. Source
  2. Navigation
  3. Removed Top Rows
  4. Promoted Headers
  5. Filtered Rows
Tiêu đề đã đúng, các cột vẫn chưa đặt kiểu (ABC123). Dòng trống và dòng Tổng cộng bị lọc ra.

Làm sạch từng cột, từ trái qua phải

Cột nào xong hẳn mới sang cột sau.

  1. Ngày: Home → Replace Values, Value To Find gõ ngày (có dấu cách ở cuối), Replace With để trống. Chuột phải cột Ngày → Change Type → Using Locale → đổi cả hai ô: Data Type chọn Date, Locale chọn Vietnamese (Vietnam). Từ đây không đổi kiểu cột Ngày thêm lần nào nữa.
  2. Số CT → Tên sản phẩm: bấm tiêu đề Số CT, giữ Shift bấm Tên sản phẩm (5 cột) → Transform → Data Type → Text.
  3. Mã NV: chuột phải → Fill → Down.
  4. SKU: Transform → Format → Trim, rồi Format → UPPERCASE.
  5. Số lượng: Data Type → Text. Replace Values, Value To Find gõ thùng (có dấu cách ở đầu), Replace With để trống, không tick Match entire cell contents. Rồi Data Type → Whole Number.
  6. Đơn giá → Chiết khấu: bấm Đơn giá, giữ Shift bấm Chiết khấu (3 cột) → Data Type → Whole Number.

Trước và sau khi làm sạch

TrướcSauCách làm
ngày 01/01/202601/01/2026Replace Values bỏ ngày , rồi Using Locale → Date, Vietnamese
nullNV08Fill Down lấy mã NV của dòng phía trên (dòng 2, 3 là NV08)
␣(dấu cách)sua-0038SUA-0038Trim bỏ dấu cách, UPPERCASE đổi chữ hoa
32 thùng32Đổi sang Text, bỏ thùng, rồi Whole Number
Power QueryQuery đang mở:Transform Sample FileNgày có biểu tượng lịch, không Error
Dòngkiểu DateNgàykiểu TextSố CTkiểu TextMã NVkiểu TextSKUkiểu Whole NumberSố lượngkiểu Whole NumberDoanh thu
101/01/2026HD010001NV08NGK-001811518515000
201/01/2026HD010001NV08GVI-002881016000
301/01/2026HD010001NV08GVI-002881016000
401/01/2026HD010002NV06NGK-0011775544000
…
Applied Steps
  1. …
  2. Changed Type with Locale
  3. Changed Type
  4. Filled Down
  5. Uppercased Text
  6. Changed Type2
Mỗi cột đã có đúng kiểu (biểu tượng trước tên cột).

Kiểm tra

  • Biểu tượng cột Ngày là hình lịch. Công thức bước Locale có {{"Ngày", type date}}, "vi-VN")
  • 5 cột Số CT → Tên sản phẩm có biểu tượng ABC
  • Không còn ô trống ở Mã NV
  • Thanh công thức bước Replace của Số lượng có chữ Replacer.ReplaceText
  • 3 cột Đơn giá → Chiết khấu có biểu tượng 123

Bỏ dòng trùng, làm cuối cùng

Hai dòng tô vàng ở bảng trên chỉ trùng hẳn sau khi đã điền Mã NV và chuẩn hoá SKU. Vì vậy bỏ trùng phải để cuối.

  1. Ctrl+A (chọn tất cả cột) → Home → Keep Rows → Keep Duplicates để xem dòng trùng. Xem xong thì xoá bước này.
  2. Ctrl+A lần nữa → Remove Rows → Remove Duplicates.

Kiểm tra

  • Keep Duplicates hiện 10 dòng (5 cặp)
  • Sau Remove Duplicates: 138 dòng, tổng Doanh thu 1.175.404.000, tổng Số lượng 8.355

Xem số kiểm tra ngay trong Power Query

Transform → Count Rows cho số dòng. Chọn một cột → Transform → Statistics → Sum cho tổng. Xem xong xoá bước đó ngay, nếu không query trả về một con số thay vì bảng và mọi file trong thư mục bị lỗi.

Quay lại query chính, thêm cột Tháng

  1. Bấm sang query Bán hàng. Chuột phải bước Expanded Table Column1 → Delete Until End.
  2. Bấm nút hai mũi tên ở cột Transform File → bỏ tick Use original column name as prefix → OK.
  3. Đặt kiểu từ trái qua phải: Ngày → Date; Số CT → Tên sản phẩm → Text; Số lượng → Chiết khấu → Whole Number.
  4. Chọn cột Source.Name → Add Column → Extract → Text Between Delimiters, giữa T và . → đổi tên thành Tháng → Change Type → Whole Number.

Cột Tháng lấy từ tên file

TrướcSauCách làm
Bán hàng T01.xlsx1Lấy phần giữa T và ., đổi sang Whole Number
Bán hàng T11.xlsx11Là số, không phải chữ "11", nên lọc và sắp xếp đúng

Đã thấy dải vàng "The column 'Doanh thu' of the table wasn't found"?

Đó là lỗi tháng 7. Làm bước 07 trước rồi quay lại đây.

Sửa lỗi tháng 7

  1. Lọc cột Tháng: Number Filters → Equals → 7. Đừng tick trong danh sách, vì danh sách chỉ lấy 1.000 dòng đầu, có thể chưa có số 7.
  2. Power Query báo lỗi The column 'Doanh thu' of the table wasn't found. Đây là lỗi cố ý của dữ liệu.
  3. Mở file tháng 7 xem tên cột (xem xong đóng ngay): cột ghi Doanh số, không phải Doanh thu.
Power QueryQuery đang mở:Bán hàng T07.xlsxCột I tên khác
Dòngkiểu chưa đặtNgàykiểu chưa đặtSố CTkiểu chưa đặtMã NVkiểu chưa đặtSKUkiểu chưa đặtSố lượngkiểu chưa đặtĐơn giákiểu chưa đặtDoanh số
1ngày 01/07/2026HD070409NV01BKN-000234960003264000
2ngày 01/07/2026HD070410NV04NGK-002082300001840000
…
File tháng 7 đặt tên cột doanh thu khác 10 tháng còn lại.
  1. Sang Transform Sample File, chuột phải bước Promoted Headers → Insert Step After, sửa công thức thành:
= Table.RenameColumns(#"Promoted Headers", {{"Doanh số", "Doanh thu"}}, MissingField.Ignore)

MissingField.Ignore nghĩa là: file nào có cột Doanh số thì đổi tên, file nào không có thì bỏ qua, không báo lỗi.

  1. Bấm bước Filtered Rows: công thức phải bắt đầu bằng Table.SelectRows(Custom1,. Quay lại query Bán hàng, xoá bước lọc Tháng = 7.

Kiểm tra

  • Hết lỗi
  • 1.929 dòng, tổng Doanh thu 15.519.298.000

Nạp vào Excel và thêm tháng 12

  1. Home → Close & Load To → Table → New worksheet → OK.
  2. Chép Tháng mới\Bán hàng T12.xlsx vào thư mục Bán hàng → Data → Refresh All.
  1. 11 tháng1.929 dòng · 15.519.298.000
  2. Thả file T12 vào thư mụcKhông sửa query
  3. Data → Refresh AllMọi bước chạy lại cho file mới
  4. 12 tháng2.085 dòng · 16.801.520.000

Kiểm tra

  • Khung Queries & Connections ghi 1.929 rows loaded
  • Sau Refresh: 2.085 dòng, tổng Doanh thu 16.801.520.000

Ghi nhớ và lỗi hay gặp

Ghi nhớ

  • Thứ tự làm sạch: việc của cả bảng trước (bỏ dòng đầu, lấy tiêu đề, lọc dòng thừa), rồi từng cột từ trái qua phải, cột nào xong hẳn mới sang cột sau. Bỏ trùng làm cuối cùng.
  • Ngày theo vùng: máy kiểu Mỹ đọc 04/07 là ngày 7 tháng 4, kiểu Việt Nam đọc là ngày 4 tháng 7. Using Locale là cách nói cho Power Query biết dữ liệu viết theo kiểu Việt Nam.
  • Combine & Load cũng gộp đủ các file như Combine & Transform, chỉ là nạp thẳng vào Excel mà không mở trình chỉnh sửa.

Lỗi hay gặp

Thấy gì Nguyên nhân Cách sửa
Cột đầu tên là "BÁO CÁO BÁN HÀNG CHI TIẾT", giữa bảng có dòng "Kỳ báo cáo", "Tổng cộng" Đang làm ở query chính thay vì Transform Sample File, hoặc chưa xoá bước Promoted Headers tự thêm Làm lại bước 02
Transform Sample File đang hiện tháng 11 chứ không phải tháng 1 Lúc Combine để Sample File là First file, mà file đầu danh sách là T11 Mở query Sample File, chọn bước cuối, trên thanh công thức thay {0} bằng {[Name="Bán hàng T01.xlsx"]}
The field 'Column1' of the record wasn't found Đặt bước Remove Top Rows ở query chính Xoá bước đó ở query chính, làm lại trong Transform Sample File
Bộ lọc báo List may be incomplete Danh sách chỉ lấy từ khoảng 1.000 dòng đầu Đừng bỏ chọn từng giá trị ở query chính. Lọc trong Transform Sample File, hoặc dùng Number Filters / Text Filters
Replace "thùng" không có tác dụng Cột chưa phải kiểu Text, nên Power Query chỉ thay khi cả ô đúng bằng "thùng" (Replacer.ReplaceValue) Đổi cột sang Text rồi Replace lại, hoặc sửa ReplaceValue thành ReplaceText
External table is not in the expected format … Ghi chú.txt Chưa lọc Extension .xlsx ở bước 01 Ở query chính, chọn bước Source, lọc Extension = .xlsx
Refresh báo lỗi trong lúc đang mở một file tháng Excel tạo file tạm ~$Bán hàng T07.xlsx, cũng có đuôi .xlsx Đóng file đó. Thêm bộ lọc Name không bắt đầu bằng ~$ ở bước 01
Cột Ngày vẫn là ABC sau bước Using Locale Trong hộp thoại Using Locale, ô Data Type vẫn để Text (Power Query tự điền sẵn kiểu cũ) Xoá bước Locale, làm lại, đổi ô Data Type sang Date
Ngày 1 đến 12 đúng, từ ngày 13 trở đi báo Error Có bước Changed Type đổi Ngày sang Date mà không qua Locale, nên ngày bị đọc kiểu Mỹ (tháng/ngày) Xoá bước Changed Type đó. Chỉ đổi kiểu Ngày một lần, bằng Using Locale → Vietnamese
We cannot convert the value 138 to type Table Quên xoá bước Count Rows hoặc Statistics trong Transform Sample File Xoá bước kiểm tra đó
Tên cột thành Transform File.Ngày, Transform File.Số CT… Lúc bung bảng ở bước 06 còn tick Use original column name as prefix Xoá bước Expanded, bung lại và bỏ tick
Lọc Tháng = 7 không ra dòng nào Cột Tháng đang là chữ "07" Đổi cột Tháng sang Whole Number

Bài tập 1: Kiểu dữ liệu

File Bài tập kiểu dữ liệu.csv trong thư mục buổi 1.

  1. Get Data → From Text/CSV → chọn file. Trong cửa sổ xem trước, chỉnh 3 ô: File Origin 65001: Unicode (UTF-8), Delimiter Semicolon, Data Type Detection Do not detect data types → bấm Transform Data (không bấm Load).
  2. Applied Steps chỉ còn Source và Promoted Headers, mọi cột vẫn là chữ, bảng có 10 dòng.
  3. Xử lý lần lượt từng cột từ trái qua phải. Ở mọi bước Using Locale, đổi cả hai ô: Data Type chọn đúng kiểu ghi bên dưới, Locale chọn Vietnamese (Vietnam).

Mỗi cột một kiểu viết, đổi về đúng kiểu

TrướcSauCách làm
0012300123 (Text)Mã SP, Tên sản phẩm: chọn 2 cột → Data Type → Text. Giữ số 0 ở đầu
1.234.567,51234567,5Doanh thu: Using Locale → Decimal Number
(1.500.000)-1500000Lãi lỗ: Replace ( thành -, Replace ) thành rỗng → Using Locale → Whole Number
125.000 đ125000Giá bán: Replace đ (dấu cách rồi chữ đ) thành rỗng → Using Locale → Whole Number
12,5%0,125Tỷ lệ CK: Using Locale → Percentage
4602301/01/2026Ngày tạo: Data Type → Whole Number, rồi → Date (hỏi thì chọn Add new step). Đổi thẳng chữ sang Date sẽ ra Error
05/03/2026 14:30ngày 5 tháng 3, 14:30Ngày giờ: Using Locale → Date/Time. Rồi Add Column → Date → Date Only, đặt tên Ngày giao dịch
CótrueKhuyến mãi: Replace Có → true, Không → false (tick Match entire cell contents) → True/False
0Số lượng: Replace - → 0 (tick Match entire cell contents) → Whole Number

Kiểm tra

  • 8 mã sản phẩm vẫn có số 0 ở đầu
  • Doanh thu tổng 56.072.318,5
  • Lãi lỗ tổng 3.035.000, có 4 số âm
  • Giá bán tổng 1.323.000
  • Dòng mã 01020 có Tỷ lệ CK là 12,5% (tức 0,125), không phải 125%
  • Ngày tạo từ 01/01/2026 đến 07/04/2026
  • Khuyến mãi có 5 dòng TRUE, Số lượng tổng 166

Tự kiểm tra sau khi Close & Load

Ô số canh phải, ô chữ canh trái. Cột nào lẽ ra là số mà còn canh trái là chưa đổi kiểu: thường do ô Data Type trong hộp thoại Using Locale vẫn để Text.

Ngày hiện theo cài đặt Windows. Máy cài vùng Mỹ sẽ hiện 3/5/2026 cho ngày 5 tháng 3: đó là cách hiển thị, không phải sai dữ liệu. Muốn hiện kiểu Việt Nam: Format Cells → Custom → dd/mm/yyyy.

Không mở file CSV bằng Excel rồi bấm Save: Excel sẽ đổi dấu phân cách và làm lệch cột. Muốn xem file thì mở bằng Notepad.

Bài tập 2: Biểu mẫu chi nhánh

Thư mục Biểu mẫu chi nhánh có 3 file báo cáo, phần đầu dài ngắn khác nhau (dòng tiêu đề bảng nằm ở dòng 8, 5 và 9), bên dưới có dòng Tổng cộng và phần chữ ký. Không có con số Remove Top Rows nào đúng cho cả 3 file, nên phải bỏ theo điều kiện.

Power QueryQuery đang mở:Transform Sample FileTiêu đề bảng ở dòng 8
Dòngkiểu chưa đặtColumn1kiểu chưa đặtColumn2kiểu chưa đặtColumn3kiểu chưa đặtColumn4kiểu chưa đặtColumn5kiểu chưa đặtColumn6
1(dòng sẽ bị bỏ)CÔNG TY CP THỰC PHẨM AN VYnullnullnullnullnull
2(dòng sẽ bị bỏ)Địa chỉ: 12 Nguyễn Huệ, Quận 1, TP. Hồ Chí Minhnullnullnullnullnull
…
3(dòng sẽ bị bỏ)Kỳ báo cáo: 10/2026nullnullnullnullnull
4STTNgàySố CTSKUSố lượngDoanh thu
5146317CNHCM0001NGK-00188513685000
…
6846298CNHCM0008NGK-00116432000
7(dòng sẽ bị bỏ)Tổng cộngnullnullnull42662045000
8(dòng sẽ bị bỏ)Người lập biểunullnullKế toán trưởngnullnull
Applied Steps
  1. Source
  2. Navigation
File HCM nguyên gốc: phần đầu 7 dòng, phần cuối có Tổng cộng và chữ ký.

Mẹo: để Power Query tự tạo công thức bằng nút trên ribbon, rồi chỉ sửa con số trên thanh công thức, tên bước trong ngoặc giữ nguyên.

  1. Data → Get Data → From File → From Folder → chọn thư mục Biểu mẫu chi nhánh → Transform Data → bấm nút hai mũi tên ở cột Content. Sample File chọn Biểu mẫu chi nhánh HCM.xlsx, sheet Báo cáo → OK. Bấm vào Transform Sample File, xoá bước Promoted Headers và Changed Type nếu có. Kiểm tra: dòng 1 của Column1 là CÔNG TY CP THỰC PHẨM AN VY.
  2. Bỏ phần đầu: Home → Remove Rows → Remove Top Rows → gõ 1 → OK. Sửa số 1 thành each [Column1] <> "STT". Bấm Use First Row as Headers, xoá bước Changed Type vừa tự thêm. Kiểm tra: tiêu đề là STT, Ngày, Số CT, SKU, Số lượng, Doanh thu.
  3. Bỏ phần dưới: Home → Keep Rows → Keep Top Rows → gõ 1 → OK. Sửa số 1 thành each [STT] <> null and [STT] <> "Tổng cộng". Kiểm tra: file HCM còn 8 dòng (STT 1 đến 8).
  4. Đổi kiểu từ trái qua phải: STT → Whole Number; Ngày → Date; Số CT, SKU → Text; Số lượng, Doanh thu → Whole Number. Kiểm tra: cột Ngày hiện dạng ngày, không phải số như 46317.
  5. Sang query chính: chuột phải bước Expanded Table Column1 → Delete Until End. Bấm nút hai mũi tên ở cột Transform File, bỏ tick Use original column name as prefix → OK. Đặt lại kiểu như bước 4. Cột Source.Name: Replace Values Biểu mẫu thành rỗng, rồi .xlsx thành rỗng, đổi tên cột thành Chi nhánh.
= Table.Skip(#"Navigation", each [Column1] <> "STT")
= Table.FirstN(#"Promoted Headers", each [STT] <> null and [STT] <> "Tổng cộng")

Table.FirstN giữ các dòng từ trên xuống và dừng ở dòng đầu tiên không thoả điều kiện, nên bỏ được cả phần chữ ký dù phần đó ghi gì.

Kiểm tra

  • 21 dòng, tổng Doanh thu 178.029.000
  • Cột Chi nhánh ghi Chi nhánh HCM, Chi nhánh Hà Nội, Chi nhánh Đà Nẵng
  • Group By theo Chi nhánh, Sum Doanh thu (xem xong xoá bước): HCM 8 dòng, 62.045.000; Hà Nội 6 dòng, 33.676.000; Đà Nẵng 7 dòng, 82.308.000

Bài tập 3: Phân loại đơn hàng

Không tạo query mới. Mở lại file Excel đã làm ở bước 08 và thêm cột vào query Bán hàng (đã có đủ 12 tháng, 2.085 dòng).

  1. Khung Queries & Connections → bấm đúp query Bán hàng → trong Applied Steps chọn bước cuối cùng. Kiểm tra: ô Name ghi Bán hàng, cột Doanh thu có biểu tượng 123.
  2. Add Column → Conditional Column. New column name: Loại đơn.
    • If Doanh thu is less than 2000000 → Output Nhỏ
    • Bấm Add Clause: Else If Doanh thu is less than 10000000 → Output Vừa
    • Else: Lớn → OK
  3. Chọn cột Loại đơn → Transform → Group By → Count Rows để xem số đơn mỗi loại. Xem xong xoá bước này rồi Close & Load.

Doanh thu → Loại đơn

TrướcSauCách làm
1.016.000NhỏDưới 2 triệu
5.544.000VừaTừ 2 triệu đến dưới 10 triệu
18.515.000LớnTừ 10 triệu trở lên

Kiểm tra

  • Nhỏ 447 / Vừa 974 / Lớn 664 (tổng 2.085)
  • Nếu chưa chép T12 vào thư mục: 416 / 897 / 616 (tổng 1.929)

Bài tập 4: Gộp nhiều sheet

File Bán hàng Q1 nhiều sheet.xlsx có 3 sheet T01, T02, T03, cùng 8 cột và đã sạch. Mở cả file (không chọn sheet nào) thì Power Query trả về một bảng, mỗi sheet là một dòng: cột Name là tên sheet, cột Data là nội dung sheet. Bung cột Data ra là 3 sheet nối thành một bảng, còn cột Name trở thành cột Tháng.

Power QueryQuery đang mở:Bán hàng Q1 nhiều sheet3 dòng = 3 sheet
Dòngkiểu TextNamekiểu chưa đặtDatakiểu TextItemkiểu TextKindkiểu True/FalseHidden
1T01TableT01SheetFALSE
2T02TableT02SheetFALSE
3T03TableT03SheetFALSE
Applied Steps
  1. Source
Bước 1: mỗi sheet là một dòng, nội dung nằm gọn trong cột Data.
  1. Data → Get Data → From File → From Excel Workbook → chọn file. Trong Navigator, bấm vào dòng tên file ở trên cùng (không bấm T01, T02, T03) → Transform Data. Nếu nút Transform Data bị mờ: bấm T01 → Transform Data, rồi xoá bước Navigation, chỉ giữ bước Source.
  2. Chọn 2 cột Name và Data → chuột phải → Remove Other Columns.
  3. Bấm nút hai mũi tên ở cột Data → bỏ tick Use original column name as prefix → OK. Các cột là Name, Column1 … Column8.
  4. Home → Use First Row as Headers → xoá bước Changed Type vừa tự thêm. Cột đầu bị đặt tên là T01 (giá trị dòng đầu của cột Name): bấm đúp tiêu đề, đổi tên thành Tháng.
  5. Lọc cột Ngày: bỏ chọn giá trị Ngày (dòng tiêu đề của sheet T02 và T03 bị lẫn vào giữa bảng).
  6. Cột Tháng: Replace Values T thành rỗng → Data Type → Whole Number.
  7. Đổi kiểu từ trái qua phải: Ngày → Date; Số CT → SKU → Text; Số lượng → Doanh thu → Whole Number. Xong thì Close & Load.
Power QueryQuery đang mở:Bán hàng Q1 nhiều sheet424 dòng
Dòngkiểu chưa đặtThángkiểu chưa đặtNgàykiểu chưa đặtSố CTkiểu chưa đặtSKUkiểu chưa đặtSố lượngkiểu chưa đặtDoanh thu
1T01……………
…
2(dòng sẽ bị bỏ)T02NgàySố CTSKUSố lượngDoanh thu
3T02……………
…
4(dòng sẽ bị bỏ)T03NgàySố CTSKUSố lượngDoanh thu
Applied Steps
  1. Source
  2. Removed Other Columns
  3. Expanded Data
  4. Promoted Headers
  5. Renamed Columns
  6. Filtered Rows
Sau bước 4: dòng tiêu đề của sheet T02, T03 lẫn vào giữa bảng, bước 5 lọc bỏ.

Kiểm tra

  • 424 dòng, tổng Doanh thu 3.596.535.000
  • Tháng 1: 138 dòng, 1.175.404.000
  • Tháng 2: 136 dòng, 1.236.768.000
  • Tháng 3: 150 dòng, 1.184.363.000
  • Số của từng tháng khớp với 3 tháng đầu của query Bán hàng ở phần trên lớp

Khánh

AI Practitioner

Tác giả chuỗi bài viết ứng dụng trí tuệ nhân tạo vào công việc văn phòng thực tế tại Việt Nam. Triết lý của tôi là "AI, applied.": biến những thuật ngữ phức tạp thành công cụ làm việc nhẹ nhàng, nhanh chóng và chính xác.