ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
بالنسبة إلى البرنامج التعليمي اليوم ، سنقوم بإنشاء وظيفة استعلام مخصصة لـ LuckyTemplates والتي ستتعامل مع تنسيق مشترك يصعب التعامل معه للبيانات المكدسة. يمكن إعادة استخدام هذه التقنية بسهولة في تقارير متعددة وجداول متعددة. يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي أسفل هذه المدونة.
هذا استمرار للدرس التعليمي الذي قمت به مؤخرًا حيث تعاملنا مع تنسيق شائع يصعب التعامل معه للبيانات المكدسة واستخدمنا Modulo و Pivot وبعض وظائف التنظيف باستخدام Power Query لتحويل تلك البيانات إلى تنسيق منظم وعملي.
من المحتمل جدًا أنك ستحتاج إلى تكرار هذه العملية. إذا كان هذا النوع من التنسيق ناتجًا عن نسخ ولصق ، فمن المحتمل أن يحدث مرة أخرى. لذلك ، في هذه الحالة ، قد ترغب في إنشاء وظيفة مخصصة يمكن إعادة استخدامها في تقارير متعددة وجداول متعددة ، بغض النظر عن كيفية تسميتها وما هو موجود أيضًا في هذه الجداول.
جدول المحتويات
كيفية إنشاء وظائف الاستعلام المخصصة في LuckyTemplates وتصحيحها
دعنا ننتقل إلى Power Query في هذا الشأن. إذا انتقلنا إلى جدول البيانات الخاص بنا ، في المحرر المتقدم ، فقد حصلنا على رمز M لكيفية الانتقال من بيانات المكدس إلى التنسيق المطلوب.
إذا أردنا إعادة استخدام هذا ، فنحن فقط نضغط بزر الماوس الأيمن على البيانات ونقول ، إنشاء وظيفة .
تقول أنها لن تشير إلى أي معلمة ، لكن لا بأس في إنشاء وظيفة بدون معلمات. سنقوم بالإجابة ، نعم ، لأننا سنضيف المعلمات كما نذهب في المحرر المتقدم. سنسمي هذه الوظيفة ، Unstack - 3 Elements ، فقط لأننا حصلنا على الصفوف الثلاثة بالصيغة الأولية. إذا كان لدينا تنسيق مكون من صفين ، فربما نبني تنسيقًا منفصلاً يتكون من عنصرين أو أربعة.
الآن ، لدينا هذا الاستدعاء ، ليس لدينا أي معلمات ، ودعنا ننتقل إلى المحرر المتقدم ونبدأ العمل على هذا.
أولاً ، لسنا بحاجة إلى هذا المصدر. سنستخدم معلمات الوظيفة لتحديد مصدرنا.
نريد تحديد المعلمة التي ستأتي. نقوم بذلك باستخدام قوس مفتوح ثم اسم المعلمة. دعنا نسمي هذا ، Stack ، والذي سيكون عمودًا واحدًا من البيانات يمثل بيانات المكدس غير المنسقة التي تأتي من لصق عناوين البريد الإلكتروني.
نريد أن يأتي هذا كقائمة ونريد أن ينتج عن ذلك جدول لأننا عندما قمنا بإلغاء تنشيطه من هذا العمود الفردي إلى عدة أعمدة ، فإنه ينتقل من قائمة إلى جدول. والآن ، نحتاج إلى تحويل تلك القائمة الواردة إلى جدول حتى نتمكن من إضافة فهرسنا ، وبدء تشغيل Modulo unpivot ، والقيام بكل الأشياء التي نحتاج إلى القيام بها لإعادة تنسيقها.
سنسميها ConvertStack ، وستستخدم وظيفة تسمى Table.FromList . مثل العديد من وظائف M ، فإنه يفعل بالضبط ما يقوله. انها مجرد قائمة. في هذه الحالة ، ستكون القائمة هي قائمة Stack الخاصة بنا. وبعد ذلك ، نحتاج إلى استبدال المصدر هنا بـ ConvertStack الخاص بنا. تبدو جيدة جدا! ليس لدينا أخطاء في بناء الجملة ، لذلك دعونا نضغط على Done.
الآن يعطينا ما أردناه ، وهو القدرة على اختيار عمود.
بعد ذلك ، سنختار TestData ، وهي البيانات المنسقة بشكل خاطئ. سنختار عمود القيمة ، ثم انقر فوق موافق. بعد ذلك ، نضغط على Invoke.
ومع ذلك ، حصلنا على هذا الخطأ. من الصعب حقًا تحديد ماهية هذا الخطأ. تتمثل إحدى مشكلات الوظائف المخصصة في أنها لا تكسر الخطوات التطبيقية ، بل تحصل فقط على خطوة واحدة للوظيفة المخصصة بأكملها. لكن هناك طريقة للتغلب على ذلك في تصحيح الأخطاء سأريكم إياها. ستسهل كثيرًا معرفة ما يحدث هنا.
بدلاً من تشغيل هذا في الوقت الحالي كدالة ، سنقوم بتشغيله كاستعلام. سنقوم فقط ببدء استدعاء Stack يدويًا. يتعين علينا تحديد ماهية Stack لأننا لا نرسمها من خلال التفاعل باختيارها في Invoke. لذلك ، لدينا Stack يساوي TestData وعمود القيمة في TestData.
ما يفعله هو أنه يقسمها الآن إلى الخطوات التطبيقية. سيساعدنا هذا في معرفة سبب عدم نجاح ذلك. لاحظ شيئًا مثيرًا للاهتمام عندما نسحب Stack إلى الداخل. في البداية ، يتم سحبها في TestData [القيمة] ، ولكن عندما نقوم بتحويلها إلى جدول ، بدلاً من القيمة هي رأس العمود ، يكون رأس العمود الآن Column1.
تذكر رسالة الخطأ ، أنه لم يتمكن من العثور على عمود القيمة. والسبب في عدم تمكنه من العثور على عمود القيمة هو أن الدالة Table.FromList تعيد تسمية ذلك إلى Column1.
إذا انتقلنا إلى أسفل "الخطوات التطبيقية" ، يمكنك أن ترى أنه في الخطوة المخصصة المضافة حيث حصلنا على الخطأ. هذا حيث لم يتم العثور على قيمة السجل.
وبالتالي ، إذا انتقلنا إلى المحرر المتقدم ، فسنجد ذلك الحقل المخصص ، ويمكننا أن نرى أنه موجود في النص. أزل المكان الذي نخرج فيه تلك الأحرف غير المرغوب فيها التي لم نكن بحاجة إليها ، لكنها لا تزال تشير إلى حقل القيمة. سنقوم بتغيير ذلك إلى Column1. وبالمثل ، في حقل الأعمدة التي تمت إزالتها ، يشير إلى القيمة ، لذلك سنقوم بتغيير ذلك إلى العمود 1 أيضًا.
وعندما نصل إلى نهاية "الخطوات التطبيقية" ، فإننا نحصل على النتيجة النهائية المثالية.
الآن بعد أن علمنا أن هذا يعمل بشكل صحيح ، لدينا شيء واحد آخر لنفعله. تذكر أنه من أجل تصحيحه ، قمنا بتحويل الوظيفة المخصصة إلى استعلام. وبالتالي ، نحتاج الآن إلى أخذ هذا الاستعلام وإعادته إلى دالة.
إنشاء وظيفة تنظيف نص مخصص في
التعليمات البرمجية لـ Power Query M في أعمدة Power Query المخصصة | استعلام وعوامل دالة LuckyTemplates في محرر الاستعلام
خاتمة
في هذا البرنامج التعليمي ، أنشأنا هذه الوظيفة المخصصة ، وقمنا بتصحيحها ، واختبرناها ، وهي تعمل بشكل رائع. والآن ، في أي وقت يكون لدينا مكدس من ثلاثة عناصر ، يمكننا فقط تحديد هذا الجدول ، واختيار هذا العمود داخل الجدول ، وتشغيل هذه الوظيفة المخصصة. ثم ، قم بتطبيق Modulo ، unpivot ، والتنظيف.
يجب أن يمنحك هذا بعض الأدوات الرائعة من حيث إنشاء وظائف مخصصة. تذكر أيضًا هذه الحيلة حول تصحيح الأخطاء عن طريق إعادتها إلى استعلام من دالة ثم التبديل مرة أخرى بعد التصحيح. إنها أداة قيمة حقًا تجعل من السهل جدًا تصحيح أخطاء الوظائف المخصصة.
أتمنى لك كل خير!
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته