جداول التاريخ في Power Pivot ضرورية لاستعراض البيانات وحسابها مع مرور الوقت. توفر هذه المقالة فهما شاملا لجداول التاريخ وكيفية إنشائها في Power Pivot. تصف هذه المقالة بشكل خاص ما يلي:

  • سبب أهمية جدول التاريخ لاستعراض البيانات وحسابها حسب التواريخ والوقت.

  • كيفية استخدام Power Pivot لإضافة جدول تاريخ إلى نموذج البيانات.

  • كيفية إنشاء أعمدة تاريخ جديدة مثل السنة والشهر وفترة زمنية في جدول تاريخ.

  • كيفية إنشاء علاقات بين جداول التاريخ وجداول الحقائق.

  • كيفية العمل مع الوقت.

هذه المقالة مخصصة للمستخدمين الجدد في Power Pivot. ومع ذلك، من المهم أن يكون لديك بالفعل فهم جيد لاستيراد البيانات وإنشاء علاقات وإنشاء أعمدة ومقيسات محسوبة.

لا تصف هذه المقالة كيفية استخدام دالات DAX Time-Intelligence في قياس الصيغ. لمزيد من المعلومات حول كيفية إنشاء القياسات باستخدام دالات DAX Time Intelligence، راجع معلومات الوقت في Power Pivot في Excel.

ملاحظة: في Power Pivot، تكون الأسماء "قياس" و"حقل محسوب" مرادفة. نحن نستخدم مقياس الاسم في هذه المقالة. لمزيد من المعلومات، راجع القياسات في Power Pivot.

المحتويات

فهم جداول التاريخ

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

Power View التقرير

إجمالي المبيعات حسب pivot table لربع السنة المالية

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

Power View الحقل

قائمة حقول Power View

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

على سبيل المثال، إذا كانت البيانات التي تريد استعراضها تتضمن تواريخ من 1 فبراير 2010 إلى 30 نوفمبر 2012، وقد قمت بلتقارير حول سنة تقويمية، فقد تحتاج إلى جدول تاريخ مع نطاق تاريخ على الأقل من 1 يناير 2010 إلى 31 ديسمبر 2012. يجب أن تحتوي كل سنة في جدول التاريخ على كل الأيام لكل سنة. إذا كنت تريد تحديث بياناتك بشكل منتظم باستخدام بيانات أحدث، فقد ترغب في تشغيل تاريخ الانتهاء بحلول سنة أو عامين، وبالتالي لن تحتاج إلى تحديث جدول التاريخ مع مرور الوقت.

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

جدول تواريخ يضم تواريخ متجاورة

إذا قمت بإعداد تقرير حول سنة مالية، يمكنك إنشاء جدول تاريخ مع مجموعة متجاورة من التواريخ لكل سنة مالية. على سبيل المثال، إذا بدأت السنة المالية في الأول من مارس، وكان لديك بيانات للسنوات المالية 2010 حتى التاريخ الحالي (على سبيل المثال، في السنة المالية 2013)، يمكنك إنشاء جدول تاريخ يبدأ في 3/1/2009 ويتضمن كل يوم على الأقل في كل سنة مالية وحتى التاريخ الأخير في السنة المالية 2013.

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

إضافة جدول تاريخ إلى نموذج البيانات

هناك عدة طرق يمكنك من خلالها إضافة جدول تاريخ إلى نموذج البيانات:

  • استيراد من قاعدة بيانات علائقية أو من مصدر بيانات آخر.

  • أنشئ جدول تاريخ في Excel ثم انسخ جدولا جديدا أو قم بإنشاء ارتباط به في Power Pivot.

  • استيراد من Microsoft Azure Marketplace.

دعنا نطلع على كل واحد من هذه النظرات عن كثب.

الاستيراد من قاعدة بيانات علائقية

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

معالج استيراد الجدول

مربع الحوار "معالج استيراد الجدول"

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

إنشاء جدول تاريخ في Excel

يمكنك إنشاء جدول تاريخ في Excel ثم نسخه إلى جدول جديد في نموذج البيانات. هذا الأمر سهل جدا ويمنحك الكثير من المرونة.

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

كيفية: إنشاء جدول تاريخ في Excel ونسخه إلى نموذج البيانات

  1. في Excel، في ورقة عمل فارغة، في الخلية A1،اكتب اسم رأس عمود لتحديد نطاق من التواريخ. عادة، سيكون هذا الأمر مثل التاريخ أو DateTime أو DateKey.

  2. في الخلية A2، اكتب تاريخ بدء. على سبيل المثال، 1/1/2010.

  3. انقر فوق مقبض التعبئة واسحبه للأسفل إلى رقم صف يتضمن تاريخ انتهاء. على سبيل المثال، 31/12/2016.

    عمود "التاريخ" في Excel

  4. حدد كافة الصفوف في عمود التاريخ (بما في ذلك اسم الرأس في الخلية A1).

  5. في المجموعة أنماط، انقر فوق تنسيق ك جدول، ثم حدد نمطا.

  6. في مربع الحوار تنسيق ك جدول، انقر فوق موافق.

    عمود التاريخ في Power Pivot

  7. انسخ كل الصفوف، بما في ذلك الرأس.

  8. في Power Pivot، على علامة التبويب الصفحة الرئيسية، انقر فوق لصق.

  9. في معاينة > اكتب اسم الجدول اسما مثل التاريخ أو التقويم. اترك استخدام الصف الأول كعنايين محددين،ثم انقر فوق موافق.

    معاينة اللصق

    يبدو جدول التاريخ الجديد (المسمى التقويم في هذا المثال) في Power Pivot كما يلي:

    جدول التواريخ في Power Pivot

    ملاحظة: يمكنك أيضا إنشاء جدول مرتبط باستخدام إضافة إلى نموذج البيانات. ومع ذلك، فإن هذا يجعل المصنف كبيرا بشكل غير داع لأن المصنف به إصداران من جدول التاريخ؛ واحد في Excel واحد في Power Pivot..

ملاحظة: تاريخ الاسم هو كلمة أساسية في Power Pivot. إذا قمت بتكرار الجدول الذي أنشأته في Power Pivot Date، ستحتاج إلى تضمين اسم الجدول مع علامات اقتباس مفردة في أي صيغ DAX تشير إليه في وسيطة. تشير كل الصور والصيغ في هذه المقالة إلى جدول تاريخ تم إنشاؤه في Power Pivot يسمى التقويم.

لديك الآن جدول تاريخ في نموذج البيانات. يمكنك إضافة أعمدة تاريخ جديدة مثل السنة والشهر وما إلى ذلك باستخدام DAX.

إضافة أعمدة تاريخ جديدة إلى جدول التاريخ

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

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

تلميح: إذا لم تكن قد عملت بعد مع DAX، فإن المكان الرائع لبدء التعلم هو تشغيل QuickStart: تعرف على أساسيات DAX في 30 دقيقة على Office.com.

دالات التاريخ والوقت في DAX

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

  • تستخدم الدالات DAX Date and Time نوع بيانات datetime.

  • ويمكنها أن تأخذ قيما من عمود ك الوسيطة.

  • ويمكن استخدامها لإرجاع قيم التاريخ و/أو معالجتها.

غالبا ما يتم استخدام هذه الدالات عند إنشاء أعمدة تاريخ مخصصة في جدول تاريخ، لذلك من المهم فهمها. سنستخدم عددا من هذه الدالات لإنشاء أعمدة للسنة وربع السنة و"السنة المالية" وما إلى ذلك.

ملاحظة: لا تتشابه دالات التاريخ والوقت في DAX مع دالات "معلومات الوقت". تعرف على المزيد حول معلومات الوقت في Power Pivot في Excel 2013.

يتضمن DAX دالات التاريخ والوقت التالية:

هناك العديد من دالات DAX الأخرى التي يمكنك استخدامها في الصيغ أيضا. على سبيل المثال، تستخدم العديد من الصيغ الموضحة هنا دالات الرياضيات والمثلثات مثل MOD و TRUNC، الدالات المنطقية مثل IF، و دالات النص مثل FORMAT للحصول على مزيد من المعلومات حول دالات DAX الأخرى، راجع المقطع موارد إضافية لاحقا في هذه المقالة.

أمثلة على صيغة سنة تقويمية

تصف الأمثلة التالية الصيغ المستخدمة لإنشاء أعمدة إضافية في جدول تاريخ يسمى التقويم. يوجد عمود واحد، يسمى التاريخ، ويحتوي على نطاق متجاور من التواريخ من 1/1/2010 إلى 31/12/2016.

السنة

=YEAR([date])

في هذه الصيغة، ترجع الدالة YEAR السنة من القيمة في العمود التاريخ. نظرا لأن القيمة الموجودة في العمود التاريخ من نوع بيانات datetime، تعرف الدالة YEAR كيفية إرجاع السنة منها.

عمود السنة

الشهر

=MONTH([date])

في هذه الصيغة، كما في الدالة YEAR، يمكننا ببساطة استخدام الدالة MONTH لإرجاع قيمة شهر من عمود التاريخ.

عمود "الشهر"

ربع السنة

=INT(([Month]+2)/3)

في هذه الصيغة، نستخدم الدالة INT لإرجاع قيمة تاريخ كعدد صحيح. إن الوسيطة التي نحددها للدالة INT هي القيمة من عمود الشهر، وأضف 2، ثم اقسمها على 3 للحصول على ربع السنة، 1 من خلال 4.

عمود "ربع السنة"

اسم الشهر

=FORMAT([date],"mmmm")

في هذه الصيغة، للحصول على اسم الشهر، نستخدم الدالة FORMAT لتحويل قيمة رقمية من عمود التاريخ إلى نص. نحن نحدد عمود التاريخ ك الوسيطة الأولى، ثم التنسيق؛ نريد أن يظهر اسم الشهر كل الأحرف، لذلك نستخدم "mmmm". تبدو النتيجة كما يلي:

العمود "اسم الشهر"

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

يوم من أيام الأسبوع

=FORMAT([date],"ddd")

في هذه الصيغة، نستخدم الدالة FORMAT للحصول على اسم اليوم. ونظرا لأننا نريد فقط اسم يوم مختصر، فإننا نحدد "ddd" في وسيطة التنسيق.

العمود "أيام الأسبوع"
نموذج PivotTable

بمجرد أن يكون لديك حقول لتواريخ مثل السنة والربع والشهر وما إلى ذلك، يمكنك استخدامها في تقرير أو PivotTable. على سبيل المثال، تعرض الصورة التالية حقل SalesAmount من جدول الحقائق "المبيعات" في VALUES، و"السنة والربع" من جدول بعد التقويم في ROWS. يتم تجميع SalesAmount لسياقات السنة والربع.

نموذج PivotTable

أمثلة على الصيغ للسنة المالية

السنة المالية

=IF([Month]<= 6,[Year],[Year]+1)

في هذا المثال، تبدأ السنة المالية في 1 يوليو.

لا توجد أي دالة يمكنها استخراج سنة مالية من قيمة تاريخ لأن تواريخ البدء والنهاية للسنة المالية غالبا ما تختلف عن تواريخ السنة التقويمية. للحصول على السنة المالية، نستخدم أولا الدالة IF لاختبار ما إذا كانت قيمة Month أقل من أو تساوي 6. في الوسيطة الثانية، إذا كانت قيمة Month أقل من أو تساوي 6، فإرجاع القيمة من العمود السنة. إذا لم يكن الأمر كذلك، فإرجاع القيمة من السنة وإضافة 1.

عمود "السنة المالية"

هناك طريقة أخرى لتحديد قيمة شهر نهاية السنة المالية وهي إنشاء مقياس يحدد ببساطة الشهر. على سبيل المثال، FYE:=6. يمكنك بعد ذلك الإشارة إلى اسم القياس مكان رقم الشهر. على سبيل المثال، =IF([Month]<=[FYE],[Year],[Year]+1). يوفر ذلك المزيد من المرونة عند الإشارة إلى شهر نهاية السنة المالية في عدة صيغمختلفة.

الشهر المالي

=IF([Month]<= 6, 6+[Month], [Month]- 6)

في هذه الصيغة، نحدد ما إذا كانت قيمة [الشهر] أقل من 6 أو تساويها، ثم تأخذ 6 وتضيف القيمة من شهر، وإلا اطرح 6 من القيمة من [الشهر].

عمود "الشهر المالي"

الربع المالي

=INT(([FiscalMonth]+2)/3)

إن الصيغة التي نستخدمها ل FiscalQuarter هي نفس الصيغة التي كانت تستخدمها لربع السنة في السنة التقويمية. الفرق الوحيد هو أننا نحدد [FiscalMonth] بدلا من [الشهر].

العمود "ربع السنة المالي"

أيام العطل أو التواريخ الخاصة

قد ترغب في تضمين عمود تاريخ يشير إلى أن تواريخ معينة هي أيام عطلات أو تاريخ خاص آخر. على سبيل المثال، قد ترغب في جمع إجماليات المبيعات ليوم "السنوات الجديدة" عن طريق إضافة حقل عطلة إلى PivotTable أو كمقطع طرق العرض أو عامل تصفية. في حالات أخرى، قد ترغب في استبعاد تلك التواريخ من أعمدة تاريخ أخرى أو في مقياس.

بما في ذلك أيام العطل أو الأيام الخاصة أمر بسيط للغاية. يمكنك إنشاء جدول في Excel يتضمن التواريخ التي تريد تضمينها. يمكنك بعد ذلك نسخ "إضافة إلى نموذج البيانات" أو استخدامه لأضافته إلى "نموذج البيانات" ك جدول مرتبط. في معظم الحالات، ليس من الضروري إنشاء علاقة بين الجدول جدول التقويم. يمكن لأي صيغ تشير إليها استخدام الدالة LOOKUPVALUE لإرجاع القيم.

فيما يلي مثال على جدول تم إنشاؤه في Excel يتضمن أيام العطل التي يجب إضافتها إلى جدول التاريخ:

التاريخ

عطلة

1/1/2010

السنوات الجديدة

11/25/2010

عيد الشكر

12/25/2010

عيد الميلاد المجيد

1/1/2011

السنوات الجديدة

11/24/2011

عيد الشكر

12/25/2011

عيد الميلاد المجيد

1/1/2012

السنوات الجديدة

22/11/2012

عيد الشكر

12/25/2012

عيد الميلاد المجيد

1/1/2013

السنوات الجديدة

11/28/2013

عيد الشكر

12/25/2013

عيد الميلاد المجيد

11/27/2014

عيد الشكر

12/25/2014

عيد الميلاد المجيد

1/1/2014

السنوات الجديدة

11/27/2014

عيد الشكر

12/25/2014

عيد الميلاد المجيد

1/1/2015

السنوات الجديدة

11/26/2014

عيد الشكر

12/25/2015

عيد الميلاد المجيد

1/1/2016

السنوات الجديدة

11/24/2016

عيد الشكر

12/25/2016

عيد الميلاد المجيد

في جدول التاريخ، ننشئ عمودا يسمى عطلة ونستخدم صيغة مثل:

=LOOKUPVALUE(Holidays[Holiday],Holidays[date],Calendar[date])

دعنا ندرس هذه الصيغة بتأن أكبر.

نستخدم الدالة LOOKUPVALUE للحصول على القيم من عمود العطلات في جدول العطلات. في الوسيطة الأولى، نحدد العمود حيث ستكون قيمة النتيجة. نحن نحدد عمود العطلات في جدول العطلات لأن هذه هي القيمة التي نريد إرجاعها.

=LOOKUPVALUE(Holidays[Holiday],Holidays[date],Calendar[date])

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

=LOOKUPVALUE(Holidays[Holiday],Holidays[date],Calendar[date])

وأخيرا، نحدد العمود في جدول التقويم الذي له التواريخ التي نريد البحث عنها في جدول العطلات. هذا بالطبع هو عمود التاريخ في جدول التقويم.

=LOOKUPVALUE(Holidays[Holiday],Holidays[date],Calendar[date])

سيرجع عمود العيد اسم العيد لكل صف يحتوي على قيمة تاريخ تطابق تاريخا في جدول العطلات.

جدول العطلة

تقويم مخصص - ثلاث عشرة فترة من أربعة أسابيع

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

في الأمثلة أدناه، تبدأ الفترة الكاملة الأولى في يوم الأحد الأول من السنة المالية. في هذه الحالة، تبدأ السنة المالية في 7/1.

الأسبوع

تمنحنا هذه القيمة رقم الأسبوع بدءا من الأسبوع الكامل الأول في السنة المالية. في هذا المثال، يبدأ الأسبوع الكامل الأول يوم الأحد، بحيث يبدأ الأسبوع الكامل الأول في السنة المالية الأولى في جدول التقويم في 7/4/2010 ويتابع حتى الأسبوع الكامل الأخير في جدول التقويم. على الرغم من أن هذه القيمة بحد ذاتها ليست مفيدة في التحليل، فمن الضروري حسابها لاستخدامها في صيغ فترة 28 يوما أخرى.

=INT([date]-40356)/7)

دعنا ندرس هذه الصيغة بتأن أكبر.

أولا، نقوم بإنشاء صيغة تقوم بإرجاع القيم من عمود التاريخ كعدد صحيح، على النحو التالي:

=INT([date])

بعد ذلك، نريد البحث عن الأحد الأول في السنة المالية الأولى. نحن نشاهد أنه 7/4/2010.

العمود "الأسبوع"

الآن، اطرح 40356 (وهو العدد صحيح ل 27/6/2010، الأحد الأخير من السنة المالية السابقة) من هذه القيمة للحصول على عدد الأيام منذ بداية الأيام في جدول التقويم، كما يلي:

=INT([date]-40356)

بعد ذلك، اقسم النتيجة على 7 (أيام في الأسبوع)، كما يلي:

=INT(([date]-40356)/7)

تبدو النتيجة كما يلي:

العمود "الأسبوع"

نقطة

تحتوي الفترة الزمنية في هذا التقويم المخصص على 28 يوما وستبدأ دائما في يوم الأحد. سيرجع هذا العمود عدد الفترة التي تبدأ بأول يوم الأحد في السنة المالية الأولى.

=INT(([Week]+3)/4)

دعنا ندرس هذه الصيغة بتأن أكبر.

أولا، نقوم بإنشاء صيغة تقوم بإرجاع قيمة من عمود الأسبوع كعمود صحيح، على النحو التالي:

=INT([Week])

ثم أضف 3 إلى هذه القيمة، كما يلي:

=INT([Week]+3)

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

=INT(([Week]+3)/4)

تبدو النتيجة كما يلي:

عمود الفترة الزمنية

السنة المالية لفترة زمنية

ترجع هذه القيمة السنة المالية لفترة زمنية.

=INT(([Period]+12)/13)+2008

دعنا ندرس هذه الصيغة بتأن أكبر.

أولا، نقوم بإنشاء صيغة ترجع قيمة من نقطة وتضيف 12:

= ([نقطة]+12)

نقوم بقسمة النتيجة على 13، لأنه توجد ثلاث عشرة فترة زمنية لمدة 28 يوما في السنة المالية:

=(([Period]+12)/13)

نضيف 2010، لأن هذه هي السنة الأولى في الجدول:

=(([Period]+12)/13)+2010

وأخيرا، نستخدم الدالة INT لإزالة أي كسر من النتيجة، ونرجع رقما كاملا، عند قسمته على 13، كما يلي:

=INT(([Period]+12)/13)+2010

تبدو النتيجة كما يلي:

عمود السنة المالية لفترة زمنية

الفترة الزمنية في السنة المالية

ترجع هذه القيمة رقم الفترة، 1 – 13، بدءا من أول فترة كاملة (بداية من يوم الأحد) في كل سنة مالية.

=IF(MOD([Period],13), MOD([Period],13),13)

هذه الصيغة أكثر تعقيدا بقليل، لذا سنصفها أولا بلغة نفهمها بشكل أفضل. وتقسم هذه الصيغة القيمة من [نقطة] على 13 للحصول على رقم فترة (1-13) في السنة. إذا كان هذا الرقم 0، فقم بإرجاع 13.

أولا، نقوم بإنشاء صيغة تقوم بإرجاع باقي القيمة من نقطة في 13. يمكننا استخدام الدالة MOD (دالات الرياضيات والرياضيات) كما يلي:

=MOD([Period],13)

يوفر لنا هذا، في معظمه، النتيجة التي نريدها، باستثناء أن قيمة نقطة هي 0 لأن تلك التواريخ لا تقع ضمن السنة المالية الأولى، كما في الأيام الخمسة الأولى من جدول تاريخ التقويم. يمكننا القيام بذلك باستخدام الدالة IF. في حال كانت النتيجة 0، نقوم بإرجاع 13، كما يلي:

=IF(MOD([Period],13),MOD([Period],13),13)

تبدو النتيجة كما يلي:

عمود "الفترة الزمنية في السنة المالية"

نموذج PivotTable

تعرض الصورة أدناه PivotTable مع حقل SalesAmount من جدول الحقائق المبيعات في VALUES، والحقول PeriodFiscalYear و PeriodInFiscalYear من جدول بعد تاريخ التقويم في ROWS. يتم تجميع SalesAmount حسب السياق حسب السنة المالية و28 يوما في السنة المالية.

نموذج PivotTable للسنة المالية

العلاقات

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

نظرا لحاجتك إلى إنشاء علاقة استنادا إلى التواريخ، ستحتاج إلى التأكد من إنشاء هذه العلاقة بين الأعمدة التي تكون قيمها من نوع بيانات التاريخ (التاريخ).

لكل قيمة تاريخ في جدول الحقائق، يجب أن يحتوي عمود البحث ذي الصلة في جدول التاريخ على قيم متطابقة. على سبيل المثال، يجب أن يكون للصف (سجل المعاملة) في جدول الحقائق المبيعات بقيمة 8/15/2012 12:00 ص في عمود DateKey قيمة مقابلة في عمود التاريخ المرتبط في جدول التاريخ (المسمى التقويم). هذا هو أحد أهم الأسباب التي تدعوك إلى أن يحتوي عمود التاريخ في جدول التاريخ على نطاق متجاور من التواريخ يتضمن أي تاريخ محتمل في جدول الحقائق.

العلاقات في "طريقة عرض الرسم التخطيطي"

ملاحظة: بينما يجب أن يكون عمود التاريخ في كل جدول من نوع البيانات نفسه (التاريخ)، لا يهم تنسيق كل عمود..

ملاحظة: إذا لم يكن Power Pivot السماح لك بإنشاء علاقات بين الجدولين، فقد لا تقوم حقول التاريخ بتخزين التاريخ والوقت بنفس مستوى الدقة. استنادا إلى تنسيق العمود، قد تبدو القيم كما هي، ولكن يتم تخزينها بشكل مختلف. اقرأ المزيد حول العمل مع الوقت.

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

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

علاقات متعددة

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

يحسب PivotTable التالي إجمالي المبيعات حسب السنة المالية والربع المالي. يتم وضع مقياس يسمى إجمالي المبيعات، مع الصيغة إجمالي المبيعات:=SUM([SalesAmount])، في VALUES، كما يتم وضع الحقلين FiscalYear و FiscalQuarter من جدول تاريخ التقويم في ROWS.

إجمالي المبيعات حسب PivotTable لربع السنة المالية قائمة حقول PivotTable

يعمل PivotTable المستقيم بشكل صحيح لأننا نريد جمع إجمالي المبيعات حسب تاريخالمعاملةفي DateKey. يستخدم مقياس إجمالي المبيعات التواريخ في DateKey، ويلخص حسب السنة المالية والربع المالي نظرا إلى وجود علاقة بين DateKey في جدول المبيعات عمود التاريخ في جدول تاريخ التقويم.

العلاقات غير النشطة

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

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

على سبيل المثال، نظرا إلى وجود علاقة غير نشطة بين عمود "تاريخ الشحن" في جدول "المبيعات" و"التاريخ" في جدول "التقويم"، يمكننا إنشاء مقياس يلخص إجمالي المبيعات حسب تاريخ الشحن. نستخدم صيغة مثل هذه لتحديد العلاقة التي يجب استخدامها:

إجمالي المبيعات حسب تاريخ الشحن:=CALCULATE(SUM(Sales[SalesAmount]), USERELATIONSHIP(Sales[ShipDate], Calendar[Date]))

تقوم هذه الصيغة ببساطة بما يلي: حساب مجموع ل SalesAmount، ولكن التصفية باستخدام العلاقة بين العمود "تاريخ الشحن" في جدول "المبيعات" عمود "التاريخ" في جدول "التقويم".

الآن، إذا قمنا بإنشاء PivotTable ووضع مقياس إجمالي المبيعات حسب تاريخ الشحن في VALUES، وسنة مالية وربع السنة المالية على ROWS، فإننا نشاهد الإجمالي الكلي نفسه، ولكن كل المبالغ الإجمالية الأخرى للسنة المالية والربع المالي مختلفة لأنها تستند إلى تاريخ الشحن وليس إلى تاريخ المعاملة.

إجمالي المبيعات حسب PivotTable في تاريخ الشحن قائمة حقول PivotTable

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

جداول تاريخ متعددة

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

  • DateKey بتاريخ البيع لكل معاملة.

  • تاريخ الشحن – مع تاريخ وتاريخ شحن العناصر المباعة إلى العميل.

  • تاريخ الإرجاع – مع التاريخ والوقت الذي تم فيه إرجاع عنصر واحد أو أكثر.

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

علاقات مع جداول تواريخ متعددة في طريقة عرض الرسم التخطيطي

في هذا المثال، قمنا بإنشاء جدول تاريخ آخر يسمى ShipCalendar. وهذا يعني، بطبيعة الحال، إنشاء أعمدة تاريخ إضافية، ونظرا لأن أعمدة التاريخ هذه في جدول تاريخ مختلف، نريد تسمية هذه الأعمدة بالطريقة التي تميزها عن الأعمدة نفسها في جدول التقويم. على سبيل المثال، قمنا بإنشاء أعمدة تسمى ShipYear و ShipMonth و ShipQuarter وما إلى ذلك.

إذا قمنا بإنشاء PivotTable ووضعنا مقياس إجمالي المبيعات في VALUES، و ShipFiscalYear و ShipFiscalQuarter على ROWS، فإننا نشاهد النتائج نفسها التي رأيناها عند إنشاء علاقة غير نشطة، بالإضافة إلى حقل خاص لإجمالي المبيعات حسب تاريخ الشحن محسوب.

إجمالي المبيعات حسب تاريخ الشحن في PivotTable مع تقويم الشحن قائمة حقول Pivot Table

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

الخاصية "جدول التاريخ"

تحدد الخاصية Date Table بيانات التعريف الضرورية Time-Intelligence الدالات مثل TOTALYTD و PREVIOUSMONTH و DATESBETWEEN للعمل بشكل صحيح. عند تشغيل عملية حسابية باستخدام إحدى هذه الدالات، يعرف مشغل صيغة Power Pivot إلى أين يجب الانتقال للحصول على التواريخ التي يحتاجها.

تحذير: إذا لم يتم تعيين هذه الخاصية، فقد لا تظهر Time-Intelligence الدالات DAX نتائج صحيحة.

عند تعيين الخاصية جدول التاريخ، يمكنك تحديد جدول تاريخ عمود تاريخ من نوع بيانات التاريخ (التاريخ) فيه.

مربع الحوار "وضع علامة كجدول تواريخ"

كيفية: تعيين الخاصية جدول التاريخ

  1. في نافذة PowerPivot، حدد جدول التقويم.

  2. على علامة التبويب تصميم، انقر فوق وضع علامة ك جدول تاريخ.

  3. في مربع الحوار وضع علامة جدول تاريخ، حدد عمودا يحتوي على قيم فريدة ونوع بيانات التاريخ.

العمل مع الوقت

كل قيم التاريخ التي بها نوع بيانات تاريخ Excel أو SQL Server تكون رقما بالفعل. تتضمن هذه الأرقام أرقاما تشير إلى وقت. في العديد من الحالات، يكون هذا الوقت لكل صف هو منتصف الليل. على سبيل المثال، إذا كان حقل DateTimeKey في جدول الحقائق "المبيعات" به قيم مثل 19/10/2010 12:00:00 ص، فهذا يعني أن القيم هي إلى مستوى الدقة اليوم. إذا كانت قيم الحقل DateTimeKey تتضمن وقتا، على سبيل المثال، 19/10/2010 8:44:00 ص، فهذا يعني أن القيم هي إلى مستوى الدقة الدقيق. قد تكون القيم أيضا إلى مستوى الدقة على مستوى الساعة، أو حتى الثواني من الدقة. سيكون لمستوى الدقة في قيمة الوقت تأثير كبير على كيفية إنشاء جدول التاريخ والعلاقات بينه وبين جدول الحقائق.

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

ملاحظة: الأيام هي أصغر وحدة وقت يمكن أن تعمل بها دالات DAX Time Intelligence. إذا لم تكن بحاجة إلى استخدام قيم الوقت، يجب تقليل دقة البيانات لاستخدام الأيام كحد أدنى للوحدة.

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

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

إذا كان عمود التاريخ يتضمن مستوى وقت من الدقة، ولكنك ستجمعه إلى مستوى يوم واحد فقط، لإنشاء العلاقة بين جدول الحقائق جدول التاريخ، فقد تحتاج إلى تعديل جدول الحقائق بإنشاء عمود جديد ي اقتطاع القيم في عمود التاريخ إلى قيمة يوم. بعبارة أخرى، تحويل قيمة مثل 19/10/2010 8:44:00ص إلى 19/10/2010 12:00:00 ص. يمكنك بعد ذلك إنشاء العلاقة بين هذا العمود الجديد عمود التاريخ في جدول التاريخ لأن القيم متطابقة.

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

العمود DateTimeKey

ونظرا لأننا لا نحتاج إلى تحليل هذه البيانات إلى مستوى الوقت، فنحن لا نحتاج إلى عمود التاريخ في جدول تاريخ التقويم لتضمين صف واحد لكل ساعة وكل دقيقة من كل يوم في كل سنة. وبالتالي، يبدو عمود التاريخ في جدول التاريخ كما يلي:

عمود التاريخ في Power Pivot

لإنشاء علاقة بين العمود DateTimeKey في جدول المبيعات عمود التاريخ في جدول التقويم، يمكننا إنشاء عمود محسوب جديد في جدول الحقائق المبيعات، واستخدام الدالة TRUNC لاقطاع قيمة التاريخ والوقت في العمود DateTimeKey إلى قيمة تاريخ تطابق القيم في عمود التاريخ في جدول التقويم. تبدو الصيغة كما يلي:

=TRUNC([DateTimeKey],0)

يوفر لنا ذلك عمودا جديدا (يسمى DateKey) بتاريخ من العمود DateTimeKey، والوقت 12:00:00 صباحا لكل صف:

العمود DateKey

يمكننا الآن إنشاء علاقة بين هذا العمود الجديد (DateKey) عمود التاريخ في جدول التقويم.

وبالمثل، يمكننا إنشاء عمود محسوب في جدول المبيعات يقلل من دقة الوقت في العمود DateTimeKey إلى مستوى الدقة بالساعة. في هذه الحالة، لن تعمل الدالة TRUNC، ولكن لا يزال يمكننا استخدام دالات DAX Date and Time الأخرى لاستخراج قيمة جديدة إلى مستوى دقة ساعة و إعادة تسلسلها. يمكننا استخدام صيغة مثل هذه:

= DATE (YEAR([DateTimeKey]), MONTH([DateTimeKey]), DAY([DateTimeKey]) ) + TIME (HOUR([DateTimeKey]), 0, 0)

يبدو العمود الجديد كما يلي:

العمود DateTimeKey

إذا كان عمود التاريخ في جدول التاريخ به قيم على مستوى الدقة بالساعة، يمكننا بعد ذلك إنشاء علاقة بينهما.

جعل التواريخ قابلة للاستخدام بشكل أكبر

إن العديد من أعمدة التاريخ التي تقوم بإنشاءها في جدول التاريخ ضرورية الحقول الأخرى، ولكنها في الواقع ليست مفيدة في التحليل. على سبيل المثال، حقل DateKey في جدول المبيعات الذي أشرنا إليه ووضحناه في هذه المقالة مهم لأنه يتم تسجيل هذه المعاملة في كل معاملة على أنها تحدث في تاريخ وقت وتاريخ معينين. ولكن من وجهة نظر التحليل وإعداد التقارير، لا يكون كل ذلك مفيدا لأنه لا يمكننا استخدامه كصف أو عمود أو حقل تصفية في جدول Pivot أو تقرير.

وبشكل مماثل، في مثالنا، يكون عمود التاريخ في جدول التقويم مفيدا للغاية، وهاما في الواقع، ولكن لا يمكنك استخدامه كبعد في PivotTable.

لإبقاء الجداول والأعمدة فيها مفيدة قدر الإمكان، ولجعل التنقل بين قوائم حقل تقرير PivotTable أو تقرير Power View أكثر سهولة، من المهم إخفاء الأعمدة غير الضرورية من أدوات العميل. قد ترغب أيضا في إخفاء جداول معينة أيضا. يحتوي جدول العطلات الموضح سابقا على تواريخ العطلات المهمة لأعمدة معينة في جدول التقويم، ولكن لا يمكنك استخدام عمودي التاريخ والعطلات في جدول العطلات نفسيهما كحقول في PivotTable. هنا مرة أخرى، لتسهيل التنقل في قوائم الحقول، يمكنك إخفاء جدول العطلات بالكامل.

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

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

ملحق

تحويل تواريخ نوع البيانات النصية إلى نوع بيانات تاريخ

في بعض الحالات، قد يحتوي جدول الحقائق الذي يحتوي على بيانات المعاملات على تواريخ من نوع البيانات النصية. أي أن التاريخ الذي يظهر على أنه 2012-12-04T11:47:09 ليس تاريخا على الإطلاق، أو على الأقل ليس نوع التاريخ الذي يمكن أن يفهمه Power Pivot. إنه في الواقع مجرد نص يقرأ مثل التاريخ. لإنشاء علاقة بين عمود تاريخ في جدول الحقائق، وبين عمود تاريخ في جدول تاريخ، يجب أن يكون العمودان من نوع بيانات التاريخ.

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

ومع ذلك، لا يزال بإمكانك تحويل التواريخ إلى نوع بيانات تاريخ صحيح. يمكنك إنشاء عمود محسوب جديد واستخدام صيغة DAX ل تحليل السنة والشهر واليوم والوقت وغير ذلك من السلاسل النصية ثم جمعها معا بطريقة يمكن من خلال Power Pivot قراءتها باعتبارها تاريخا صحيحا.

في هذا المثال، قمنا باستيراد جدول حقيقة باسم المبيعات إلى Power Pivot. يحتوي على عمود يسمى DateTime. تظهر القيم كما يلي:

عمود DateTime في جدول حقائق.

إذا أطلعنا على نوع البيانات في علامة التبويب الصفحة الرئيسية لمجموعة Power Pivot، فإننا نشاهد أنها نوع بيانات النص.

نوع البيانات في الشريط

لا يمكننا إنشاء علاقة بين عمود DateTime عمود التاريخ في جدول التاريخ لأن أنواع البيانات غير متطابقة. إذا حاول تغيير نوع البيانات إلى تاريخ، فإننا نحصل على خطأ عدم تطابق النوع:

خطأ عدم التطابق

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

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

=DATE(LEFT([DateTime],4), MID([DateTime],6,2), MID([DateTime],9,2))

يوفر لنا ذلك عمودا جديدا (في هذه الحالة، يسمى التاريخ). يكشف Power Pivot حتى عن القيم لتكون تواريخ، كما يقوم بتعيين نوع البيانات تلقائيا إلى "التاريخ".

عمود "التاريخ" في جدول الحقائق

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

=DATE(LEFT([DateTime],4), MID([DateTime],6,2), MID([DateTime],9,2)) +

TIME(MID([DateTime],12,2), MID([DateTime],15,2), MID([DateTime],18,2))

الآن وقد أصبح لدينا عمود التاريخ لنوع بيانات التاريخ، يمكننا إنشاء علاقة بينه وبين عمود تاريخ في تاريخ.

موارد إضافية

التواريخ في Power Pivot

العمليات الحسابية في Power Pivot

بداية سريعة: التعرف على أساسيات DAX في 30 دقيقة

مرجع تعبيرات تحليل البيانات

مركز موارد DAX

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى المشاركين في برنامج Microsoft Office Insider

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×