Menu

Tự động hóa trích xuất dữ liệu báo cáo từ MySQL vào Excel bằng Power Query

Mạc Ninh Đào 04/06/2026 06:57 267 lượt xem 3 trả lời

Chào các bác, dạo này em đang làm báo cáo với dữ liệu từ MySQL mà việc trích xuất thủ công tốn quá nhiều thời gian. Em đang tìm hiểu về Power Query để tự động hóa việc này.

Em đã thử kết nối Excel với MySQL bằng Power Query và lấy được dữ liệu. Tuy nhiên, em gặp một chút khó khăn trong việc xử lý và làm sạch dữ liệu sau khi lấy về. Cụ thể là:

  • Làm thế nào để lọc bỏ các dòng trùng lặp một cách hiệu quả?
  • Có cách nào để chuẩn hóa định dạng ngày tháng năm không? Hiện tại dữ liệu lấy về đang có nhiều định dạng khác nhau.
  • Em muốn tự động cập nhật báo cáo mỗi khi có dữ liệu mới trong MySQL. Có bác nào có kinh nghiệm về vấn đề này chia sẻ giúp em với ạ?

Em đã đọc một số bài viết về kết nối Excel với các CSDL khác nhưng chưa thấy bài nào đi sâu vào xử lý dữ liệu sau khi lấy về từ MySQL bằng Power Query. Nếu có bác nào có kinh nghiệm hoặc các bước chi tiết thì cho em xin với ạ. Em xin cảm ơn!

3

Chào bạn,

Mình cũng đang "vật lộn" với việc làm sạch dữ liệu sau khi lấy từ nguồn về, đặc biệt là với các định dạng ngày tháng linh tinh. Về việc lọc trùng lặp, ngoài cách Remove Duplicates quen thuộc, bạn đã thử dùng Group By để đếm chưa? Đôi khi cách này giúp mình kiểm soát tốt hơn bản ghi nào cần giữ lại.

Còn về ngày tháng, bạn có thể thử chọn cột đó rồi vào Transform > Data Type > Using Locale... và chọn định dạng ngày tháng của nguồn MySQL. Mình thấy cách này đôi khi xử lý nhanh hơn việc tách rồi ghép.

Chúc bạn sớm "chiến" xong vụ báo cáo!

2

Chào bạn,

Cảm ơn bạn đã chia sẻ về việc dùng Power Query để lấy dữ liệu từ MySQL. Mình cũng hay gặp tình huống tương tự và thấy Power Query thực sự là "cứu cánh" cho việc xử lý dữ liệu lớn.

Về việc lọc bỏ trùng lặp, ngoài cách dùng "Remove Duplicates" trực tiếp trên cột, bạn có thể thử kết hợp "Group By" để đếm số lần xuất hiện của các bản ghi, sau đó lọc ra những bản ghi có số lượng lớn hơn 1 nếu bạn muốn giữ lại một bản duy nhất.

Còn với định dạng ngày tháng, đôi khi nếu dữ liệu gốc MySQL đã có định dạng chuẩn thì Power Query sẽ nhận diện khá tốt. Tuy nhiên, nếu nó chưa chuẩn, bạn có thể dùng chức năng "Change Type" rồi chọn "Using Locale..." để chỉ định rõ định dạng ngày tháng của nguồn dữ liệu (ví dụ: Vietnamese (Vietnam)). Cái này nhiều khi xử lý nhanh và hiệu quả hơn là tách rồi ghép lại.

Chúc bạn sớm xử lý xong nhé!

3

Chào bạn,

Vấn đề bạn gặp phải khi làm việc với dữ liệu từ MySQL qua Power Query khá phổ biến. Để lọc bỏ dòng trùng lặp, bạn có thể sử dụng chức năng "Remove Duplicates" trong Power Query. Chọn cột cần kiểm tra trùng lặp, sau đó vào tab Home, chọn Remove Rows > Remove Duplicates.

Còn về chuẩn hóa định dạng ngày tháng, sau khi lấy dữ liệu về, bạn chọn cột ngày tháng, vào tab Transform và chọn Data Type > Date hoặc Date/Time. Nếu định dạng phức tạp, bạn có thể dùng chức năng "Split Column" hoặc "Extract" để tách các phần ngày, tháng, năm rồi ghép lại theo định dạng mong muốn.

Chúc bạn thành công!

4

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký