محتويات الدورة

Power BI / متوسط: السياق والجودة والوصول / الدرس 9

جداول التاريخ والمقارنات الزمنية

أنشئ عقد تقويم صريحا وفسر المقاييس التراكمية والفترات السابقة بافتراضات اكتمال التاريخ وتقويم العمل.

وقت القراءة التقريبي: 5 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • التحقق من تفرد مفتاح التاريخ وتغطيته ومعنى علاقته.
  • تمييز افتراضات الذكاء الزمني القائم على التقويم والكلاسيكي.
  • شرح نطاق التراكمي السنوي ومقارنة الفترات الناقصة.

حدد بعد التاريخ

يعطي جدول تاريخ مشترك عدة جداول وقائع تقويما واحدا متسقا للتصفية والتجميع. يضم عادة صفا لكل يوم ومفتاحا واضحا ذا نوع صحيح وسمات فترات مفيدة وترتيب فرز مقصودا. تحقق من تفرد التواريخ وعدم فراغها وتتابعها وتغطية سنوات كاملة مناسبة. لا تنشئ التقويم من الأيام التي حدثت فيها مبيعات فقط، لأن الأيام بلا بيع جزء من الزمن أيضا. تستخدم الأمثلة سنوات تقويمية ومفاتيح طلب بلا جزء وقت. يحتاج التقويم المالي أو تحويل الوقت المحلي عقدا صريحا مستقلا، لا مجرد إعادة تسمية الشهر.

حدد نمط الذكاء الزمني

توثق Microsoft الذكاء الزمني القائم على التقويم والذكاء الزمني الكلاسيكي، ولكل منهما اعتبارات إعداد مختلفة. يوضح هذا الدرس عمدا نهج عمود التاريخ الكلاسيكي مع جدول Date معلم بصورة صحيحة؛ ولا يدعي انطباق شروطه بالطريقة نفسها على كل ميزة قائمة على التقويم. يعرف المقطع تقويم 2026 كاملا ومقياسا تراكميا سنويا مع افتراض علاقة فعالة من Date إلى OrderDate. تعريف الجدول المحسوب وتعريف المقياس كائنان منفصلان وإن عرضا معا للمراجعة. لا يبنيهما أو يقيمهما محرك DAX هنا، ويجب فحص الميزة في نسخة Desktop والنموذج الفعليين.

dax مثال تراكمي كلاسيكي بعمود تاريخ
Date = CALENDAR(DATE(2026, 1, 1), DATE(2026, 12, 31))
Revenue YTD = CALCULATE([Revenue], DATESYTD('Date'[Date]))

افترض تعليم Date كما يلزم وربطه بـFactSales[OrderDate]. بإيراد40 في1 يناير و30 في2 يناير يكون التراكمي المقصود عند2 يناير70. التعريفات غير منفذة.

افصل قيمة الفترة والتراكم

تجيب قيمة الإيراد اليومي عما حدث في ذلك اليوم، بينما تشمل القيمة التراكمية السنوية التواريخ السابقة ذات الصلة داخل السنة وفق عقدها. يؤدي جمع صفوف YTD الظاهرة إلى عد الإيراد السابق مرارا. في سياق الإجمالي يعاد تقييم المقياس، ولا يلزم جمع تلك الخلايا التراكمية. يعرض البرنامج الثاني يوميا قدره 30 مقابل تراكم 70 لليوم الافتراضي الثاني. إنه نموذج حساب تقويم مستقل، لا إعادة تنفيذ DATESYTD. احفظ هذه النتائج المتوقعة قبل إضافة مقارنة سنة سابقة أو قواعد تقويم مالي معقدة.

python مرجع اليومي والتراكمي
from datetime import date
revenue = {date(2026, 1, 1): 40, date(2026, 1, 2): 30}
cutoff = date(2026, 1, 2)
print(revenue[cutoff])
print(sum(value for day, value in revenue.items() if day.year == cutoff.year and day <= cutoff))
الناتج المتوقع
30
70

30 لليوم المحدد و70 للمبلغ التراكمي في النموذج. لا ينفذ جدول تاريخ أو دالة DAX.

قارن فترات متماثلة

الشهر الحالي الذي لم تحمل منه إلا يومان لا يقارن تلقائيا بشهر سابق أو سنة سابقة كاملين. عرف هل تستخدم المقارنة أيام انقضاء متماثلة أو فترات مكتملة أو حدا آخر معتمدا. قد تغير حداثة التحديث والوقائع المتأخرة الاتجاه الظاهر. لا يشرح slicer التاريخ هذه السياسات وحده. ميز أيضا تاريخ الطلب من الشحن؛ فقد تنتمي المعاملة نفسها إلى فترات مختلفة بحسب السؤال. سم الدور في المقاييس، وتحقق بمعاملة يختلف تاريخاها، كيلا يغير اختيار العلاقة معنى العمل بصمت.

راجع حدود التقويم

أدرج يوما بلا بيع وحد السنة وحالة سنة كبيسة حيث تلزم وفترة ناقصة ودوري تاريخ. أكد أن مدى التقويم يغطي الوقائع والمقارنات المطلوبة معا. لا يعني تنسيق timestamp كتاريخ إزالة عنصر الوقت منه بالضرورة عند مطابقة العلاقة؛ جهز المفتاح المقصود. ينفذ المسار مرجع اليومين فقط، ولا يدعي تعليم الجدول الفعلي أو سلوك المحرك أو حداثة الخدمة. يسمي سجل المراجعة نظام التقويم ودور التاريخ وافتراضات النمط وحد الاكتمال والنتيجة التراكمية المتوقعة لكل حالة، قبل توزيع التقرير.

الأخطاء الشائعة وإصلاحها

استبعاد الأيام بلا مبيعات من جدول التاريخ

لماذا يحدث؟
حلت تواريخ الوقائع محل عقد اكتمال التقويم.
كيف تصلحه؟
استخدم نطاق تقويم كاملا مدعوما وافحص الفجوات.
كيف تتجنب تكراره؟
احتفظ بحالة يوم بلا مبيعات.

جمع قيم التراكمي الظاهرة كمبالغ يومية مستقلة

لماذا يحدث؟
أُهمل تداخل التراكم.
كيف تصلحه؟
قيم سياق الإجمالي المقصود واشرح الشمول المتكرر.
كيف تتجنب تكراره؟
قارن اليومي والتراكمي المتوقعين معا.

ظهور انهيار فترة حالية ناقصة مقابل سابقة كاملة

لماذا يحدث؟
لم يحدد اكتمال الفترة وحد البيانات.
كيف تصلحه؟
طبق قاعدة الفترات المتماثلة وأظهر الحداثة.
كيف تتجنب تكراره؟
وثق سياسة الحد مع المقياس.

اختبر فهمك

1. لماذا يوجد يوم بلا بيع في Date رغم غياب صفه في FactSales؟

اعرض الحل المشروح

يمثل التقويم الزمن، لا المعاملات المرصودة فقط. يدعم تتابعه التجميع والسلوك الزمني المعرف، ثم يمكن أن يبقى غياب الوقائع حالة لا حدث ذات معنى. ابن بعد التاريخ كاملا وتحقق منه تحت النمط المختار، بدلا من اشتقاق اكتماله من نشاط المبيعات. بذلك لا يختفي يوم من التسلسل لمجرد أنه لم ينتج صف بيع.

2. اليومي في2 يناير30 والتراكمي70. لماذا يضلل جمع تراكمي1 يناير40 مع70؟

اعرض الحل المشروح

تضم YTD ليوم 2 يناير بالفعل مبلغ 40 من يوم 1 يناير. لذلك يكرره الجمع ويعطي 110، بينما يبقى التراكمي المقصود حتى اليوم الثاني 70. عرف سؤال الإجمالي بصورة منفصلة، ودع المقياس يقيم سياق التاريخ المناسب. لا تعامل خلايا تراكمية متداخلة على أنها وقائع مستقلة قابلة للجمع؛ فكل خلية تصف نافذة تشمل جزءا من سابقتها.

أهم ما تعلمته

  • يحدد اكتمال التقويم ودور التاريخ وافتراض النمط المقارنة الزمنية.
  • تحتاج القيم التراكمية والفترات الناقصة تفسيرا صريحا.

المراجع الرسمية