3.2 · ذكاء الوقت (Time Intelligence): التراكمات (YTD) ومقارنة N-1

المستوى 3 · التحليل المتقدم

3.2ذكاء الوقت (Time Intelligence): التراكمات (YTD) ومقارنة N-1

الهدف: بناء رباعي القيادة (رقم الأعمال YTD، ورقم أعمال N-1، والتطور بالقيمة وبالنسبة %) ووضعه في مصفوفة زمنية تجيب الإدارة بنظرة واحدة.
الوقت المقدّر: 22 دقيقة · قراءة ذاتية · إذا كان لديك 5 دقائق فقط: اقرأ «الأساسي في 30 ثانية» + المخطط.

الأساسي في 30 ثانية

  • السؤال الأول لأي إدارة — «أين نحن مقارنة بالعام الماضي؟» — يُجاب عنه بثلاث دوال: TOTALYTD (التراكم)، وSAMEPERIODLASTYEAR (الفترة نفسها N-1)، وDATEADD (الإزاحة العامة).
  • شرط مسبق مطلق: جدول التواريخ المميز — فبدونه تُعيد هذه الدوال نتائج خاطئة، خصوصًا التراكم والمقارنة.
  • يُعبّر عن التطور دائمًا بالقيمة وبالنسبة %: ويسير المقياسان زوجًا، ويشكّلان معًا رباعي القيادة.

حالة مصغّرة متسلسلة — زينب تجيب الإدارة بنظرة واحدة

تسأل إدارة المؤسسة الغذائية التي تعمل بها زينب كل اثنين: «أين نحن مقارنة بالعام الماضي؟». بدل إعادة الحساب يدويًا، تطبّق زينب القسم: تتحقق أولًا من أن جدول التواريخ مميز جيدًا (شرط مسبق مطلق)، ثم تبني الرباعي — CA YTD = TOTALYTD([Total CA]; Dates[Date]) للتراكم منذ يناير، وCA N-1 = CALCULATE([Total CA]; SAMEPERIODLASTYEAR(Dates[Date])) للفترة نفسها قبل سنة، ثم التطور بالقيمة وبالنسبة %. تضعها في مصفوفة الشهر × 4 مقاييس: فتتسع إجابة الإدارة في مرئي واحد، ويتصاعد التراكم قبل أن ينطلق من جديد في يناير.

حالة قائمة بذاتها لهذا القسم: تعود في الدرس والمخطط والنصّ البرمجي وتحدي 48 ساعة للقسم 3.2.

1. الدوال الثلاث الرائدة

يجيب ذكاء الوقت (Time Intelligence) في DAX عن السؤال الأول لأي إدارة بثلاث دوال: TOTALYTD (التراكم منذ بداية السنة)، وSAMEPERIODLASTYEAR (الفترة نفسها قبل سنة)، وDATEADD (الإزاحة العامة، أكثر مرونة). وهي لا تحسب «بنفسها» أبدًا: إنما تُزيح فترة في الزمن.

2. الشرط المسبق غير القابل للتفاوض

شرط مسبق مطلق: جدول التواريخ المميز بوصفه جدول تواريخ. فبدونه تكذب هذه الدوال — ورقم أعمال N-1 فارغ أو تراكم خاطئ يأتي دائمًا تقريبًا من هناك. تتحقق زينب من هذا الضبط قبل أن تشك في صيغتها.

3. رباعي القيادة

نجمع الرباعي المعياري لأي تقرير إداري: رقم الأعمال YTD، ورقم أعمال N-1، والتطور بالقيمة والتطور بالنسبة %. تُبنى هذه المقاييس مرة واحدة بإتقان وتُنسخ من نموذج إلى نموذج. ويُعبّر عن التطور دائمًا بالقيمة وبالنسبة %: فالاثنان يسيران زوجًا.

خطأ شائع في الفهم: «ذكاء الوقت سحر: أكتب TOTALYTD فيعمل دون أي تحضير؛ ويمكن أن يبقى التطور بالقيمة وحدها، ويأتي N-1 صحيحًا حتى دون سجل تاريخي.» لا، ثلاثة أخطاء. بدون جدول تواريخ مميز، تكذب TOTALYTD وSAMEPERIODLASTYEAR — وهذا هو الشرط المسبق المطلق. ويُعبّر عن التطور بالقيمة وبالنسبة %: فالقيمة وحدها لا تقول الحجم النسبي. ورقم أعمال N-1 الفارغ يكون غالبًا طبيعيًا عندما لا يغطي السجل السنة السابقة — نتحقق من الجدول، ثم العلاقة، ثم السجل، بهذا الترتيب.
رباعي القيادة نراكم، نقارن، نقيس الفارق: الرباعي الذي يجيب عن «أين نحن؟». رقم الأعمال YTD TOTALYTD([TotalCA]; Dates[Date])رقم أعمال N-1 SAMEPERIODLASTYEARالتطور القيمة ثمالنسبة % (DIVIDE)
نراكم، نقارن، نقيس الفارق: الرباعي الذي يجيب عن «أين نحن؟».
نص المخطط (SEO / قارئات الشاشة / الترجمة): 1) تجيب زينب، مراقبة التسيير بالجزائر، عن سؤال الإدارة: «أين نحن مقارنة بالعام الماضي؟». 2) تتحقق من الشرط المسبق — جدول التواريخ المميز — ثم تبني CA YTD = TOTALYTD([Total CA]; Dates[Date]) للتراكم السنوي وCA N-1 = CALCULATE([Total CA]; SAMEPERIODLASTYEAR(Dates[Date])) للفترة نفسها قبل سنة. 3) تكمل التطور بالقيمة ([Total CA] - [CA N-1]) وبالنسبة % (DIVIDE الفارق على [CA N-1])، ثم تضع الكل في مصفوفة الشهر × 4 مقاييس. الدرس: يرتكز ذكاء الوقت دائمًا على جدول التواريخ المميز، ويسير التطور زوجًا: قيمة + نسبة %.

🔎 مثال ملموس — 🔎 مثال ملموس — المقاييس الزمنية

الرباعي المعياري، قابل لإعادة الاستعمال على كل نماذج زينب:

CA YTD  = TOTALYTD([Total CA]; Dates[Date])
CA N-1  = CALCULATE([Total CA]; SAMEPERIODLASTYEAR(Dates[Date]))
Evol    = [Total CA] - [CA N-1]
Evol %  = DIVIDE([Total CA] - [CA N-1]; [CA N-1])   // نسبة %

القراءة: تتراكم TOTALYTD منذ يناير وتنطلق من الصفر في بداية السنة؛ وتُزيح SAMEPERIODLASTYEAR الحساب سنة إلى الوراء.

الدرس: تعطي DIVIDE([Total CA] - [CA N-1]; [CA N-1]) الفارق النسبي — ويسير التطور زوجًا: قيمة + نسبة %.

مفردات القسم

ذكاء الوقت (Time Intelligence)
عائلة دوال DAX التي تعالج الفترات (التراكمات والإزاحات والمقارنات)، وكلها مستندة إلى جدول التواريخ.

مثال بسيط: تلجأ إليها زينب للتراكم السنوي ومقارنة N-1 في المؤسسة.

ما ليس كذلك: مجرد مرشح تواريخ موضوع يدويًا على مرئي.

رد فعل: مقارنة فترات ← ذكاء الوقت.

TOTALYTD
التراكم السنوي منذ بداية السنة: TOTALYTD([Total CA]; Dates[Date]).

مثال بسيط: تتابع زينب رقم الأعمال المتراكم منذ يناير للإدارة.

ما ليس كذلك: رقم أعمال الشهر وحده، دون تراكم.

رد فعل: تراكم سنوي ← TOTALYTD.

SAMEPERIODLASTYEAR
الفترة نفسها قبل سنة: CALCULATE([Total CA]; SAMEPERIODLASTYEAR(Dates[Date])).

مثال بسيط: تقارن زينب الشهر الجاري بالشهر نفسه من العام الماضي.

ما ليس كذلك: فترة عشوائية دون مرجع زمني.

رد فعل: مقارنة N-1 ← SAMEPERIODLASTYEAR.

DATEADD
الإزاحة العامة: DATEADD(Dates[Date]; -1; MONTH) للشهر السابق — أكثر مرونة من الدوال المخصصة.

مثال بسيط: تستخدمها زينب لإزاحة على المقاس.

ما ليس كذلك: دالة ثابتة على نوع واحد من الفترات.

رد فعل: إزاحة على المقاس ← DATEADD.

تطور N-1
الثنائي النهائي: Evol = [CA] - [CA N-1] وEvol % = DIVIDE([CA] - [CA N-1]; [CA N-1]).

مثال بسيط: تعرض زينب الفارق بالقيمة وبالنسبة % جنبًا إلى جنب.

ما ليس كذلك: تطور بالقيمة وحدها، دون حجم نسبي.

رد فعل: دائمًا قيمة و نسبة %.

في التطبيق — تطبيق عملي — رباعي القيادة

  1. أنشئ CA YTD = TOTALYTD([Total CA]; Dates[Date]) وتحقق في مصفوفة الشهر × المقاييس: يتصاعد التراكم ثم ينطلق من جديد في يناير، كما عند زينب.
  2. أنشئ CA N-1 = CALCULATE([Total CA]; SAMEPERIODLASTYEAR(Dates[Date])) (يتطلب سجلًا على سنتين — ضاعف المبيعات مزاحة بسنة في CSV عند الحاجة).
  3. أكمل Évol % = DIVIDE([Total CA] - [CA N-1]; [CA N-1]) بالتنسيق %.
  4. ركّب مصفوفة القيادة: الشهر في السطور، والمقاييس الأربعة في القيم — فتتسع إجابة «أين نحن؟» في مرئي واحد.
المقاييس الزمنية المعيارية لأي لوحة قيادة إدارية — قابلة لإعادة الاستعمال في كل نماذجك المقبلة.

نصّ خطوة بخطوة — رباعي زينب (10 دقائق)

1) تحقق من أن جدول التواريخ مميز بوصفه جدول تواريخ (أدوات الجدول). 2) أنشئ CA YTD = TOTALYTD([Total CA]; Dates[Date]). 3) أنشئ CA N-1 = CALCULATE([Total CA]; SAMEPERIODLASTYEAR(Dates[Date])). 4) أضف Evol = [Total CA] - [CA N-1] وEvol % = DIVIDE([Total CA] - [CA N-1]; [CA N-1]) بالنسبة %. 5) ضع الشهر في السطور والمقاييس الأربعة في القيم: اقرأ إجابة الإدارة بنظرة واحدة.

رقم أعمال N-1 فارغ؟ تحقق بهذا الترتيب: جدول التواريخ المميز، وعلاقة نشطة على العمود الصحيح، وسجل يغطي السنة السابقة.

نموذج للنسخ واللصق — الرباعي الزمني

CA YTD  = TOTALYTD([Total CA]; Dates[Date])
CA N-1  = CALCULATE([Total CA]; SAMEPERIODLASTYEAR(Dates[Date]))
Evol    = [Total CA] - [CA N-1]
Evol %  = DIVIDE([Total CA] - [CA N-1]; [CA N-1])   // %

شرط مسبق: جدول تواريخ مميز. منعكس: التطور = قيمة + نسبة %.

التراكم السنوي

تتابع زينب رقم الأعمال المتراكم منذ يناير (TOTALYTD): يتصاعد المنحنى ثم ينطلق من جديد مع كل سنة جديدة.

الشهر نفسه N-1

تقارن زينب الشهر الجاري بالشهر نفسه قبل سنة (SAMEPERIODLASTYEAR) لتلطيف الموسمية.

الشهر السابق

تُزيح زينب شهرًا بـ DATEADD لمتابعة الاتجاه قصير المدى.

سنة مالية مزاحة

إقفال في يونيو: تمرّر زينب تاريخ نهاية السنة إلى TOTALYTD لاحترام السنة المالية للمؤسسة.

✓ ممارسات جيدة

  • الاستناد إلى جدول التواريخ المميز: إنه الشرط المسبق غير القابل للتفاوض.
  • بناء هذه المقاييس مرة واحدة بإتقان: تُنسخ من نموذج إلى نموذج.
  • التعبير عن التطور بالقيمة وبالنسبة % (يسيران زوجًا).

✗ أخطاء شائعة

  • نسيان تمييز جدول التواريخ (فتكذب الدوال).
  • تمرير علاقة التاريخ عبر العمود الخطأ.
  • انتظار رقم أعمال N-1 دون سجل يغطي السنة السابقة.

النقاط الأساسية

  • يرتكز كل ذكاء الوقت على جدول التواريخ المميز: فلم يكن الشرط المسبق اختياريًا.
  • TOTALYTD وSAMEPERIODLASTYEAR وDATEADD: ثلاث دوال تغطي الطلبات الجارية.
  • يُعبّر عن التطور بالقيمة وبالنسبة %: يسير المقياسان زوجًا.
  • ابنوا هذه المقاييس مرة واحدة بإتقان: تُنسخ من نموذج إلى نموذج طوال مسيرتكم.

تحدي 48 ساعة — طبّقه غدًا

ابنِ رباعي القيادة لزينب على بياناتك: رقم الأعمال YTD، ورقم أعمال N-1، والتطور بالقيمة وبالنسبة %. ضعه في مصفوفة الشهر × المقاييس، ثم تحقق من أن التراكم ينطلق من جديد في يناير ومن أن جدول تواريخك مميز.

قائمة الخروج من القسم
  • أستطيع كتابة تراكم سنوي بـ TOTALYTD.
  • أعرف مقارنة فترة بـ N-1 عبر SAMEPERIODLASTYEAR.
  • أعرف الشرط المسبق: جدول التواريخ المميز.
تقييم ذاتي 1-5: هل أشرح لماذا يجب تمييز جدول التواريخ؟تقييم ذاتي 1-5: هل ركّبت رباعي رقم الأعمال YTD / N-1 / التطور؟

أسئلة شائعة

رقم أعمال N-1 لدي فارغ أو خاطئ: لماذا؟

ثلاثة مشتبهين، تُتحقق منهم بهذا الترتيب (وأحدهم السبب في 95 % من الحالات): جدول التواريخ غير مميز بوصفه جدول تواريخ؛ والعلاقة تمر عبر عمود التاريخ الخطأ (أو غير نشطة)؛ والسجل لا يغطي N-1 (فيكون N-1 ليناير فارغًا، وهو طبيعي). ابدأوا دائمًا بجدول التواريخ المميز.

كيف ندير سنة مالية مزاحة (إقفال في يونيو)؟

تقبل TOTALYTD وسيطًا ثالثًا، هو تاريخ نهاية السنة المالية: TOTALYTD([CA]; Dates[Date]; "30/06") تحسب التراكم منذ 1 يوليو. وللاحتياجات الأكثر تعقيدًا، نُثري جدول التواريخ بأعمدة مالية (السنة المالية، والشهر المالي) — وهذا جمال امتلاك تقويم خاص مُتقن.

تحقّق من فهمك

ما الشرط المسبق المطلق لعمل ذكاء الوقت؟

موارد إضافية (اختياري، للتعمّق أكثر)

اختبار المستوى 3أسئلة جديدة وأصعب للتحقق من مكتسباتك