Bài 24 – Macro, Office Script hay Power Query: nên chọn công cụ nào cho từng việc? thuộc series Tin học BĐS. Bài tiếp tục theo nguyên tắc: hiểu cấu trúc và câu hỏi nghiệp vụ trước, sau đó mới dùng công cụ hoặc cú pháp.
Biên soạn: ThS. Nguyễn Mạnh Hùng
Đơn vị: GV. Khoa QLĐĐ&BĐS – ĐH Nông Lâm TP.HCM
Email: nguyenmanhhung@hcmuaf.edu.vn
Cập nhật 01/10/2026: Bài thuộc phần Power Query, Power Pivot và tự động hóa Excel của series Tin học BĐS. Nội dung ưu tiên tiếng Việt thuần; chỉ giữ nguyên tên công cụ và cú pháp kỹ thuật bắt buộc. Ví dụ dùng dữ liệu bất động sản giả lập phục vụ giảng dạy.
Ranh giới chuyên đề: Bài thuộc phần Power Query, Power Pivot và tự động hóa Excel. Tên công cụ được giữ nguyên; khái niệm bên trong được diễn giải bằng tiếng Việt.
1. Power Query phù hợp nhất khi nhiệm vụ chính là nhập, làm sạch, nối chồng, ghép và biến đổi dữ liệu theo quy trình lặp
Power Query phù hợp nhất khi nhiệm vụ chính là nhập, làm sạch, nối chồng, ghép và biến đổi dữ liệu theo quy trình lặp.
Trong thực hành, nội dung này phải được chuyển thành thiết kế có thể kiểm: khóa nào, quan hệ nào, dữ liệu nào bắt buộc, điều kiện nào hợp lệ và kết quả sau xử lý phải có đặc điểm gì. Nếu chỉ thao tác theo hướng dẫn mà không hiểu các điểm này, người học rất dễ tạo kết quả đúng hình thức nhưng sai dữ liệu.
2. Macro phù hợp với một số thao tác Excel trên máy tính để bàn cần tự động hóa chuỗi thao tác, định dạng hoặc xử lý sổ làm việc
Macro phù hợp với một số thao tác Excel trên máy tính để bàn cần tự động hóa chuỗi thao tác, định dạng hoặc xử lý sổ làm việc.
Trong thực hành, nội dung này phải được chuyển thành thiết kế có thể kiểm: khóa nào, quan hệ nào, dữ liệu nào bắt buộc, điều kiện nào hợp lệ và kết quả sau xử lý phải có đặc điểm gì. Nếu chỉ thao tác theo hướng dẫn mà không hiểu các điểm này, người học rất dễ tạo kết quả đúng hình thức nhưng sai dữ liệu.
3. Office Script phù hợp hơn với môi trường Excel trên web và các quy trình tự động hóa trong hệ sinh thái Microsoft 365
Office Script phù hợp hơn với môi trường Excel trên web và các quy trình tự động hóa trong hệ sinh thái Microsoft 365.
Trong thực hành, nội dung này phải được chuyển thành thiết kế có thể kiểm: khóa nào, quan hệ nào, dữ liệu nào bắt buộc, điều kiện nào hợp lệ và kết quả sau xử lý phải có đặc điểm gì. Nếu chỉ thao tác theo hướng dẫn mà không hiểu các điểm này, người học rất dễ tạo kết quả đúng hình thức nhưng sai dữ liệu.
| Câu hỏi kiểm | Mục đích |
|---|---|
| Mỗi dòng đại diện gì? | Không trộn đối tượng |
| Khóa nào định danh? | Chống trùng |
| Quan hệ nào? | Tránh nhân dòng |
| Dữ liệu rỗng xử lý sao? | Không hiểu sai |
| Sau xử lý kiểm gì? | Có bằng chứng |
4. Không nên chọn công cụ vì nghe mạnh hơn; phải bắt đầu từ loại công việc, môi trường chạy, người bảo trì và yêu cầu bảo mật
Không nên chọn công cụ vì nghe mạnh hơn; phải bắt đầu từ loại công việc, môi trường chạy, người bảo trì và yêu cầu bảo mật.
Trong thực hành, nội dung này phải được chuyển thành thiết kế có thể kiểm: khóa nào, quan hệ nào, dữ liệu nào bắt buộc, điều kiện nào hợp lệ và kết quả sau xử lý phải có đặc điểm gì. Nếu chỉ thao tác theo hướng dẫn mà không hiểu các điểm này, người học rất dễ tạo kết quả đúng hình thức nhưng sai dữ liệu.
5. Nếu bài toán chỉ là làm sạch dữ liệu, dùng Macro thay Power Query thường làm quy trình khó nhìn và khó truy vết hơn
Nếu bài toán chỉ là làm sạch dữ liệu, dùng Macro thay Power Query thường làm quy trình khó nhìn và khó truy vết hơn.
Trong thực hành, nội dung này phải được chuyển thành thiết kế có thể kiểm: khóa nào, quan hệ nào, dữ liệu nào bắt buộc, điều kiện nào hợp lệ và kết quả sau xử lý phải có đặc điểm gì. Nếu chỉ thao tác theo hướng dẫn mà không hiểu các điểm này, người học rất dễ tạo kết quả đúng hình thức nhưng sai dữ liệu.
6. Nếu bài toán là bấm nhiều nút, định dạng hàng loạt hoặc thao tác sổ làm việc, Power Query lại không phải công cụ thay thế toàn bộ
Nếu bài toán là bấm nhiều nút, định dạng hàng loạt hoặc thao tác sổ làm việc, Power Query lại không phải công cụ thay thế toàn bộ.
Trong thực hành, nội dung này phải được chuyển thành thiết kế có thể kiểm: khóa nào, quan hệ nào, dữ liệu nào bắt buộc, điều kiện nào hợp lệ và kết quả sau xử lý phải có đặc điểm gì. Nếu chỉ thao tác theo hướng dẫn mà không hiểu các điểm này, người học rất dễ tạo kết quả đúng hình thức nhưng sai dữ liệu.
| Câu hỏi kiểm | Mục đích |
|---|---|
| Mỗi dòng đại diện gì? | Không trộn đối tượng |
| Khóa nào định danh? | Chống trùng |
| Quan hệ nào? | Tránh nhân dòng |
| Dữ liệu rỗng xử lý sao? | Không hiểu sai |
| Sau xử lý kiểm gì? | Có bằng chứng |
7. Khả năng bàn giao rất quan trọng: một đoạn mã mà chỉ một người hiểu có thể tạo rủi ro vận hành dù tiết kiệm thời gian trước mắt
Khả năng bàn giao rất quan trọng: một đoạn mã mà chỉ một người hiểu có thể tạo rủi ro vận hành dù tiết kiệm thời gian trước mắt.
Trong thực hành, nội dung này phải được chuyển thành thiết kế có thể kiểm: khóa nào, quan hệ nào, dữ liệu nào bắt buộc, điều kiện nào hợp lệ và kết quả sau xử lý phải có đặc điểm gì. Nếu chỉ thao tác theo hướng dẫn mà không hiểu các điểm này, người học rất dễ tạo kết quả đúng hình thức nhưng sai dữ liệu.
8. Trước khi tự động hóa nên chuẩn hóa quy trình thủ công, xác định đầu vào/đầu ra, lỗi có thể xảy ra và cách quay lại khi chạy sai
Trước khi tự động hóa nên chuẩn hóa quy trình thủ công, xác định đầu vào/đầu ra, lỗi có thể xảy ra và cách quay lại khi chạy sai.
Trong thực hành, nội dung này phải được chuyển thành thiết kế có thể kiểm: khóa nào, quan hệ nào, dữ liệu nào bắt buộc, điều kiện nào hợp lệ và kết quả sau xử lý phải có đặc điểm gì. Nếu chỉ thao tác theo hướng dẫn mà không hiểu các điểm này, người học rất dễ tạo kết quả đúng hình thức nhưng sai dữ liệu.
Bảng trọng tâm
| Nhu cầu | Công cụ | Phù hợp |
|---|---|---|
| Làm sạch dữ liệu | Power Query | Rất phù hợp |
| Thao tác Excel lặp | Macro | Phù hợp |
| Excel web | Office Script | Phù hợp |
Từ bảng tính sang mô hình dữ liệu có cấu trúc
Điểm chuyển quan trọng là không còn nghĩ mỗi trang tính là một báo cáo, mà nghĩ theo các đối tượng: tài sản, địa bàn, khảo sát, giao dịch, người dùng. Mỗi đối tượng có bảng riêng và được liên kết bằng khóa. Báo cáo được tạo từ mô hình thay vì sao chép dữ liệu sang nhiều trang.
| Câu hỏi | Thiết kế yếu | Thiết kế tốt |
|---|---|---|
| Tên phường | Lặp ở mọi giao dịch | Bảng Phường riêng |
| Lịch sử khảo sát | Nhiều cột KhaoSat1..5 | Nhiều dòng khảo sát |
| Cập nhật tháng | Sao chép tay | Làm mới truy vấn |
| Tự động hóa | Mã khó hiểu | Chọn công cụ theo việc |
Điểm kiểm soát khi tự động hóa
Mọi tự động hóa đều phải có ít nhất bốn điểm kiểm: nguồn có đúng không, số dòng có hợp lý không, khóa có còn duy nhất không và kỳ dữ liệu có mới không. Nếu bỏ các kiểm tra này, quy trình tự động chỉ làm sai nhanh hơn.
Bàn giao là một tiêu chí thiết kế
Người nhận cần biết nguồn nào đang được đọc, bước nào làm gì, quan hệ nào tồn tại và nút làm mới ảnh hưởng tới đâu. Một mô hình tốt phải có khả năng giải thích chứ không chỉ chạy được trên máy của người tạo.
Chọn công cụ theo bản chất công việc
Nếu công việc là biến đổi dữ liệu, ưu tiên Power Query; nếu là tự động thao tác Excel trên máy tính để bàn, Macro có thể phù hợp; nếu làm trên Excel web và Microsoft 365, Office Script có thể phù hợp.
Tình huống giả lập phục vụ giảng dạy
Đội có ba nhu cầu: gộp file tháng, định dạng 20 báo cáo giống nhau và chạy tác vụ trên Excel web. Hãy chọn công cụ phù hợp cho từng nhu cầu và giải thích.
Sinh viên phải giải thích cả cấu trúc dữ liệu, thao tác và kiểm tra sau thao tác. Không chỉ nộp ảnh kết quả hoặc câu lệnh chạy được; phải chỉ ra vì sao kết quả đúng.
Quy trình thực hành gợi ý
- Xác định câu hỏi nghiệp vụ trước khi mở công cụ.
- Vẽ sơ đồ dữ liệu hoặc quan hệ ở mức đơn giản.
- Xác định khóa chính, khóa liên kết và trường bắt buộc.
- Tạo một bộ dữ liệu nhỏ để kiểm thử.
- Thực hiện mô hình/truy vấn trên bộ nhỏ.
- Chèn trường hợp trùng, thiếu và không khớp.
- Đối chiếu số dòng, số khóa và kết quả mẫu.
- Ghi quy tắc, nguồn và cách làm mới/bàn giao.
Tiêu chí chấm bài thực hành
| Tiêu chí | Tỷ trọng gợi ý | Đạt khi |
|---|---|---|
| Mô hình đúng | 30% | Đúng đối tượng/quan hệ |
| Kỹ thuật đúng | 25% | Truy vấn/công cụ chạy đúng |
| Kiểm soát lỗi | 20% | Có kiểm khóa/số dòng |
| Diễn giải | 15% | Giải thích đúng nghiệp vụ |
| Bàn giao | 10% | Người khác tái lập được |
Bài tập mở rộng
- Tạo bộ dữ liệu BĐS giả lập có ít nhất 3 bảng.
- Xác định khóa chính và khóa ngoại.
- Cố ý tạo 5 lỗi khóa hoặc quan hệ.
- Viết truy vấn hoặc thiết kế mô hình để xử lý câu hỏi của bài.
- Ghi số dòng trước và sau từng bước.
- Tạo bảng kiểm bản ghi không khớp.
- Viết giải thích tối đa một trang cho người nhận.
- Cho nhóm khác kiểm và phát hiện ít nhất một điểm cần cải tiến.
Những lỗi thường gặp
- Ép mọi dữ liệu vào một bảng lớn.
- Dùng tên thay cho mã định danh.
- Không kiểm khóa trùng.
- Tạo quan hệ mà chưa hiểu một-nhiều hay nhiều-nhiều.
- Làm mới mà không kiểm kết quả.
- Chọn công cụ phức tạp không cần thiết.
- Dùng SELECT * cho mọi báo cáo.
- Dùng GROUP BY trên dữ liệu trùng mà không biết.
- JOIN rồi dùng DISTINCT để che nhân bản.
- Không ghi tài liệu mô hình và quy tắc.
Liên hệ công việc BĐS
Khi hệ thống BĐS phát triển, cùng một tài sản có thể liên quan tới nhiều lần khảo sát, nhiều nguồn hàng, nhiều khách và nhiều giao dịch. Nếu cấu trúc dữ liệu không tách đúng đối tượng, báo cáo rất dễ đếm sai hoặc ghi đè lịch sử. Đây là lý do phần cơ sở dữ liệu không chỉ là học câu lệnh SQL mà là học cách tổ chức thông tin nghề nghiệp.
Tiêu chí tự đánh giá
| Tiêu chí | Đạt khi |
|---|---|
| Đúng đối tượng | Mỗi bảng/dòng có nghĩa rõ |
| Đúng khóa | Định danh và liên kết ổn định |
| Đúng truy vấn | Trả lời đúng câu hỏi |
| Có kiểm soát | Kiểm số dòng/khóa/lỗi |
| Bàn giao được | Có sơ đồ và mô tả |
Câu hỏi tự kiểm tra
- Mỗi dòng trong bảng này đại diện điều gì?
- Khóa có thật sự duy nhất không?
- Quan hệ có làm nhân bản dòng không?
- Truy vấn đang đếm bản ghi hay đếm tài sản?
- Kết quả có phụ thuộc dữ liệu trùng không?
- Người khác có thể hiểu mô hình mà không hỏi tôi không?
Ghi nhớ trong 30 giây
- Power Query phù hợp nhất khi nhiệm vụ chính là nhập, làm sạch, nối chồng, ghép và biến đổi dữ liệu theo quy trình lặp.
- Office Script phù hợp hơn với môi trường Excel trên web và các quy trình tự động hóa trong hệ sinh thái Microsoft 365.
- Nếu bài toán chỉ là làm sạch dữ liệu, dùng Macro thay Power Query thường làm quy trình khó nhìn và khó truy vết hơn.
- Khả năng bàn giao rất quan trọng: một đoạn mã mà chỉ một người hiểu có thể tạo rủi ro vận hành dù tiết kiệm thời gian trước mắt.
- Trước khi tự động hóa nên chuẩn hóa quy trình thủ công, xác định đầu vào/đầu ra, lỗi có thể xảy ra và cách quay lại khi chạy sai.
Nguồn tham khảo
- Đề cương học phần 612421 – Tin học ứng dụng trong bất động sản, Trường Đại học Nông Lâm TP.HCM.
- Kế hoạch 96 chủ đề website – series Tin học BĐS trong hệ thống BDSNL.
- Microsoft Support – tài liệu chính thức về Power Query, Power Pivot và mô hình dữ liệu.
- PostgreSQL Documentation – tài liệu chính thức về cơ sở dữ liệu quan hệ và cú pháp SQL.
- Nguyên tắc quản trị dữ liệu: khóa định danh, quan hệ bảng, kiểm soát chất lượng, khả năng truy vết và khả năng tái lập.
Bài tiếp theo: “Khi nào dữ liệu BĐS đã quá lớn hoặc quá phức tạp để tiếp tục dùng Excel?”.
Gợi ý kiểm tra chéo trên lớp
Một nhóm thiết kế mô hình hoặc truy vấn, nhóm khác nhận dữ liệu và chỉ được đọc tài liệu bàn giao để chạy lại. Nếu nhóm kiểm không xác định được khóa, quan hệ hoặc lý do số dòng thay đổi, phần thiết kế cần được sửa.
Sau kiểm chéo, nhóm tạo nhật ký ngắn gồm vấn đề, nguyên nhân, ảnh hưởng và cách sửa. Cách học này giúp sinh viên hình thành thói quen coi dữ liệu và truy vấn là sản phẩm phải bàn giao, không phải bài làm cá nhân.
Gợi ý kiểm tra chéo trên lớp
Một nhóm thiết kế mô hình hoặc truy vấn, nhóm khác nhận dữ liệu và chỉ được đọc tài liệu bàn giao để chạy lại. Nếu nhóm kiểm không xác định được khóa, quan hệ hoặc lý do số dòng thay đổi, phần thiết kế cần được sửa.
Sau kiểm chéo, nhóm tạo nhật ký ngắn gồm vấn đề, nguyên nhân, ảnh hưởng và cách sửa. Cách học này giúp sinh viên hình thành thói quen coi dữ liệu và truy vấn là sản phẩm phải bàn giao, không phải bài làm cá nhân.
Gợi ý kiểm tra chéo trên lớp
Một nhóm thiết kế mô hình hoặc truy vấn, nhóm khác nhận dữ liệu và chỉ được đọc tài liệu bàn giao để chạy lại. Nếu nhóm kiểm không xác định được khóa, quan hệ hoặc lý do số dòng thay đổi, phần thiết kế cần được sửa.
Sau kiểm chéo, nhóm tạo nhật ký ngắn gồm vấn đề, nguyên nhân, ảnh hưởng và cách sửa. Cách học này giúp sinh viên hình thành thói quen coi dữ liệu và truy vấn là sản phẩm phải bàn giao, không phải bài làm cá nhân.
Gợi ý kiểm tra chéo trên lớp
Một nhóm thiết kế mô hình hoặc truy vấn, nhóm khác nhận dữ liệu và chỉ được đọc tài liệu bàn giao để chạy lại. Nếu nhóm kiểm không xác định được khóa, quan hệ hoặc lý do số dòng thay đổi, phần thiết kế cần được sửa.
Sau kiểm chéo, nhóm tạo nhật ký ngắn gồm vấn đề, nguyên nhân, ảnh hưởng và cách sửa. Cách học này giúp sinh viên hình thành thói quen coi dữ liệu và truy vấn là sản phẩm phải bàn giao, không phải bài làm cá nhân.
Gợi ý kiểm tra chéo trên lớp
Một nhóm thiết kế mô hình hoặc truy vấn, nhóm khác nhận dữ liệu và chỉ được đọc tài liệu bàn giao để chạy lại. Nếu nhóm kiểm không xác định được khóa, quan hệ hoặc lý do số dòng thay đổi, phần thiết kế cần được sửa.
Sau kiểm chéo, nhóm tạo nhật ký ngắn gồm vấn đề, nguyên nhân, ảnh hưởng và cách sửa. Cách học này giúp sinh viên hình thành thói quen coi dữ liệu và truy vấn là sản phẩm phải bàn giao, không phải bài làm cá nhân.
Gợi ý kiểm tra chéo trên lớp
Một nhóm thiết kế mô hình hoặc truy vấn, nhóm khác nhận dữ liệu và chỉ được đọc tài liệu bàn giao để chạy lại. Nếu nhóm kiểm không xác định được khóa, quan hệ hoặc lý do số dòng thay đổi, phần thiết kế cần được sửa.
Sau kiểm chéo, nhóm tạo nhật ký ngắn gồm vấn đề, nguyên nhân, ảnh hưởng và cách sửa. Cách học này giúp sinh viên hình thành thói quen coi dữ liệu và truy vấn là sản phẩm phải bàn giao, không phải bài làm cá nhân.