? أولاً: تصميم قاعدة البيانات (Data Model)
المشروع بيبدأ من بناء نموذج البيانات (Data Model) زي اللي ظاهر في أول صورة، وده بيتكون من جدول حقائق (Fact Table) وعدة جداول أبعاد (Dimension Tables).
الجداول الأساسية:
Fact_Flights
ده جدول الحقائق اللي فيه كل بيانات الرحلات (الحدث الفعلي).
الأعمدة بتشمل:
أوقات المغادرة والوصول (ArrTime, DepTime, ArrDelay, DepDelay)
حالة الرحلة (Cancelled, CancellationCode)
الأكواد المساعدة (TailNum, Carrier, Route, DateKey)
الجدول ده هو اللي بيتجمع منه التحليل.
Dim_Date
جدول للأوقات، فيه تفاصيل مثل: التاريخ، الشهر، السنة، الربع، إلخ.
بيُستخدم لعمل تحليلات زمنية (trend analysis).
Dim_Carrier
فيه بيانات شركات الطيران (Carrier Name).
Dim_Aircraft
فيه بيانات الطيارة (TailNum).
Dim_Airports_Detail
فيه بيانات المطارات (Airport Code, Airport Name, City, State, Country).
Dim_Route
فيه تفاصيل المسار (Route, Origin, Destination, Distance).
العلاقات (Relationships):
جدول Fact_Flights مرتبط بالأبعاد كلها بمفاتيح رئيسية زي:
DateKey → Dim_Date
Carrier → Dim_Carrier
TailNum → Dim_Aircraft
Route → Dim_Route
AirportCode → Dim_Airports_Detail
الهدف من النموذج ده هو إنك تبني نظام تحليلي سريع ومرن تقدر منه تربط كل البيانات ببعضها بسهولة.
ثانياً: تحليل البيانات في Power BI
بعد ما النموذج اتجهز، البيانات اتنقلت إلى Power BI لتحليلها وإنشاء مقاييس (Measures) بلغة DAX.
أمثلة على المقاييس المستخدمة:
Total Flights = COUNT(Fact_Flights[FlightID])
Delayed Flights = CALCULATE([Total Flights], Fact_Flights[ArrivalDelay] > 0)
Not Delayed Flights = [Total Flights] - [Delayed Flights]
Avg Arrival Delay = AVERAGE(Fact_Flights[ArrivalDelay])
Avg Departure Delay = AVERAGE(Fact_Flights[DepDelay])
Delay Ratio = DIVIDE([Delayed Flights], [Total Flights])
ثالثاً: تصميم لوحة المعلومات (Dashboard 1)
الصورة الثانية بتوضح أول لوحة:
العناصر الرئيسية:
ملخص عام:
Total Flights: 1.936M
Delayed Flights: 1.723M
Not Delayed Flights: 213K
تحليل المطارات:
Top 3 Airports by Total Flights
(مثل ATL, ORD, DFW)
Bottom 3 Airports by Total Flights
(مثل Pierre Regional, Pueblo Memorial)
تحليل شركات الطيران:
جدول بيعرض كل شركة وعدد الرحلات المتأخرة وغير المتأخرة.
أبرز شركة: Southwest Airlines بعدد رحلات 377K منها 324K متأخرة.
تحليل الرحلات حسب المسار (Route):
زي LAX–SFO أو ORD–LGA.
تحليل شهري:
Total Flights by Month Name → يظهر اتجاه الرحلات عبر الشهور.
رابعاً: لوحة تحليل التأخيرات (Dashboard 2)
الصورة الثالثة بتوضح لوحة تحليل تأخيرات الوصول والمغادرة بالتفصيل.
العناصر:
Avg Arr Delay: 42.03 دقيقة
Avg Dep Delay: 43.17 دقيقة
Delayed Ratio: 89.01%
تحليل التأخيرات حسب شركة الطيران:
Mesa Airlines وJetBlue Airways في القمة (55 دقيقة تأخير في المتوسط).
Envoy Air الأقل (44 دقيقة).
تحليل شهري للتأخير:
التأخير بيزيد في ديسمبر (49 دقيقة)، وبيقل في أكتوبر (34.9 دقيقة).
تحليل حسب ساعة المغادرة (DepHour):
يوضح أن أكتر الرحلات بتحصل بين الساعة 12 و20.
تحليل حسب المطارات:
Houghton County وPellston Regional عندهم أعلى متوسط تأخير وصول.
? خامساً: الاستنتاجات
من التحليل:
نسبة التأخير مرتفعة جدًا (حوالي 89% من الرحلات).
شهور مثل ديسمبر ويونيو ويوليو فيها أعلى معدلات تأخير.
شركات معينة بتعاني أكتر من غيرها (Mesa وJetBlue).
بعض المطارات الصغيرة عندها أعلى متوسط تأخير رغم عدد الرحلات القليل.
️ سادساً: الخطوات العملية لتنفيذ المشروع
جمع البيانات:
تم جمع بيانات الرحلات الجوية من مصدر مفتوح (مثل Kaggle أو FAA).
تنظيف البيانات (Data Cleaning):
إزالة القيم الناقصة، تحويل الأعمدة الزمنية، إنشاء أكواد الربط.
إنشاء جداول الأبعاد والحقائق:
تقسيم البيانات إلى Fact & Dimension Tables لتسهيل التحليل.
ربط الجداول في Power BI:
بناء العلاقات (One-to-Many).
إنشاء المقاييس (DAX):
لحساب المتوسطات والنسب والتجميعات.
تصميم لوحات تفاعلية:
استخدام المخططات (Bar, Line, Pie) والبطاقات (Cards) والعناوين لجعل التقرير جذابًا وواضحًا.
تحليل النتائج واستخلاص الرؤى.