لوحة معلومات تحليلات الموارد البشرية في Power BI: Workforce Insights
تعد تحليلات الأشخاص التطبيق الأسرع نموًا لذكاء الأعمال في المؤسسة - وذلك لسبب وجيه. تتمتع المؤسسات التي لديها برامج ناضجة لتحليلات الموارد البشرية بمتوسط ربح أعلى بنسبة 82% على مدار ثلاث سنوات مقارنة بالشركات التي لديها الحد الأدنى من قدرات البيانات المتعلقة بالأشخاص (اتجاهات Deloitte Human Capital). ومع ذلك، لا تزال معظم فرق الموارد البشرية تتتبع عدد الموظفين في جداول بيانات Excel وتحسب معدل الدوران يدويًا في جداول بيانات Google.
يمنح Power BI قادة الموارد البشرية نفس العمق التحليلي الذي تتمتع به فرق التمويل والمبيعات لسنوات - رؤية عدد الموظفين في الوقت الفعلي، وحسابات معدل دوران الموظفين الآلية، وتحليلات التنوع، وتتبع دورة حياة الموظف عبر رحلة الموظف الكاملة بدءًا من التوظيف وحتى رحيل الموظفين.
ينشئ هذا الدليل نظامًا أساسيًا كاملاً لتحليلات الموارد البشرية في Power BI، ويغطي نموذج البيانات، وكل مؤشرات الأداء الرئيسية المهمة للموارد البشرية مع صيغة DAX الخاصة بها، وصفحات لوحة المعلومات التي تقود قرارات القوى العاملة الحقيقية.
الوجبات الرئيسية
- تتطلب تحليلات الموارد البشرية اتباع نهج البعد المتغير ببطء (SCD) لعدد الموظفين التاريخي
- حساب معدل الدوران يجب أن يميز بين حالات الانفصال الطوعي وغير الطوعي
- تتطلب لوحات معلومات التنوع تصميمًا دقيقًا للخصوصية - بشكل إجمالي، وليس على المستوى الفردي أبدًا عندما يكون ذلك غير مناسب
- يتتبع تحليل دورة حياة الموظف منحنيات وقت التوظيف ووقت الإنتاجية والاحتفاظ
- تتكامل تحليلات الغياب (معامل برادفورد، تكرار الغياب) مع بيانات الرواتب
- تعتبر مقاييس DAX لعدد الموظفين لحظية (غير مجمعة) — تتطلب أنماط حسابية خاصة
- تحتوي أنظمة HRIS (Workday، وSAP SuccessFactors، وBambooHR) على موصلات Power BI
- يجب أن يقتصر الأمان على مستوى الصف على شركاء الأعمال ومديري الموارد البشرية المعتمدين
نموذج البيانات لتحليلات الموارد البشرية
جداول الموارد البشرية الأساسية
Employee_Snapshot (تتغير ببطء، صف واحد لكل موظف شهريًا):
| العمود | الوصف |
|---|---|
EmployeeID | معرف الموظف |
SnapshotDate | تاريخ نهاية الشهر لللقطة |
Status | نشط، في إجازة، منتهٍ |
DepartmentID | FK إلى القسم |
JobLevel | الصف/النطاق (L1-L8) |
JobTitle | المسمى الوظيفي الحالي |
ManagerID | FK للموظف (المدير) |
LocationID | FK إلى الموقع |
HireDate | تاريخ الاستئجار الأصلي |
TerminationDate | تاريخ الإنهاء (خالي إذا كان نشطًا) |
TerminationReason | طوعي، غير طوعي، تقاعد، الخ. |
BaseSalary | الراتب الأساسي الشهري |
FullTimeEquivalent | 1.0 للقدم، 0.5 للـ PT |
Gender | M/F/غير ثنائي (مجهول للمجموعات الصغيرة) |
AgeGroup | النطاق العمري المجمع (وليس العمر الأولي) |
Ethnicity | المجموعة العرقية المبلغ عنها ذاتيا |
TenureMonths | الأشهر المستخدمة في تاريخ اللقطة |
Hiring_Events (صف واحد لكل استئجار):
HireID،EmployeeID،ApplicationDate،OfferDate،AcceptDate،StartDate،DepartmentID،SourceChannel،HiringManagerID،JobRequisitionID
Absence_Records (صف واحد لكل حدث غياب):
AbsenceID،EmployeeID،StartDate،EndDate،DaysAbsent،AbsenceType،Reason،ApprovalStatus
مراجعات_الأداء (صف واحد لكل مراجعة):
ReviewID،EmployeeID،ReviewDate،PerformanceRating،ManagerID
إكمالات_التدريب (صف واحد لكل تدريب):
TrainingID،EmployeeID،CompletionDate،ProgramName،HoursCompleted
تحليلات عدد الموظفين
حساب عدد الموظفين في الوقت المحدد
عدد الموظفين هو مقياس لقطة (عدد الموظفين الموجودين في وقت ما)، وليس مجموعًا. يتطلب هذا معالجة DAX خاصة:
// Headcount at any selected date
Headcount =
CALCULATE(
COUNTROWS(Employee_Snapshot),
Employee_Snapshot[Status] = "Active",
// Use the latest available snapshot for the selected period
Employee_Snapshot[SnapshotDate] = MAX(Employee_Snapshot[SnapshotDate])
)
// FTE-adjusted Headcount
FTE Headcount =
CALCULATE(
SUMX(
FILTER(Employee_Snapshot, Employee_Snapshot[Status] = "Active"),
Employee_Snapshot[FullTimeEquivalent]
),
Employee_Snapshot[SnapshotDate] = MAX(Employee_Snapshot[SnapshotDate])
)
// Headcount by Department (for matrix/bar chart)
Dept Headcount =
CALCULATE(
[Headcount],
ALLEXCEPT(Employee_Snapshot, Employee_Snapshot[DepartmentID])
)
// Headcount growth (vs prior month)
Headcount MoM Change =
[Headcount] -
CALCULATE(
[Headcount],
DATEADD(Date[Date], -1, MONTH)
)
// Headcount trend (for sparkline or line chart)
Headcount Trend =
CALCULATE(
[Headcount],
REMOVEFILTERS(Date[Month])
)
تحليلات معدل الدوران
معدل الدوران هو مقياس الموارد البشرية الأكثر تتبعًا والأكثر خطأً في الحساب. تستخدم الصيغة الصحيحة متوسط عدد الموظفين كمقام (ليس بداية أو نهاية عدد الموظفين).
مؤشرات الأداء الرئيسية للدوران
// Total Terminations in Period
Terminations =
CALCULATE(
COUNTROWS(Employee_Snapshot),
Employee_Snapshot[Status] = "Terminated",
Employee_Snapshot[TerminationDate] >= MIN(Date[Date]),
Employee_Snapshot[TerminationDate] <= MAX(Date[Date])
)
// Voluntary Terminations (resigned)
Voluntary Terminations =
CALCULATE(
[Terminations],
Employee_Snapshot[TerminationReason] = "Voluntary"
)
// Involuntary Terminations (laid off, fired)
Involuntary Terminations =
CALCULATE(
[Terminations],
Employee_Snapshot[TerminationReason] = "Involuntary"
)
// Average Headcount (for turnover denominator)
Avg Headcount =
AVERAGEX(
VALUES(Date[Month]),
[Headcount]
)
// Annualized Turnover Rate
Turnover Rate =
DIVIDE(
[Terminations],
[Avg Headcount],
0
) * 12 -- Annualize if showing monthly data
// Voluntary Turnover Rate
Voluntary Turnover Rate =
DIVIDE([Voluntary Terminations], [Avg Headcount], 0) * 12
// Regrettable Turnover (voluntary + high performers)
Regrettable Turnover =
CALCULATE(
[Voluntary Terminations],
RELATED(Performance_Reviews[PerformanceRating]) >= 4 -- High performers
)
// Retention Rate
Retention Rate = 1 - [Turnover Rate]
// New Hire Survival Rate (% of new hires still employed after 90 days)
90 Day Survival Rate =
DIVIDE(
CALCULATE(
COUNTROWS(Hiring_Events),
DATEDIFF(Hiring_Events[StartDate], TODAY(), DAY) >= 90,
RELATED(Employee_Snapshot[Status]) = "Active"
),
CALCULATE(
COUNTROWS(Hiring_Events),
DATEDIFF(Hiring_Events[StartDate], TODAY(), DAY) >= 90
),
0
)
مقاييس التنوع والإنصاف والشمول
تحليلات DEI المدركة للخصوصية
يجب تنفيذ تحليلات DEI باستخدام حواجز حماية الخصوصية - لا تعرض أبدًا البيانات على المستوى الفردي حسب السمات الحساسة، وتمنع البيانات للمجموعات الأصغر من الحد الأدنى القابل للتكوين (عادةً 5-10 موظفين).
// Gender ratio (with suppression for small groups)
Gender Ratio Female =
VAR FemaleCount = CALCULATE([Headcount], Employee_Snapshot[Gender] = "Female")
VAR TotalCount = [Headcount]
RETURN
IF(TotalCount >= 10, DIVIDE(FemaleCount, TotalCount, 0), BLANK())
// Pay equity ratio (female to male)
Gender Pay Ratio =
VAR FemalePay = CALCULATE(
AVERAGE(Employee_Snapshot[BaseSalary]),
Employee_Snapshot[Gender] = "Female"
)
VAR MalePay = CALCULATE(
AVERAGE(Employee_Snapshot[BaseSalary]),
Employee_Snapshot[Gender] = "Male"
)
RETURN DIVIDE(FemalePay, MalePay, 0)
// Leadership diversity (% of senior roles filled by underrepresented groups)
Leadership Diversity % =
DIVIDE(
CALCULATE(
[Headcount],
Employee_Snapshot[JobLevel] IN {"L6","L7","L8"},
Employee_Snapshot[Gender] = "Female"
),
CALCULATE(
[Headcount],
Employee_Snapshot[JobLevel] IN {"L6","L7","L8"}
),
0
)
مؤشرات الأداء الرئيسية للوحة تحكم DEI
| مؤشرات الأداء الرئيسية | صيغة | الهدف |
|---|---|---|
| التوازن بين الجنسين | الإناث % من إجمالي عدد الموظفين | 50% ± 5% |
| فجوة الأجور بين الجنسين | متوسط راتب الإناث / متوسط راتب الذكور | > 97% |
| التنوع القيادي | المجموعات الممثلة تمثيلا ناقصا في الأدوار العليا | > 30% |
| معدل توظيف متنوع | توظيفات متنوعة / إجمالي التعيينات | > 40% |
| تعزيز الأسهم | معدل الترقية حسب الجنس/العرق | ± 2% بين المجموعات |
تحليل دورة حياة الموظف
وقت الاستئجار
// Average days from job posting to offer acceptance
Avg Time to Hire =
AVERAGEX(
Hiring_Events,
DATEDIFF(
Hiring_Events[ApplicationDate],
Hiring_Events[AcceptDate],
DAY
)
)
// Offer Acceptance Rate
Offer Acceptance Rate =
DIVIDE(
CALCULATE(COUNTROWS(Hiring_Events), Hiring_Events[AcceptDate] <> BLANK()),
CALCULATE(COUNTROWS(Hiring_Events), Hiring_Events[OfferDate] <> BLANK()),
0
)
// Source Channel Effectiveness (hired employees by source)
Source Hire Rate =
DIVIDE(
COUNTROWS(Hiring_Events),
CALCULATE(
COUNTROWS(Hiring_Events),
REMOVEFILTERS(Hiring_Events[SourceChannel])
),
0
)
توزيع الحيازة
// Tenure bucket (for histogram)
Tenure Bucket =
SWITCH(TRUE(),
Employee_Snapshot[TenureMonths] < 3, "0-3 months",
Employee_Snapshot[TenureMonths] < 12, "3-12 months",
Employee_Snapshot[TenureMonths] < 24, "1-2 years",
Employee_Snapshot[TenureMonths] < 60, "2-5 years",
Employee_Snapshot[TenureMonths] < 120, "5-10 years",
"10+ years"
)
// Average Tenure at Separation
Avg Tenure at Separation =
AVERAGEX(
FILTER(Employee_Snapshot, Employee_Snapshot[Status] = "Terminated"),
Employee_Snapshot[TenureMonths]
)
تحليلات الغياب
غياب مؤشرات الأداء الرئيسية
// Absence Rate (% of working days lost)
Absence Rate =
DIVIDE(
SUM(Absence_Records[DaysAbsent]),
[Headcount] * NETWORKDAYS(MIN(Date[Date]), MAX(Date[Date])),
0
)
// Bradford Factor (frequency-weighted absence score)
// B = S² × D (S = absence episodes, D = total days)
Bradford Factor =
VAR Spells = COUNTROWS(Absence_Records)
VAR Days = SUM(Absence_Records[DaysAbsent])
RETURN Spells * Spells * Days
// Average Absence Days per Employee
Avg Absence Days =
DIVIDE(SUM(Absence_Records[DaysAbsent]), [Headcount], 0)
// Absence by Type (breakdown)
Medical Absence Days =
CALCULATE(
SUM(Absence_Records[DaysAbsent]),
Absence_Records[AbsenceType] = "Medical"
)
بنية لوحة تحكم الموارد البشرية المكونة من 5 صفحات
الصفحة 1: نظرة عامة على القوى العاملة
- بطاقة KPI لعدد الموظفين (الحالية مقابل العام السابق)
- عدد الموظفين FTE (الفعلي مقابل الهدف)
- عدد الموظفين حسب القسم (مخطط شريطي)
- اتجاه عدد الموظفين 12 شهرًا (مخطط خطي)
- التعيينات الجديدة مقابل إنهاء الخدمة (مخطط شريطي الفراشة/المقارنة)
- خريطة عدد الموظفين الجغرافية
الصفحة 2: تحليل دوران
- معدل الدوران السنوي (المقياس مقابل معيار الصناعة)
- طوعي مقابل غير طوعي (مخطط دائري)
- معدل الدوران حسب القسم (مخطط شريطي مصنف، الأعلى أولاً)
- معدل الدوران حسب نطاق الحيازة (الرسم البياني)
- اتجاه دوران 24 شهرا (الرسم البياني الخطي)
- تفصيل سبب الخروج (الخريطة الهيكلية)
الصفحة 3: اكتساب المواهب
- اتجاه وقت التوظيف (مخطط خطي حسب الشهر)
- معدل قبول العرض (بطاقة KPI)
- التعيينات حسب قناة المصدر (مخطط شريطي)
- الطلبات المفتوحة حسب القسم (الجدول)
- مسار التوظيف (من التطبيقات إلى البداية)
- تكلفة الاستئجار حسب القسم
الصفحة 4: التنوع والشمول
- التوازن بين الجنسين حسب المستوى (مخطط شريطي مكدس)
- فجوة الأجور بين الجنسين حسب الإدارة (مخطط شريطي)
- اتجاه معدل التوظيف المتنوع (مخطط خطي)
- معدل الترويج حسب الجنس (شريط مجمع)
- مؤشر تنوع الفريق من قبل المدير
الصفحة 5: الغياب والرفاهية
- معدل الغياب حسب القسم (الخريطة الحرارية)
- توزيع معامل برادفورد
- الغياب بسبب (مخطط دائري)
- اتجاه الغياب (مخطط خطي مدته 12 شهرًا)
- مخطط مبعثر لعلاقات الغياب مقابل الأداء
الأسئلة المتداولة
كيف يمكنني توصيل Power BI بـ Workday أو SAP SuccessFactors؟
يوفر Workday وحدة Prism Analytics وREST API التي يمكن لـ Power BI الاتصال بها عبر موصل الويب باستخدام مصادقة OAuth. يكشف SAP SuccessFactors عن واجهات برمجة تطبيقات OData لبيانات الموظفين. بالنسبة لكلا النظامين، فإن البنية الموصى بها للمؤسسات الكبيرة هي: HRIS → خط أنابيب Fivetran أو Talend → Snowflake/Azure Synapse → Power BI. يؤدي هذا إلى فصل الطبقة التحليلية عن نظام معلومات الموارد البشرية (HRIS) وتجنب مشكلات حدود معدل واجهة برمجة التطبيقات (API).
كيف يمكنني حماية بيانات الموظفين الحساسة في Power BI؟
تطبيق طبقات متعددة من الحماية: يعمل الأمان على مستوى الصف على تقييد بيانات الموظفين التي يراها كل عارض (على سبيل المثال، يرى المديرون تقاريرهم المباشرة فقط، ويرى HRBP وحدات الأعمال المخصصة لهم). قم بتطبيق تسميات حساسية حماية المعلومات لـ Microsoft على مجموعات البيانات التي تحتوي على بيانات شخصية. لا تعرض أبدًا بيانات الرواتب على مستوى الموظف الفردي في لوحات المعلومات المشتركة. بالنسبة لتحليلات التنوع، قم بمنع المقاييس للمجموعات الأصغر من 10 موظفين. تأكد من أن سياسة خصوصية البيانات في مؤسستك تسمح صراحةً باستخدام People Analytics.
ما الفرق بين عدد الموظفين وFTE؟
يحسب عدد الموظفين الموظفين بغض النظر عن ساعات عملهم (يتم حساب الموظف بدوام جزئي على أنه 1). يتم أوزان FTE (ما يعادل الدوام الكامل) حسب ساعات العمل - يتم احتساب الموظف بدوام جزئي بنسبة 50٪ على أنه 0.5 FTE. استخدم عدد الموظفين للأعداد المطلقة للموظفين (على سبيل المثال، "لدينا 500 موظف"). استخدم FTE لتخطيط السعة ونمذجة التكلفة (على سبيل المثال، "لدينا سعة تبلغ 430 FTE"). كلا الإجراءين مهمان ويخدمان أغراضًا مختلفة.
كيف أحسب معدل الدوران بشكل صحيح؟
معدل الدوران = (عدد فترات انتهاء الخدمة / متوسط عدد الموظفين) × 100. المفتاح هو المقام - استخدم متوسط عدد بداية ونهاية عدد الموظفين للفترة، وليس فقط عدد الموظفين في النهاية. بالنسبة إلى معدل دوران الموظفين لمدة 12 شهرًا، قم بجمع آخر 12 شهرًا من فترات انتهاء الخدمة وتقسيمها على متوسط عدد الموظفين لمدة 12 شهرًا. تستخدم العديد من المؤسسات بشكل غير صحيح عدد الموظفين النهائي، مما يؤدي إلى تضخيم معدل الدوران في المؤسسات المتنامية.
هل يمكن لـ Power BI إظهار مخاطر الاستنزاف التنبؤية للموظفين الأفراد؟
مع تكامل Azure Machine Learning، نعم. أنشئ نموذجًا للتنبؤ بالتناقص في Azure ML باستخدام الميزات التاريخية (المدة، وتقييم الأداء، ونقاط المشاركة، وتاريخ الترقية الأخير، والراتب مقابل السوق، وتقييم المدير) وإخراج درجة احتمالية التناقص لكل موظف حالي. قم بتوصيل هذه النتيجة بـ Power BI واعرضها في لوحة معلومات المدير التي توضح مخاطر رحلة الفريق - مما يسمح بمحادثات الاحتفاظ الاستباقية قبل استقالة الموظفين.
الخطوات التالية
توفر تحليلات الموارد البشرية في Power BI للقادة نفس عملية اتخاذ القرار المستندة إلى البيانات والتي كانت لدى فرق التمويل والمبيعات لسنوات. إن فهم من سيغادر، ولماذا، ومن أي فريق، وفي أي مدة يمنح الموارد البشرية رؤية للتدخل مبكرًا والاحتفاظ بالمواهب الأكثر أهمية.
يقوم فريق Power BI التابع لـ ECOSIRE ببناء منصات كاملة لتحليلات الموارد البشرية - بدءًا من تصميم خطوط بيانات HRIS إلى لوحات معلومات People Analytics التفاعلية مع عناصر التحكم المناسبة في الخصوصية والوصول المستند إلى الأدوار.
استكشف خدمات تطوير لوحة معلومات Power BI لفهم نهج تحليلات الموارد البشرية لدينا، أو اتصل بفريقنا لمناقشة متطلبات تحليلات القوى العاملة ومصادر البيانات لديك.
بقلم
ECOSIRE Research and Development Team
بناء منتجات رقمية بمستوى المؤسسات في ECOSIRE. مشاركة رؤى حول تكاملات Odoo وأتمتة التجارة الإلكترونية وحلول الأعمال المدعومة بالذكاء الاصطناعي.
مقالات ذات صلة
Building Financial Dashboards with Power BI
Step-by-step guide to building financial dashboards in Power BI covering data connections to accounting systems, DAX measures for KPIs, P&L visualisations, and best practices.
Case Study: Power BI Analytics for Multi-Location Retail
How a 14-location retail chain unified their reporting in Power BI connected to Odoo, replacing 40 spreadsheets with one dashboard and cutting reporting time by 78%.
The Future of Work: AI-Augmented Workforce in 2026-2030
A grounded analysis of how AI is reshaping work from 2026-2030—what jobs change, what skills matter, how organizations adapt, and what workers and leaders should do now.