Ngăn dữ liệu sai ngay trước khi phá hỏng báo cáo & automation

🎯 MỤC TIÊU BÀI HỌC
Sau bài này, bạn sẽ:
- Hiểu vì sao validate dữ liệu là lớp phòng thủ bắt buộc
- Biết cách:
- Dùng Python để kiểm tra dữ liệu chuyên sâu
- Dùng Make.com để kiểm soát luồng & cảnh báo
- Thiết kế hệ thống:
- Dữ liệu đúng → cho chạy tiếp
- Dữ liệu sai → chặn, log, cảnh báo
- Áp dụng được ngay cho:
- Excel
- Google Sheets
- Dữ liệu đổ vào Power BI
⚠️ VẤN ĐỀ THỰC TẾ: AUTOMATION CHẠY NHANH ≠ CHẠY ĐÚNG
Trong doanh nghiệp, dữ liệu thường:
- Nhập tay
- Copy–paste
- Đến từ nhiều nguồn
Hệ quả:
- Ngày sai định dạng
- Số âm vô lý
- Thiếu cột
- Text lẫn number
👉 Automation chạy rất nhanh, nhưng sai cũng rất nhanh.
🧠 TƯ DUY ĐÚNG: PYTHON KIỂM TRA – MAKE.COM ĐIỀU PHỐI
Nguồn dữ liệu
→ Python validate
→ Make.com quyết định:
- Cho chạy
- Hay chặn & cảnh báo
- Python: mạnh về logic & xử lý phức tạp
- Make.com: mạnh về luồng, điều kiện, cảnh báo
👉 Kết hợp đúng → hệ thống an toàn & mở rộng được.
🧪 DỮ LIỆU MẪU THỰC TẾ (≥ 15 DÒNG)
Ví dụ: Dữ liệu chấm công nhân sự (attendance_raw.xlsx)
| record_id | employee_id | department | work_date | working_hours |
|---|---|---|---|---|
| R001 | E001 | Nhân sự | 2025-01-01 | 8 |
| R002 | E002 | Kế toán | 01/02/2025 | 9 |
| R003 | E003 | Kho | 2025/01/03 | -2 |
| R004 | E004 | Nhân sự | 2025-01-04 | 8 |
| R005 | E005 | Kế toán | 04-01-2025 | 7 |
| R006 | E006 | Kho | 2025.01.06 | 10 |
| R007 | E007 | Nhân sự | 2025-13-01 | 8 |
| R008 | E008 | Kế toán | 2025-01-08 | text |
| R009 | E009 | Kho | 2025-01-09 | 12 |
| R010 | E010 | Nhân sự | 09/01/2025 | 8 |
| R011 | E011 | Kế toán | 2025-01-11 | 24 |
| R012 | E012 | Kho | 2025-01-12 | 8 |
| R013 | E013 | Nhân sự | 2025-01-13 | 0 |
| R014 | E014 | Kế toán | 2025-01-14 | 8 |
| R015 | E015 | Kho | 2025-01-15 | 9 |
👉 Đây là dữ liệu rất đời và rất nguy hiểm nếu không validate.
🛠️ STEP BY STEP: KẾT HỢP PYTHON + MAKE.COM ĐỂ VALIDATE
🔹 STEP 1: Xác định rule validate (quan trọng nhất)
Ví dụ:
work_date:- Phải là ngày hợp lệ
working_hours:- Là số
- Từ 0 → 12
- Không có giá trị null
👉 Rule phải viết ra rõ ràng, không đoán.
🔹 STEP 2: Python validate dữ liệu
Ví dụ logic Python:
- Parse date
- Check range
- Gắn cờ lỗi
Kết quả Python trả về:
is_valid(True / False)error_reason
🔹 STEP 3: Make.com gọi Python & nhận kết quả
Trong Make.com:
- Gọi Python (API / webhook)
- Nhận:
- Dữ liệu sạch
- Dữ liệu lỗi
👉 Make.com không cần biết chi tiết logic, chỉ cần quyết định.
🔹 STEP 4: Routing trong Make.com
- Nếu
is_valid = True:- Cho chạy tiếp (Power BI / email / lưu DB)
- Nếu
is_valid = False:- Ghi log
- Gửi cảnh báo
- Không cho dữ liệu đi tiếp
🔹 STEP 5: Ghi log & cảnh báo
Log cần có:
- Record ID
- Lý do lỗi
- Thời gian
Cảnh báo:
- Chỉ gửi khi lỗi quan trọng
- Không spam người dùng
📊 GIÁ TRỊ THỰC SỰ CỦA VALIDATION
| Không validate | Có validate |
|---|---|
| Dữ liệu sai âm thầm | Phát hiện sớm |
| Báo cáo lệch | Báo cáo tin cậy |
| Khó debug | Có log rõ ràng |
| Phụ thuộc con người | Hệ thống tự bảo vệ |
🧾 KẾT LUẬN & ĐÁNH GIÁ
- Validation không làm automation chậm
- Validation giữ cho automation sống lâu
- Python + Make.com =
logic mạnh + điều phối thông minh
👉 Nếu bạn không validate dữ liệu, automation của bạn chỉ đang hy vọng dữ liệu đúng.
🚀 GỢI Ý ÁP DỤNG THỰC TẾ
👥 Nhân sự
- Chấm công
- Ngày hợp đồng
- Thâm niên
💰 Kế toán
- Số tiền
- Ngày chứng từ
- Đối soát
📦 Quản lý kho
- Số lượng nhập – xuất
- Giá trị tồn
- Dữ liệu từ nhiều nguồn