حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

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

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

في حالة الأشهر ، يكون لديك دائمًا 12 شهرًا في السنة. في حالة الأرباع ، لديك دائمًا أربعة أرباع. تختلف الأسابيع لأن هناك سبعة أيام في الأسبوع و 52 أسبوعًا في السنة - أي 364 يومًا. لذلك ، لديك هذا اليوم الإضافي هناك. في السنوات الكبيسة ، لديك يومان إضافيان.

لذلك ، ينتهي هذا الأمر في الواقع في بعض السنوات ، بناءً على مخطط الترقيم لرقم أسبوع ISO ، في بعض الأحيان 52 أسبوعًا ، وأحيانًا 53 أسبوعًا. الأسبوع 53 هو الذي سيسبب معظم المشاكل.

جدول المحتويات

مشكلات استخبارات الوقت في حساب DAX الأسبوعي

في هذا المثال ، أستخدم Total Spot Price. مع المجاميع ، من السهل تصور والتحدث عنها.

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

في هذه الحالة ، لكل عام من السنوات ، نريد إظهار سطر للأسبوع 53 ، سواء كان هناك أسبوع 53 في تلك السنة أم لا. لذلك ، يمكنك أن ترى في عامي 2018 و 2019 ، أنه لا يوجد أسبوع 53 ، ولكن في عام 2020 ، هناك. نريد جعلها متسقة بحيث يكون السطر 53 في كل عام. ولكن بعد ذلك ، سيكون المقياس فارغًا للسنوات التي لم يكن فيها العام 53 عامًا.

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

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

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

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

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

يتم استخدام CROSSJOIN لمطابقة حقلين معًا قد يكون لهما علاقة أو لا. ليس لديهم علاقة على عكس معظم أو أو دالات الجدول الأخرى.

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

لدينا قيمنا جدول من العمود. يأخذ CROSSJOIN جدولين ثم قيم على رقم أسبوع ISO ، ونحن فقط نطابقهما معًا. سيعطينا ذلك 53 أسبوعًا كل عام.

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

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

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

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

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

إذا عدنا إلى الصورة المرئية ، علينا تغيير الصفوف. بدلاً من رقم السنة والأسبوع ، نريد استخدام رقم السنة والأسبوع من جدول CROSSJOIN. والآن ، لدينا هذا الأسبوع 53 في عام 2018 فارغًا ، والأسبوع الثالث والخمسون في عام 2019 فارغًا. في عام 2020 ، لدينا رقم فعلي لأنه يحتوي على الأسبوع الثالث والخمسين.

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

يمكننا التوقف هنا ، باستثناء حقيقة أننا انتقلنا الآن من نموذج مخطط النجوم. في أي وقت تبتعد فيه عن مخطط النجوم في LuckyTemplates ، فأنت تتحرك خارج نطاق ما يعتبر عمومًا أفضل ممارسة.

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

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

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

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

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

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

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

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates

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

حسابات DAX الأسبوعية - مشكلات معلومات الوقت في LuckyTemplates


احصل على قيم الأسبوع السابق لـ LuckyTemplates باستخدام DAX & Power Query
لحساب المبيعات الأسبوعية مع DAX في
معلومات وقت LuckyTemplates في DAX: كيفية تحديد فترة البدء ديناميكيًا

خاتمة

في هذا البرنامج التعليمي ، عرضت عليك طريقتين لمعالجة مشكلة الحساب الأسبوعية لـ DAX في LuckyTemplates. أحدهما هو استخدام CROSSJOIN ، لكن له بعض العيوب. الطريقة الثانية هي استخدام TREATAS ، وإنشاء علاقة افتراضية ، وعدم انتهاك نهج Star Schema.

هذه تقنية مفيدة جدًا للتعامل مع مشكلة الأسبوع 53. أتمنى أن تكون قد وجدت ذلك مفيدًا. اريد ان اعرف افكارك حول هذا اسمحوا لي أن نعرف في التعليقات أدناه.

أتمنى لك كل خير،

Leave a Comment

تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية

تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية

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

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

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

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

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

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

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

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

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

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

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