Chào các anh em trong diễn đàn,
Dạo này mình có làm việc với một bộ dữ liệu địa chỉ khá lằng nhằng, có nơi thì có cả số nhà, tên đường, phường/xã, quận/huyện, tỉnh/thành phố, có nơi thì chỉ có tỉnh/thành phố. Việc xử lý thủ công bằng Excel rất tốn thời gian và dễ sai sót.
Sau một hồi mày mò, mình đã tìm ra cách dùng Power Query để tự động phân tách các thành phần này một cách khá hiệu quả. Mình muốn chia sẻ lại với mọi người để ai gặp trường hợp tương tự có thể tham khảo.
Cách làm cơ bản:
- Đầu tiên, mình sẽ dùng chức năng Split Column by Delimiter để tách các thành phần dựa trên dấu phẩy (,) hoặc các ký tự phân tách khác nếu có.
- Tuy nhiên, không phải lúc nào dấu phẩy cũng phân tách đúng ý. Ví dụ, trong tên đường có thể có dấu phẩy.
- Vì vậy, mình kết hợp thêm chức năng Extract Text After Delimiter hoặc Extract Text Before Delimiter để lấy các phần cụ thể như Tỉnh/Thành phố, Quận/Huyện.
- Đối với những trường hợp phức tạp hơn, có thể cần dùng đến các hàm M tùy chỉnh hoặc kết hợp với việc chuẩn hóa dữ liệu (như đã có bài viết về chuẩn hóa tên tỉnh/thành phố) để đảm bảo kết quả chính xác nhất.
Ví dụ, với một dòng địa chỉ như:
123 Đường ABC, Phường XYZ, Quận 1, TP. Hồ Chí MinhMình có thể tách ra được các cột riêng biệt như Số nhà, Tên đường, Phường, Quận, Tỉnh/Thành phố.
Cách này giúp mình tiết kiệm được rất nhiều thời gian và giảm thiểu sai sót khi làm báo cáo. Không biết có anh em nào có cách nào hay hơn hoặc gặp khó khăn gì khi xử lý địa chỉ bằng Power Query không, cùng chia sẻ nhé!