Chào các bạn trong chuyên mục PowerQuery!
Mình thường xuyên phải làm việc với nhiều file CSV được xuất ra từ một hệ thống, các file này có cấu trúc cột giống hệt nhau nhưng số lượng dòng thì thay đổi tùy theo thời gian. Việc gom chúng lại thủ công bằng cách copy-paste từng file vào một file tổng hợp khá mất thời gian và dễ sai sót.
Gần đây, mình có tìm hiểu và áp dụng PowerQuery để tự động hóa hoàn toàn quá trình này. Kết quả thật sự ấn tượng, chỉ vài thao tác thiết lập ban đầu là sau này chỉ cần đặt các file CSV mới vào một thư mục, sau đó refresh là tất cả dữ liệu đã được gom lại gọn gàng trong một bảng duy nhất.
Các bước cơ bản mình thực hiện như sau:
- Tạo một thư mục chung để chứa tất cả các file CSV cần gom.
- Trong Power Query, chọn Get Data -> From File -> From Folder.
- Chọn đường dẫn đến thư mục đã tạo.
- Power Query sẽ liệt kê các file trong thư mục. Chọn Combine & Transform Data (hoặc Combine & Load nếu bạn thấy ổn với định dạng mặc định).
- Power Query sẽ tự động tạo ra một hàm mẫu để xử lý từng file. Bạn có thể chỉnh sửa các bước xử lý này (ví dụ: loại bỏ cột không cần thiết, đổi tên cột, chuẩn hóa dữ liệu) trên file mẫu đó.
- Sau khi hoàn tất, nhấn Close & Load. Từ giờ, mỗi khi có file CSV mới, chỉ cần đặt vào thư mục và nhấn Refresh All trong Excel là xong.
Cách này cực kỳ hữu ích cho những ai thường xuyên nhận dữ liệu theo đợt hoặc từ nhiều nguồn khác nhau mà cấu trúc báo cáo không đổi. Tiết kiệm được rất nhiều thời gian và công sức.
Có bạn nào đã áp dụng cách này chưa? Chia sẻ thêm kinh nghiệm hoặc các tình huống xử lý nâng cao hơn nhé!