ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
في منشور المدونة هذا ، سنلقي نظرة فاحصة على وظيفة مخصصة لتنظيف النص قمت بإنشائها لسلسلتنا المستمرة في LuckyTemplates TV تسمى . يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي في أسفل هذه المدونة.
بالنسبة للأسبوع الثاني ، لدينا بعض البيانات الفوضوية التي تحتاج إلى تنظيف. هدفنا هنا هو تنظيف جميع القيم النصية في كلا العمودين لأعلى.
لهذه المهمة ، قمت بإنشاء وظيفة نص نظيف.
لكن أولاً ، دعنا نلقي نظرة سريعة على كود M.
تأخذ هذه الوظيفة معلمة واحدة تسمى myText. يجب أن تكون قيمته من نوع النص ويجب أن تُرجع الدالة قيمة نصية لأنه لن تُرجع جميع المتغيرات المدرجة أدناه قيمة نصية.
الإعلان عن نوع الإرجاع سينتج عنه خطأ. لمنع حدوث هذا الخطأ ، يمكنني التعليق على ذلك الآن.
إذا أردنا أن نرى ما سيعيده المتغير الأول ، فكل ما علينا فعله هو الرجوع إليه بالاسم ، بعد جملة in. لذا سأقوم بنسخ متغير ToRemove ، ولصقه في المحصلة النهائية ، ثم اضغط على حسنًا.
لرؤية نتيجة هذه الوظيفة ، علينا استدعاؤها. لذلك دعونا نضيف عمودًا مخصصًا إلى هذا الاستعلام.
ثم قم باستدعاء وظيفتنا ، وحدد هذا العمود المدمج ، واضغط على حسنًا.
جدول المحتويات
إنشاء القوائم من استعلام فارغ
نرى الآن أن خطوة ToRemove تنشئ قائمة. في الواقع ، إنها مزيج من قائمتين.
أنشأت القائمة الأولى علامات الاقتباس والقائمة الثانية عبارة عن مجموعة من الأحرف التي أردت إزالتها.
كيف أنشأت هذه القائمة؟
حسنًا ، لقد استخدمت وظيفة تسمى Txt.ToList.
يمكنك الوصول إلى وثائق الوظيفة الداخلية عن طريق إنشاء استعلام فارغ ، وإدخال اسم الوظيفة بدون الأقواس ثم الضغط على Enter.
نرى أن Text.ToList يُرجع قائمة بقيم الأحرف من قيمة نصية معينة.
دعنا نلصق بعض النصوص ونستدعي هذه الوظيفة.
يقوم بإنشاء استعلام جديد ويمكنك أن ترى أن هذه القائمة تحتوي على جميع الأحرف التي نراها هنا في النص.
تذكر أنني أضفت قائمة إضافية ، أليس كذلك؟ لقد جمعت بين قائمتين واستخدمت علامة العطف للقيام بذلك.
دعونا نعيد إنشاء ذلك الآن. لقد استخدمت علامة العطف ومهيئ القائمة ، ثم أدخلت علامات الاقتباس هذه.
نرى الآن أنه قد تمت إضافة علامات الاقتباس إلى هذه القائمة ، ولكن لماذا أنشأت قائمة؟
حسنًا ، في الخطوة التالية لوظيفة تنظيف النص ، استخدمت وظيفة M تسمى Text. يزيل.
وترى أنه يمكنك إدخال نص ثم قائمة بالأحرف التي تريد إزالتها من تلك السلسلة.
دعنا نعود إلى وظيفة تنظيف النص لدينا.
ل. أنشأت إزالة هاتين القائمتين ، ثم جمعتهما معًا في قائمة واحدة.
ثم دعونا نلصق متغير CleanText. تستدعي عبارة 'in' دالة M Text.Remove وتمرير متغير myText ، ثم تستدعي قائمة To.Remove. دعونا نرى ما يفعله هذا.
دعنا نعود إلى استعلامنا. لم يعد هذا يعيد قائمة ، لكنه يُرجع بعض القيم النصية.
الاقتطاع في Power Query
الخطوة التالية هي التشذيب . كما ترون من الصورة أعلاه ، لدينا بعض المسافات الإضافية وفاصلة لاحقة في النهاية نريد التخلص منها. للقيام بذلك ، يمكننا استخدام وظائف القطع. دعنا نعود إلى الاستعلام لفحص كود M.
في رمز M ، قمت بتداخل وظيفتين متداخلتين. تزيل وظيفة السلسلة الأولى المسافات الإضافية في مقدمة ونهاية متغير CleanText الخاص بنا.
بالنسبة للنصوص المتبقية التي لدينا ، سنقوم أيضًا بإزالة المسافات من السلسلة الناتجة.
سنقوم أيضًا بإزالة الفاصلة اللاحقة.
دعونا نرى النتيجة. سأقوم بنسخ اسم المتغير ، ولصقه بعد جملة "in" ، ثم انقر فوق تم. عندما نقوم بتحديث الاستعلام الخاص بنا ، يمكنك أن ترى أن المسافات الإضافية قد اختفت وأن الفاصلة اللاحقة قد أزيلت.
في الخطوات الأخيرة من الاستعلام الخاص بي ، قمت فقط باستبدال بعض القيم النصية.
في الحالة الأخيرة ، استبدلت تلك الشرطة السفلية بمسافة. دعنا ننسخ ذلك ولصقه بعد جملة "in". لقد قمت أيضًا بتمكين نوع الإرجاع مرة أخرى.
دعنا نعود إلى استعلامنا ونفحص النتائج - جيد جدًا حتى الآن!
الآن ، لا نريد إنشاء أعمدة جديدة لاستدعاء وظيفتنا ، أليس كذلك؟ ما يمكننا فعله هو تحويل العمود 1 في عمود الدمج بدلاً من ذلك.
سأقوم بإزالة خطوة العمود المخصصة هذه.
ثم سأستخدم واجهة المستخدم لإنشاء الجزء الأكبر من الشفرة لنا. في علامة تبويب التحويل ، حدد كلا العمودين ، وانتقل إلى التنسيق ، وحدد وظيفة.
لا يهم حقًا الوظيفة التي تم تحديدها لأن هذا هو رمز M الذي تم إنشاؤه بواسطة واجهة المستخدم. يمكننا الآن استبدال هذا النص. وظيفة أقل ...
... من خلال وظيفة النص النظيف. نأمل أن تحصل على سبب اضطراري إلى إضافة fx في المقدمة. لا توجد "وظيفة" تبدأ بذلك.
عندما نضغط على "موافق" ، يمكنك أن ترى أن نصوصنا قد تم تنظيفها. هذا رائع.
خاتمة
لماذا كان علينا أن نواجه كل المشاكل في إنشاء وظيفة تنظيف مخصصة؟ حسنًا ، إذا كان من المحتمل أن تضطر إلى تكرار هذه الخطوة أو استخدام منطق مماثل في المستقبل ، فيمكنك تخزين استعلام الوظيفة هذا.
من خلال القيام بذلك ، سيؤدي ذلك إلى تسريع عملية تطوير الاستعلام في مرحلة لاحقة. سبب وجيه آخر هو أنه من الممتع القيام به.
أتمنى أن تكون قد استمتعت بهذا البرنامج التعليمي. إذا قمت بذلك ، من فضلك لا تنسى الاشتراك في قناة LuckyTemplates .
ميليسا
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته