A complete analytics pipeline using Python, SQL, and Power BI to explore global development, population, economy, and HDI indicators.
This project simulates a full real-world BI workflow, starting from collecting and preparing raw global datasets, cleaning them with Python, validating joins and structures using SQL, and building a multi-page Power BI dashboard for data storytelling.
The analysis integrates economic, demographic, linguistic, and human-development indicators to provide a wide view of world patterns and trends.
Note: The dataset used is structured but not fully up-to-date. This project is designed as a training simulation to practice real analytical workflows.
-Combine data from multiple sources (Python, SQL, Excel, scraped datasets)
-Clean, reconcile, and standardize global indicators
-Perform EDA (Exploratory Data Analysis) using Python
-Build star-schema-ready tables for BI modeling
-Develop an interactive Power BI dashboard with KPIs, maps, correlations, and drill-downs
-Produce actionable insights for decision-makers and researchers
world-analysis/
│
├── notebooks/
│ └── world_analysis.ipynb
│
├── data/
│ ├── raw/
# original files
│ ├── cleaned/
# cleaned tables for modeling
│ └── world.sql
# SQL exports used in analysis
│
├── sql/
│ └── data_prep_queries.sql
│
├── dashboard/
│ └── world_data_report.pbix
│
└── images/
├── Main Page.png
├── HDI.png
├── Filter Page.png
Included:
"3.5 trillion$"
"850B"
"1.2 billion" → into normalized numerics
Analysis performed inside the notebook included:
✔ Most spoken languages ✔ Highest GNP economies ✔ Countries with lowest life expectancy ✔ Cross-continent comparisons
Final visuals were re-created in Power BI for better storytelling.
The dashboard includes:
Total population
Total GDP
Average life expectancy
Average HDI level
Growth statistics
Main Global Overview
HDI Page (Map + Indicators)
GDP & Population Trends
Country Profile Page (Drill-Down)
Filter Page
Mobile Layout
Dashboard file: dashboard/world_data_report.pbix
Challenge: Different structures, formats, and naming conventions. Solution: Standardized country keys, cleaned in Python, validated via SQL.
Solution: Re-typed columns inside Power BI + pre-cleaned SQL tables.
Examples: "$3.5 trillion", "850B", "1.2 billion" Solution: Created a Python parser to convert all formats to numbers.
Challenge: Clean layout, balanced charts, mobile design. Solution: Rebuilt visuals, improved spacing & formatting.
Solution: Documented limitations and future update plan.
Global population is extremely concentrated — a few countries dominate total world population.
GNP and GDP values show wide disparity between regions, with strong clustering patterns.
Countries with higher GDP tend to have significantly higher life expectancy.
HDI strongly correlates with education, GDP-per-capita, and healthcare indicators.
High language diversity in Asia & Africa; lower diversity in regions with homogeneous populations.
These insights match and validate global development expectations and form the basis for dashboard storytelling.
1-Clone this repository
2-Open notebooks/world_analysis.ipynb
3-Run all cells to reproduce cleaning & EDA
4-Load cleaned data into SQL or directly into Power BI
5-Open dashboard/world_data_report.pbix
6-Explore dashboard & insights
-Build ML models to forecast GDP or life expectancy
-Add automated ETL pipelines (Airflow/Prefect)
-Connect to World Bank API for live data
-Publish Power BI report to cloud with scheduled refresh
-Add country clustering & segmentation
LinkedIn: www.linkedin.com/in/asem-haij-9797562a8
هذا المشروع يقدّم سير عمل كامل لتحليل البيانات من البداية حتى النهاية، بدءًا من جمع البيانات الخام، مرورًا بتنظيفها باستخدام Python، ومعالجتها باستخدام SQL، وانتهاءً ببناء لوحة تحكم تفاعلية في Power BI لعرض النتائج وصناعة القصة البصرية.
يحاكي المشروع تجربة BI حقيقية عبر دمج بيانات من مصادر متعددة والتعامل مع تحديات البيانات الشائعة.
ملاحظة: رغم أن البيانات منظمة إلى حد ما، إلا أنها ليست محدثة بالكامل، لذا يُعد المشروع محاكاة تدريبية لتطبيق خطوات التحليل العملية.
جمع واستكشاف وتنظيف البيانات من مصادر متعددة
معالجة القيم المفقودة وعدم الاتساق في الصيغ والأنواع
إجراء تحليل وصفي واستكشافي
استخدام Python وPandas وSQL لإعداد البيانات
بناء نموذج بيانات في Power BI وربط الجداول
تصميم لوحات تحكم تفاعلية لعرض البيانات وصياغة قصة بصرية قوية
Python (Pandas, NumPy)
Jupyter Notebook
SQL
Power BI
Web Scraping (عند الحاجة)
world-analysis/
│
├── notebooks/
│ └── world_analysis.ipynb
│
├── data/
│ ├── raw/
# original files
│ ├── cleaned/
# cleaned tables for modeling
│ └── world.sql
# SQL exports used in analysis
│
├── sql/
│ └── data_prep_queries.sql
│
├── dashboard/
│ └── world_data_report.pbix
│
└── images/
├── Main Page.png
├── HDI.png
├── Filter Page.png
تحديد القيم المفقودة واتخاذ القرار المناسب لمعالجتها
إصلاح مشاكل التنسيق (النصوص، الأرقام، التواريخ)
تحويل الوحدات (مثل قيم الناتج المحلي GDP)
إزالة البيانات المكررة
توحيد أسماء/رموز الدول قبل الدمج
دمج البيانات القادمة من مصادر مختلفة
تصدير النسخة النهائية النظيفة من البيانات
تم باستخدام Python وشمل:
الإحصاءات الوصفية
تحليل التوزيعات
تحليل الارتباطات
كشف القيم الشاذة
مقارنة الميزات
تم تنفيذ معظم الرسوم البيانية لاحقًا في Power BI بشكل أكثر احترافية.
تتضمن:
مؤشرات عالمية (السكان، الناتج المحلي، معدل النمو … إلخ)
أعلى وأدنى الدول حسب المؤشرات
اتجاهات الناتج المحلي ومتوسط العمر
توزيع اللغات حول العالم
خريطة مؤشر HDI
مصفوفة الارتباط
صفحة تقارير تفصيلية لكل دولة
نسخة متوافقة مع الهاتف المحمول
ملف لوحة التحكم متوفر في:
dashboard/world dashboard.pbix
التحدي: اختلاف التنسيقات والأسماء والهياكل
الحل:
بناء نموذج بيانات في Power BI باستخدام مفاتيح موحدة
توحيد أسماء الدول باستخدام Python
التحقق من عمليات الدمج باستخدام SQL قبل الاستيراد
التحدي: مشاكل الترميز وأنواع البيانات
الحل:
تنظيف البيانات أولًا في Python
ضبط أنواع الأعمدة في Power Query
تقسيم الجداول الكبيرة عند الحاجة
أمثلة:
3.5 trillion$
850B$
1.2 billion
الحل:
إنشاء دالة Python مخصصة لتحويل جميع القيم النصية إلى أرقام
التحقق النهائي في Power BI عبر Transform Data
التحدي: بناء تصميم حديث ومنسق ومناسب للمستخدم
الحل:
تحسين الألوان والمسافات والهوامش
إعادة بناء بعض الرسوم للحصول على أفضل عرض
تصميم نسخة خاصة بالهاتف المحمول
هذا المشروع يهدف إلى محاكاة سير عمل تحليلي واقعي أكثر من إعطاء إحصائيات عالمية حديثة.
(يمكنك تعديلها حسب نتائجك الفعلية)
الدول ذات الناتج المحلي الأعلى غالبًا ما تمتلك متوسط عمر متوقع أعلى
التوزيع السكاني حول العالم غير متوازن بشكل كبير
بعض المناطق تشهد معدلات نمو سلبية
مؤشر HDI يرتبط بقوة بالمؤشرات الاقتصادية والتعليمية
تحميل المشروع أو استنساخه من GitHub
فتح الـ Notebook داخل مجلد notebook/
تشغيل الخلايا لإعادة خطوات التنظيف والتحليل
فتح ملف Power BI لاستكشاف لوحة التحكم التفاعلية
LinkedIn: (www.linkedin.com/in/asem-haij-9797562a8)
🎉 شكرًا لاستكشاف هذا المشروع! لا تتردد بالتواصل للمناقشة أو التعاون.


