Bài 5: Làm sạch và chuẩn hóa dữ liệu nâng cao

Ở bài này, bạn sẽ xử lý bộ dữ liệu bẩn theo kiểu thường gặp trong vận hành thực tế: sai email, phone lẫn ký tự, ngày nhiều định dạng, salary lỗi, status không hợp lệ.

Mục tiêu:

  • Chuẩn hóa dữ liệu text/số/ngày về format nhất quán.
  • Tạo cờ kiểm tra chất lượng dữ liệu quan trọng.
  • Tổng hợp lỗi bằng issue_note để team xử lý nhanh.

Vì sao cần làm sạch nâng cao?

Nếu bỏ qua bước làm sạch:

  • Pivot và dashboard cho số sai.
  • Lookup bị trượt vì khóa không chuẩn.
  • Team mất thời gian sửa lỗi thủ công từng dòng.

Làm sạch tốt giúp bạn dùng lại dữ liệu cho báo cáo tuần/tháng mà không vỡ công thức.

Bộ công thức trọng tâm trong Bài 5

  1. Chuẩn hóa text: TRIM, PROPER, LOWER, UPPER, REGEXREPLACE
  2. Kiểm tra email: REGEXMATCH
  3. Chuẩn hóa ngày đa định dạng: SPLIT, SUBSTITUTE, DATE, TEXT
  4. Chuẩn hóa số tiền: VALUE, IFERROR
  5. Kiểm tra status hợp lệ: OR
  6. Gom lỗi dữ liệu: TEXTJOIN

Demo before/after (read-only)

Bạn mở file read-only này để xem demo, rồi vào File → Make a copy để thực hành:

  • Demo file (read-only): https://docs.google.com/spreadsheets/d/1T8bbOaJbPjgG_OFbDuN5Zu9-2deetnfJr_DHpTBE0uo/edit?usp=sharing

Các tab trong file:

  • Raw_Before: dữ liệu thô cố tình có lỗi.
  • Clean_After: giữ dữ liệu gốc + cột làm sạch từ L:X.
  • Practice: dữ liệu để bạn tự xử lý lại.
  • Checklist: checklist chất lượng đầu ra.
  • Hướng dẫn từng bước: hướng dẫn cực chi tiết theo từng cột.

Logic before/after của bài

Trong Clean_After:

  • A:J: giữ nguyên dữ liệu thô để đối chiếu.
  • L:X: tạo dữ liệu sạch và cờ kiểm tra.

Các đầu ra chính:

  • full_name_clean, email_clean, phone_clean
  • dob_clean, city_clean, salary_num, joined_date_clean
  • is_valid_email, is_valid_status
  • issue_note để đánh dấu dòng lỗi

Case lỗi thực tế bạn sẽ xử lý

  • Email sai định dạng (binh.tran#mail.com, duong.pham@gmail).
  • Salary chứa text (abc) không ép thành số được.
  • Status ngoài tập cho phép (unknown).
  • City viết nhiều kiểu (hcm, TP.HCM, hanoi, HN).

Mục tiêu là biến dữ liệu bẩn thành dữ liệu dùng được ngay cho tổng hợp và trực quan hóa.

Flow thực hành đề xuất

  1. Đọc lỗi trong Raw_Before.
  2. Clean_After, làm sạch từ cột L đến V.
  3. Tạo cờ kiểm tra ở O, W.
  4. Ghép issue_note ở cột X.
  5. Dùng Checklist để tự chấm chất lượng.
  6. Làm lại từ đầu trên Practice.

Layout học 60 phút cho Bài 5

1) Lecture (15 phút)

  • 5 phút: các loại dữ liệu bẩn thường gặp.
  • 7 phút: walkthrough từng công thức clean chính.
  • 3 phút: cách đọc issue_note để xử lý backlog dữ liệu.

2) Thực hành có hướng dẫn (30 phút)

  • Làm theo tab Hướng dẫn từng bước.
  • Hoàn thành toàn bộ cột L:X.
  • Đối chiếu theo checkpoint.

3) Thực hành tự làm (15 phút)

  • Làm lại trên tab Practice không nhìn đáp án.
  • Tự so sánh với Clean_After.

Kết thúc Bài 5

Sau bài này, bạn sẽ:

  • Làm sạch được bộ dữ liệu bẩn ở mức nâng cao.
  • Biết đánh dấu lỗi để quản trị chất lượng dữ liệu theo quy trình.
  • Có bảng dữ liệu sạch sẵn sàng cho Pivot, Dashboard và phân tích sâu hơn.

Bài tiếp theo, chúng ta sẽ đi vào tổng hợp dữ liệu bằng Pivot Table.