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

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

دعنا نلقي نظرة أخرى على المشكلة التي تمت مناقشتها في هذا البرنامج التعليمي ، والتي قارنت ديناميكيًا أول N أيام عمل من كل شهر. استندت هذه المشكلة إلى استعلام من أحد أعضاء LuckyTemplates في منتدانا ، حيث أراد أن يبحث ويقارن بشكل ديناميكي أول 5 و 10 و 15 و 20 يومًا قابلة للفوترة (غير أيام عطلة نهاية الأسبوع وغير أيام العطلات) لشهر معين مقابل الشهر السابق.

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

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

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

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

دعنا نتعمق في استعلام القوة ونلقي نظرة على ما فعله Antriksh هنا. لدينا الشهر والسنة وإجمالي المبيعات وأخيرًا إجمالي المبيعات لـ N من أيام العمل التي اخترناها باستخدام استعلام الطاقة استنادًا إلى معلمة what-if التي قمنا بتطويرها .

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

اتخذ Antriksh نهجًا مختلفًا تمامًا ، حيث استخدم مقياسًا قصيرًا بشكل صادم لحل هذه المشكلة برمتها. أول شيء لاحظته في هذا الأمر هو استخدام الأمر .

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

هذه دالة DAX لا أستخدمها كثيرًا ، ولكنها مناسبة تمامًا لهذا النوع من المشكلات. إذا ألقينا نظرة على دليل SQL BI DAX ، فسنجد أن الدالة GENERATE هي دالة جدول تستخدم كإدخال جدولين مختلفين ، ثم تقوم بعمل مكافئ لأمر SQL CROSS.

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

لذلك يأخذ جدول أساسي (جدول 1) ويتكرر على ذلك ، ثم يأخذ تعبير جدول ثانٍ ويقيم ذلك لكل صف في الجدول الأول ، ثم يعود إلى الجدول كناتج.

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

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

لنفصل هذا المقياس. أول عامل تصفية يتم تطبيقه هنا هو التواريخ [IsBusinessDay] = TRUE. يؤدي هذا إلى إخراج كافة التواريخ التي ليست أيام عطلة نهاية الأسبوع وغير أيام العطلات استنادًا إلى حقل IsBusinessDay في جدول التاريخ الممتد.

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

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

الجزء المثير للاهتمام من هذا يأتي حقًا في مدخلات الجدول. الجدول الأول هو جدول عمود واحد فقط لحقل الشهر والسنة في جدول التاريخ.

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

لكن مدخلات الجدول الثاني هي المكان الذي تحدث فيه الأشياء المثيرة للاهتمام. استخدم Antriksh ثم استخدم المعلمة الديناميكية الخاصة بنا كرقم الصفوف في TOPN.

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

يتم إرفاق مقياس إجمالي المبيعات بالجدول الثاني ، ثم يتم تطبيقه على الجدول الأول.

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

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

فهم مقياس معقد باستخدام لغة ترميز DAX

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

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

لنقم بنسخ جزء TOPN وإنشاء استعلام DAX جديد . تذكر أن استعلامات DAX تبدأ بـ EVALUATE.

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

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

تأخذ وظيفة TOPN هذه قيمة معلمة what-if (والتي تكون في هذه الحالة 5) وتطبقها على حقل تاريخ أمر المبيعات. ثم يتم سحب التواريخ الخمسة الأولى ضمن سياق المرشح بترتيب تصاعدي بناءً على هذا الحقل.

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

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

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

يضيف عمودSales فقط إجمالي المبيعات ضمن سياق عامل التصفية المناسب إلى جدول TOPN.

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

حتى الآن ، لدينا الجدول الأول للشهر والسنة ، والجدول الثاني من TOPN لتواريخ N الأولى من جدول المبيعات ، ثم إجمالي المبيعات المرتبطة بذلك.

استخدام جدول التوليد في لغة ترميز DAX

دعنا نلقي نظرة على ما يفعله هذا الجدول العام. سنعود إلى Tabular Editor وننشئ استعلام DAX جديدًا.

سنبدأ كما نفعل دائمًا مع التقييم ، ولصقه في جزء الإنشاء من الكود ، ثم انقر فوق 5.

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

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

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

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

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

في السياق ، نقوم الآن بتلخيص أول 5 أيام عمل في أبريل ، وأول 5 أيام عمل في مايو ، وما إلى ذلك حتى نصل إلى إجمالي 23،737،430 دولارًا أمريكيًا ، وفي هذه الحالة لا يوجد سياق للشهر والسنة للعمل .

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

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

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

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

لدينا أيضًا مخطط شريطي في الجزء السفلي يتم تعديله ديناميكيًا ليعكس التغييرات التي أجريناها.

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

ضبط عنوان القياس ديناميكيًا

هناك خدعة أخرى أردت أن أريكم إياها. يمكنك إنشاء تعديل ديناميكي على معلمة what-if الخاصة بك وربطها ديناميكيًا بعنوان مقياس.

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

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

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

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

ثم ننتقل إلى الشكل المرئي ، وننتقل إلى التنسيق الشرطي للعنوان ، ونضغط على fx .

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

سنقوم بالتنسيق حسب قيمة الحقل ونختار مقياس العنوان الديناميكي هذا. سيؤدي هذا إلى تغيير اختيار معلمة ماذا لو.

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

خاتمة

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


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

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

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

كيفية حفظ وتحميل ملف 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 لاحتياجات إعداد تقارير الأعمال الخاصة بك.

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته