Chào các bạn trong diễn đàn,
Mình thường xuyên phải xử lý các báo cáo dữ liệu từ nhiều nguồn khác nhau, và một trong những vấn đề nan giải nhất là định dạng ngày tháng 'loạn xạ'. Có lúc là dd/mm/yyyy, có lúc lại là mm-dd-yyyy, thậm chí có những ô chỉ là chuỗi text nhìn không ra ngày tháng gì cả. Việc làm thủ công từng ô thì mất thời gian khủng khiếp và dễ sai sót.
Gần đây, mình có mày mò và áp dụng Power Query để giải quyết triệt để vấn đề này. Mình muốn chia sẻ một quy trình tự động hóa mà mình đã xây dựng, hy vọng sẽ giúp ích cho các bạn đang gặp tình huống tương tự.
Quy trình xử lý dữ liệu ngày tháng với Power Query:
- Bước 1: Đọc dữ liệu vào Power Query. Dù là từ file Excel, CSV, hay Web, Power Query đều xử lý tốt.
- Bước 2: Xác định cột chứa ngày tháng. Chọn cột cần xử lý.
- Bước 3: Chuyển đổi kiểu dữ liệu (Change Type). Đây là bước quan trọng. Thay vì chọn trực tiếp Date, mình thường chọn Text trước để Power Query không 'ép' sai định dạng.
- Bước 4: Làm sạch và chuẩn hóa. Sử dụng các hàm như
Text.Cleanđể loại bỏ khoảng trắng thừa, sau đó dùngText.SplithoặcText.PositionOfđể tách các phần ngày, tháng, năm nếu cần. - Bước 5: Chuyển đổi sang định dạng Date chuẩn. Sau khi đã tách và làm sạch, mình dùng hàm
Date.FromTexthoặcDate.From(Timestamp.FromText(...))với định dạng rõ ràng (ví dụ:#"dd/MM/yyyy") để đảm bảo Power Query hiểu đúng. - Bước 6: Xử lý lỗi (Error Handling). Dùng Replace Errors để thay thế các giá trị không chuyển đổi được bằng
nullhoặc một giá trị mặc định nào đó.
Cách này giúp mình tiết kiệm rất nhiều thời gian và đảm bảo tính nhất quán của dữ liệu. Nếu bạn nào có kinh nghiệm hay thủ thuật hay hơn, đừng ngần ngại chia sẻ nhé!