دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

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

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

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

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

اسمحوا لي أن أبدأ بالانتقال إلى Power Query . لقد قمت بالفعل بنسخ وظيفة جدول التاريخ M هنا.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

حصلت على الوظيفة M من فئة M Code Showcase في منتدى LuckyTemplates . الكود موجود تحت موضوع .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

إذا فتحت المحرر المتقدم ، فهذا هو الرمز.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

هناك الكثير من رموز M هناك ، والتي يمكن أن تشتت الانتباه.

إنشاء استعلام اختبار

نظرًا لوجود الكثير مما يحدث داخل دالة M ، سأبدأ باستعلام جديد فارغ بدلاً من ذلك.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

سأقوم بتسمية استعلام الاختبار هذا .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بعد ذلك ، سأفتح المحرر المتقدم .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

لأنني سأقوم بإنشاء دالة ، سأضيف زوجًا من الأقواس وأحذف كل الشفرة الافتراضية الموجودة هناك.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

لبدء تشغيل الوظيفة ، سأعلن عن معلمة اختيارية .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بعد ذلك ، سأضيف متغيرًا. سأسمي هذا المتغير WDStartNum لأنه سيكون رقم بدء يوم من الأسبوع. أحتاج أيضًا إلى الإعلان عن نوعه ، لذلك سأكتب الرقم .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

الخطوة التالية هي إضافة جملة let و in .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

تحت بند let ، أحتاج إلى اسم متغير. لذلك سأسمي هذا المتغير WDStart .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

سأحاول كتابة الحرف "أ".

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

لذا سأحذف ذلك وأترك ​​الفراغ فارغًا.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بمجرد النقر فوق Invoke ، يتم إرجاع القيمة 0.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بحيث يكون 0 صحيحًا.

هذه المرة ، سأحاول تمرير قيمة عن طريق تغيير الرقم في TestQuery. صحيح أنه يُرجع "1" بمجرد الضغط على مفتاح الإدخال.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

الآن ، دعني أحاول اجتياز عام 2020 في TestQuery. بمجرد أن أضغط على مفتاح الإدخال ، فإنه يعود أيضًا لعام 2020.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

باستخدام القائمة

لقد أنشأت استعلامًا فارغًا وأدخلت List.Contains دون استخدام أقواس.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

List.Contains يشير إلى ما إذا كانت القائمة تحتوي على قيمة.

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

سأفتح المحرر المتقدم مرة أخرى حتى أتمكن من إجراء التغييرات اللازمة على استفساري.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بدلاً من اختبار ما إذا كانت القيمة لا تساوي null ، سأستخدم List.Contains .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

الآن ، سأقدم قائمة بالقيم التي سيتم تطبيقها على هذه الوظيفة.

سأستخدم الأقواس المتعرجة كأداة تهيئة القائمة. داخل هذه الأقواس المتعرجة ، سأضع 0 ، 1. سأضيف فاصلة بعد إغلاق القوس.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بالنسبة للمعامل الثاني ، سأستخدم WDStartNum. بعد ذلك ، سأضيف قوس الإغلاق.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

مع وجود هذا في مكانه ، فهذا يعني أن 0 أو 1 يجب أن يعطيني WDStartNumber. إذا تم وضع أي شيء بخلاف 0 أو 1 ، يجب أن أحصل على النتيجة 0.

اسمحوا لي أن أختبر ذلك من خلال وضع 2020 في TestQuery. كما هو متوقع ، يؤدي هذا إلى إرجاع "0" (صفر).

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

هذا لأن القيمة 2020 ليست في القائمة.

إضافة المعلمة إلى دالة M.

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

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

ثم سأدخل في استعلام جدول التاريخ.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

سأفتح وظيفة M الأصلية من خلال المحرر المتقدم .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بعد ذلك ، سأقوم بتمييز اسم المعلمة الخاص بي ونسخه .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

ثم سأضيف هذه المعلمة هنا .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

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

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

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بعد ذلك ، سأضيف + WDStart .

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

سوف أنقر فوق تم لإغلاق المحرر. ثم سأقوم باستدعاء الاستعلام.

بالنسبة إلى تاريخ البدء ، سأضع 1 يناير 2020 ، ثم سأستخدم 31 ديسمبر 2020 باعتباره تاريخ الانتهاء.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

سأستخدم الرقم "7" كشهر بداية السنة المالية ، ثم سأضع الرقم "0" باعتباره WDStartNum.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

سأضغط على Invoke. الآن ، لدي جدول التواريخ.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

سأعيد تسميته للتأكد من سهولة التعرف عليه.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

الآن ، سوف أتحقق من النتائج.

هذا هو عمود DayOfWeek الخاص بي.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

يظهر أن يوم الاثنين قد عاد كـ 0.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بالعودة إلى السؤال في المنتدى ، أحتاج إلى تغيير رقم بداية الأسبوع إلى 1 بدلاً من 0. لذا سأغير ذلك في المقياس.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

عندما أضغط على مفتاح الإدخال ، سيكون يوم الاثنين الآن هو اليوم الأول بدلاً من اليوم 0.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

بالنظر إلى نطاق الأرقام ، يتم تشغيله الآن من 1 إلى 7 بدلاً من 0 إلى 6.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

ماذا يحدث إذا مررت قيمة فارغة؟

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام

ثم يعود DayOfWeek ليوم الاثنين إلى الصفر.

دالة M لجدول التاريخ - كيفية إضافة معلمة في محرر الاستعلام


استخدام الدالة M لإنشاء جدول تاريخ LuckyTemplates ممتد
دليل المبتدئين إلى رمز M في LuckyTemplates
إعداد تاريخ بدء ديناميكي وتاريخ انتهاء لجداول تاريخ Power Query

خاتمة

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

مرة أخرى ، يمكنك دائمًا التحقق من دورة تحويل البيانات والنمذجة المتقدمة في Online إذا لم تكن لديك خلفية عن كيفية عمل أكواد M.

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

ميليسا

***** قوة التعلم BI؟ *****






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