Chào các anh chị em trong diễn đàn,
Dạo này công ty mình mở thêm vài chi nhánh mới, mỗi chi nhánh lại gửi báo cáo bán hàng về một file Excel riêng. Việc tổng hợp dữ liệu từ các file này về một file báo cáo chung trên file Excel gốc rất mất thời gian, đặc biệt là khi cần cập nhật thường xuyên. Mình đang tìm cách tự động hóa quy trình này.
Sau khi tìm hiểu, mình thấy Power Query có vẻ là giải pháp rất tiềm năng. Mình đã thử nghiệm với việc kết hợp dữ liệu từ nhiều file trong cùng một thư mục và nó hoạt động khá tốt. Tuy nhiên, vẫn còn một vài điểm mình chưa chắc chắn lắm, nhất là khi các file báo cáo có cấu trúc cột hơi khác nhau một chút hoặc có thêm/bớt cột theo thời gian.
Mình muốn chia sẻ cách làm cơ bản và nhờ các cao thủ Power Query trên diễn đàn chỉ giáo thêm để hoàn thiện hơn:
- Bước 1: Chuẩn bị dữ liệu
Tất cả các file báo cáo từ chi nhánh cần được đặt trong một thư mục chung. Đảm bảo tên các file này có quy tắc nhất định (ví dụ: BaoCaoBanHang_CN1.xlsx, BaoCaoBanHang_CN2.xlsx...). - Bước 2: Kết nối với thư mục trong Power Query
Vào tab Data -> Get Data -> From File -> From Folder. Chọn thư mục chứa các file báo cáo. - Bước 3: Kết hợp các file
Power Query sẽ hiển thị danh sách các file. Chọn nút Combine & Transform Data. Power Query sẽ tự động gợi ý cách kết hợp dựa trên file mẫu đầu tiên. - Bước 4: Xử lý và làm sạch dữ liệu
Tại đây, mình sẽ tiến hành các bước như loại bỏ các cột không cần thiết, đổi tên cột, chuyển đổi kiểu dữ liệu, xử lý các giá trị null, hoặc thậm chí là thêm cột tính toán nếu cần. - Bước 5: Tải dữ liệu về Excel
Sau khi hoàn tất các bước trên, mình sẽ chọn Close & Load To... để tải dữ liệu đã tổng hợp về một bảng mới trong file Excel chính.
Điểm mình đang băn khoăn là làm sao để Power Query có thể xử lý linh hoạt hơn khi cấu trúc file nguồn thay đổi (thêm/bớt cột)? Có cách nào để tự động nhận diện và xử lý các trường hợp này mà không cần phải chỉnh sửa lại query mỗi lần không?
Rất mong nhận được sự đóng góp ý kiến và kinh nghiệm từ các thành viên khác để quy trình này được tối ưu nhất.
Xin cảm ơn!