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

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

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

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

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

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

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

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

لا تصف هذه المقالة كيفية استخدام دالات DAX Time-Intelligence في صيغ القياس. لمزيد من المعلومات حول كيفية إنشاء مقاييس باستخدام وظائف تحليل معلومات الوقت DAX، راجع تحليل معلومات الوقت في 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. يجب أن يحتوي كل عام في جدول التاريخ على جميع الأيام لكل سنة. إذا كنت ستقوم بتحديث بياناتك بانتظام ببيانات أحدث، فقد ترغب في تشغيل تاريخ الانتهاء لمدة عام أو عامين، لذلك لا يتعين عليك تحديث جدول التاريخ مع مرور الوقت.

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

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

إذا قمت بالإبلاغ عن سنة مالية، يمكنك إنشاء جدول تاريخ مع مجموعة متجاورة من التواريخ لكل سنة مالية. على سبيل المثال، إذا بدأت السنة المالية في 1 مارس، وكانت لديك بيانات للسنوات المالية 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، اكتب اسم رأس عمود لتعريف نطاق من التواريخ. عادة ما يكونهذا شيئا مثل Date أو DateTime أو DateKey.

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

  3. انقر فوق مقبض التعبئة واسحبه لأسفل إلى رقم صف يتضمن تاريخ انتهاء. على سبيل المثال، 12/31/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، فإن المكان الرائع لبدء التعلم هو التشغيل السريع: تعلم أساسيات DAX في 30 دقيقة على Office.com.

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

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

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

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

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

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

ملاحظة: دالات التاريخ والوقت في DAX ليست هي نفس دالات تحليل معلومات الوقت. تعرف على المزيد حول Time Intelligence في Power Pivot في Excel 2013.

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

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

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

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

السنة

=YEAR([date])

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

عمود السنة

الشهر

=MONTH([date])

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

عمود "الشهر"

ربع السنة

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

في هذه الصيغة، نستخدم الدالة INT لإرجاع قيمة تاريخ كأعداد صحيحة. الوسيطة التي نحددها لدالة INT هي القيمة من عمود Month، وإضافة 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، فسترجع القيمة من العمود Year. إذا لم يكن الأمر كما هو، فأرجع القيمة من Year وأضف 1.

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

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

الشهر المالي

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

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

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

ربع السنة المالية

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

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

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

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

قد تحتاج إلى تضمين عمود تاريخ يشير إلى تواريخ معينة هي عطلات أو تاريخ خاص آخر. على سبيل المثال، قد تحتاج إلى جمع إجماليات المبيعات ليوم السنوات الجديدة عن طريق إضافة حقل عطلة إلى 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

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

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

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

دعونا ننظر إلى هذه الصيغة بعناية أكبر.

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

=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 (وهو العدد الصحيح ل 6/27/2010، الأحد الأخير من السنة المالية السابقة) من تلك القيمة للحصول على عدد الأيام منذ بداية الأيام في جدول التقويم، على النحو التالي:

=INT([date]-40356)

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

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

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

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

نقطة

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

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

دعونا ننظر إلى هذه الصيغة بعناية أكبر.

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

=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 التالي إجمالي المبيعات حسب السنة المالية والربع المالي. يتم وضع مقياس يسمى Total Sales، مع الصيغة Total Sales:=SUM([SalesAmount])، في VALUES، ويتم وضع حقلي FiscalYear و FiscalQuarter من جدول تاريخ التقويم في ROWS.

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

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

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

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

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

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

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

تنص هذه الصيغة ببساطة على: حساب مجموع SalesAmount، ولكن قم بالتصفية باستخدام العلاقة بين عمود ShipDate في جدول Sales وعمود Date في جدول التقويم.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

العمود DateTimeKey

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

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

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

=TRUNC([DateTimeKey],0)

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

العمود DateKey

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

وبالمثل، يمكننا إنشاء عمود محسوب في جدول Sales يقلل من دقة الوقت في عمود 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. هنا مرة أخرى، لتسهيل التنقل في Field القوائم، يمكنك إخفاء جدول Holidays بأكمله.

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

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

ملحق

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

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

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

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

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

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

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

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

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

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

في هذه الحالة، تعذر على 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 وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

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

×