مشروع تنظيف بيانات HR متقدم من الصفر باستخدام SQL. قمت بإنشاء database كامل، تحميل بيانات خام (messy) تحتوي على 12 موظف بمشاكل حقيقية متعددة، ثم تطبيق pipeline شامل لتنظيفها والتحقق من جودتها.
المشاكل المعالجة:
Missing Data: 11% من الحقول فارغة (national_id, emails, dates)
Duplicates: تحديد وحذف سجلات موظفين مكررين بنفس national_id
Inconsistent Text: مسافات زائدة، casing مختلف (SALES vs sales)
Multiple Date Formats: DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD معالجة باستخدام REGEX و STR_TO_DATE
Currency & Special Characters: معالجة salary مع "EGP", فواصل، مسافات
Invalid Data Ranges: إزالة scores سالبة، رواتب غير منطقية، bonus > 100%
Invalid Emails: حذف وإعادة توليد emails صحيحة
Invalid Phone: إزالة أحرف من أرقام الهواتف
التقنيات المستخدمة:
CASE statements للتوحيد
REGEX للتحقق من الصيغ
CAST/CONVERT لتحويل الأنواع
Window Functions (PERCENT_RANK, ROW_NUMBER) للكشف عن outliers
IQR Method لاكتشاف الرواتب الشاذة (تفوق/تقل عن الحدود المنطقية)
JOIN و Aggregation للـ imputation بناءً على department
CTE للحسابات المعقدة
المخرجات النهائية:
جدول نظيف (employees_clean) بـ 10 سجلات صحيحة 100%
تحليلات: headcount، average salary، top performers، performance bands
Outlier detection بالـ Department