تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
سأوضح لك كيفية إضافة معلمة في الوظيفة M في استعلام جدول التاريخ . يعتمد هذا المثال على سؤال تم طرحه في . يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي في أسفل هذه المدونة.
كان السؤال حول كيفية تبديل ترقيم اليوم الأول من الأسبوع من 0 إلى 1 . لاحظ أن هذا لا يغير البداية الفعلية ليوم الأسبوع. في جدول التواريخ هذا ، ستكون بداية الأسبوع دائمًا يوم الاثنين. يتعلق الأمر فقط بالإشارة إلى يوم الاثنين باعتباره اليوم الأول بدلاً من اليوم 0.
هذه العملية ليست بالضرورة معقدة ، لكنك تحتاج إلى فهم أساسي لكيفية بناء لغة M. إذا كنت عضوًا في LuckyTemplates ، فيمكنك الاطلاع على . المقدمة تلامس الموضوع.
جدول المحتويات
الدالة M وجدول التاريخ الممتد
اسمحوا لي أن أبدأ بالانتقال إلى Power Query . لقد قمت بالفعل بنسخ وظيفة جدول التاريخ M هنا.
حصلت على الوظيفة M من فئة M Code Showcase في منتدى LuckyTemplates . الكود موجود تحت موضوع .
إذا فتحت المحرر المتقدم ، فهذا هو الرمز.
هناك الكثير من رموز M هناك ، والتي يمكن أن تشتت الانتباه.
إنشاء استعلام اختبار
نظرًا لوجود الكثير مما يحدث داخل دالة M ، سأبدأ باستعلام جديد فارغ بدلاً من ذلك.
سأقوم بتسمية استعلام الاختبار هذا .
بعد ذلك ، سأفتح المحرر المتقدم .
لأنني سأقوم بإنشاء دالة ، سأضيف زوجًا من الأقواس وأحذف كل الشفرة الافتراضية الموجودة هناك.
لبدء تشغيل الوظيفة ، سأعلن عن معلمة اختيارية .
بعد ذلك ، سأضيف متغيرًا. سأسمي هذا المتغير WDStartNum لأنه سيكون رقم بدء يوم من الأسبوع. أحتاج أيضًا إلى الإعلان عن نوعه ، لذلك سأكتب الرقم .
أصرح عن النوع لمنع الأخطاء. إذا تركته كأي نوع ، فهذا يعني أنه يمكنه تمرير جدول أو قيمة تاريخ بدلاً من تمرير الأرقام فقط.
الخطوة التالية هي إضافة جملة let و in .
تحت بند let ، أحتاج إلى اسم متغير. لذلك سأسمي هذا المتغير WDStart .
الآن ، أحتاج إلى اختبار ما إذا كان WDStartNum قد تم تجاوزه. إذا تم تمريره ، فلن يكون مساويًا للصفر . لذلك سأعلن أنه إذا لم يكن WDStartNum مساويًا للصفر ، فأنا أريد إرجاع قيمة .
بالنسبة للفقرة الواردة ، أريد اجتياز نفس الخطوة. لذلك سأضع WDStart هناك ، وهو ما أطلقنا عليه اسم المتغير في وقت سابق تحت بند let.
بمجرد الضغط على Done ، سيتم إنشاء الوظيفة. لذلك سأحاول تمرير قيمة من خلال هذه الوظيفة.
سأحاول كتابة الحرف "أ".
تذكر أنني أعلنت سابقًا أن القيمة يجب أن تكون رقمًا. نظرًا لأنه يدرك أن القيمة التي أدخلتها لا تفي بهذا المطلب ، فلن يسمح لي بإدخال هذه المعلمة.
لذا سأحذف ذلك وأترك الفراغ فارغًا.
بمجرد النقر فوق Invoke ، يتم إرجاع القيمة 0.
بالعودة إلى الاستعلام الأصلي الخاص بي ، فإنه ينص على أنه إذا كانت القيمة لا تساوي فارغة ، فيجب إرجاع WDStartNum. إذا كان يساوي فارغًا ، فيجب إرجاع 0.
بحيث يكون 0 صحيحًا.
هذه المرة ، سأحاول تمرير قيمة عن طريق تغيير الرقم في TestQuery. صحيح أنه يُرجع "1" بمجرد الضغط على مفتاح الإدخال.
الآن ، دعني أحاول اجتياز عام 2020 في TestQuery. بمجرد أن أضغط على مفتاح الإدخال ، فإنه يعود أيضًا لعام 2020.
من الواضح أنني لا أريد أن يحدث هذا. نظرًا لأنني أريد قيمة تمثل بداية الأسبوع ، فأنا أريد ظهور إما 0 أو 1. هذا يعني أنني بحاجة إلى إنشاء اختبار آخر لمعرفة ما إذا كان الرقم الذي تم إدخاله إما 0 أم 1. يمكنني استخدام وظيفة List.Contains لهذا الغرض.
باستخدام القائمة
لقد أنشأت استعلامًا فارغًا وأدخلت List.Contains دون استخدام أقواس.
بمجرد الضغط على مفتاح الإدخال ، يمكنني رؤية الوثائق الخاصة بهذه الوظيفة.
List.Contains يشير إلى ما إذا كانت القائمة تحتوي على قيمة.
لذلك فهي تتطلب قائمة كمعامل أول ، ثم تضاف قيمة بعد ذلك. إذا تم العثور على هذه القيمة داخل القائمة ، فإنها ترجع true. خلاف ذلك ، فإنه سيعود خطأ.
سأفتح المحرر المتقدم مرة أخرى حتى أتمكن من إجراء التغييرات اللازمة على استفساري.
بدلاً من اختبار ما إذا كانت القيمة لا تساوي null ، سأستخدم List.Contains .
الآن ، سأقدم قائمة بالقيم التي سيتم تطبيقها على هذه الوظيفة.
سأستخدم الأقواس المتعرجة كأداة تهيئة القائمة. داخل هذه الأقواس المتعرجة ، سأضع 0 ، 1. سأضيف فاصلة بعد إغلاق القوس.
بالنسبة للمعامل الثاني ، سأستخدم WDStartNum. بعد ذلك ، سأضيف قوس الإغلاق.
مع وجود هذا في مكانه ، فهذا يعني أن 0 أو 1 يجب أن يعطيني WDStartNumber. إذا تم وضع أي شيء بخلاف 0 أو 1 ، يجب أن أحصل على النتيجة 0.
اسمحوا لي أن أختبر ذلك من خلال وضع 2020 في TestQuery. كما هو متوقع ، يؤدي هذا إلى إرجاع "0" (صفر).
هذا لأن القيمة 2020 ليست في القائمة.
إضافة المعلمة إلى دالة M.
الآن بعد أن أصبحت متأكدًا من أن الكود يعمل ، يمكنني أخيرًا وضعه داخل جدول التاريخ الفعلي والوظيفة M. سأفتح المحرر المتقدم ثم سأقوم بنسخ المنطق .
ثم سأدخل في استعلام جدول التاريخ.
سأفتح وظيفة M الأصلية من خلال المحرر المتقدم .
بعد ذلك ، سأقوم بلصق الكود الخاص بي هناك. لنتأكد من وجود فاصلة في نهاية السطر.
بعد ذلك ، سأقوم بتمييز اسم المعلمة الخاص بي ونسخه .
ثم سأضيف هذه المعلمة هنا .
لاحظ أنه لا بد لي من إضافة فاصلة إلى نهاية السطر الحالي أولاً ، ثم يجب أن أعلن أن هذه المعلمة اختيارية . ثم يمكنني وضع WDStartNum وإضافة النوع .
لقد أضفت المعلمة وقمت أيضًا بتضمين المنطق. لكني أحتاج أيضًا إلى التأكد من حصولي على النتائج المتوقعة. لذلك سأبحث عن سطر الكود الذي يغطي يوم الأسبوع.
بعد ذلك ، سأضيف + WDStart .
سوف أنقر فوق تم لإغلاق المحرر. ثم سأقوم باستدعاء الاستعلام.
بالنسبة إلى تاريخ البدء ، سأضع 1 يناير 2020 ، ثم سأستخدم 31 ديسمبر 2020 باعتباره تاريخ الانتهاء.
سأستخدم الرقم "7" كشهر بداية السنة المالية ، ثم سأضع الرقم "0" باعتباره WDStartNum.
سأضغط على Invoke. الآن ، لدي جدول التواريخ.
سأعيد تسميته للتأكد من سهولة التعرف عليه.
الآن ، سوف أتحقق من النتائج.
هذا هو عمود DayOfWeek الخاص بي.
يظهر أن يوم الاثنين قد عاد كـ 0.
بالعودة إلى السؤال في المنتدى ، أحتاج إلى تغيير رقم بداية الأسبوع إلى 1 بدلاً من 0. لذا سأغير ذلك في المقياس.
عندما أضغط على مفتاح الإدخال ، سيكون يوم الاثنين الآن هو اليوم الأول بدلاً من اليوم 0.
بالنظر إلى نطاق الأرقام ، يتم تشغيله الآن من 1 إلى 7 بدلاً من 0 إلى 6.
ماذا يحدث إذا مررت قيمة فارغة؟
ثم يعود DayOfWeek ليوم الاثنين إلى الصفر.
استخدام الدالة M لإنشاء جدول تاريخ LuckyTemplates ممتد
دليل المبتدئين إلى رمز M في LuckyTemplates
إعداد تاريخ بدء ديناميكي وتاريخ انتهاء لجداول تاريخ Power Query
خاتمة
هذه هي الطريقة التي يمكنك بها إضافة معلمة إضافية مباشرة إلى الدالة M في استعلام جدول التاريخ. العملية ليست معقدة على الإطلاق ، كما ذكرت سابقًا. طالما أن لديك مصدرًا لرمز M ، فسيكون ذلك سهلاً بدرجة كافية من هناك.
مرة أخرى ، يمكنك دائمًا التحقق من دورة تحويل البيانات والنمذجة المتقدمة في Online إذا لم تكن لديك خلفية عن كيفية عمل أكواد M.
أتمنى لك كل خير،
ميليسا
***** قوة التعلم BI؟ *****
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.