ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
في هذا البرنامج التعليمي ، سنقوم بفحص سؤال مثير للاهتمام تم طرحه في حول كيفية دمج عدد متغير من الأعمدة في جدول Power Query ديناميكيًا. يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي أسفل هذه المدونة.
يتعامل هذا السيناريو مع عمليات تصدير البيانات الأولية التي تتسبب في تسرب البيانات إلى عدد غير معروف من الأعمدة المجاورة. عندما تنظر إلى المثال ، يمكنك رؤية الوصف امتد إلى العمود 4 ، والوصف 2 مقسم على عمودين متجاورين. لكن هذا لن يكون الحال دائمًا. في الدورة التالية ، يمكن أن يتغير هذا العدد من الأعمدة.
قبل أن ننتقل إلى الحل ، دعنا نفحص رمز M الذي ينشئه Power Query عند دمج الأعمدة.
جدول المحتويات
كود M لجدول Power Query
هناك طريقتان لدمج الأعمدة. أحدهما هو تحديد عمود الوصف والضغط لأسفل على مفتاح Shift أو مفتاح التحكم ثم تحديد العمود 4 أيضًا. ثم ، انقر بزر الماوس الأيمن واختر دمج الأعمدة .
أو ، في علامة التبويب التحويل ، حدد دمج الأعمدة . وسيظهر مربع الحوار هذا الذي يسمح لك بتحديد الفاصل.
في المربع المنبثق ، اختر Tab ، ويمكنك إدخال اسم عمود جديد. في هذه الحالة ، قمت بتسميتها الوصف.
في شريط الصيغة ، نرى رمز M الذي أنشأته خطوة التحويل هذه.
إذا كان شريط الصيغة غير مرئي على شاشتك ، فانتقل إلى علامة التبويب عرض وقم بتشغيله.
لذا فإن الوظيفة التي يستخدمها Power Query لدمج الأعمدة هي Table.CombinedColumns . المعلمة الأولى التي يتطلبها هو الجدول. يتم إرجاع هذا الجدول بالخطوة السابقة في الكود الخاص بنا ، لذا في الخطوات التطبيقية ، سترى أن هذا يسمى المصدر .
بعد ذلك ، قام بترميز أسماء الأعمدة في قائمة. هنا ترى مُهيئ القائمة ، وبين القيم النصية ، وصف اسم العمود ، وعمود اسم العمود 4. ثم تستدعي دالة M أخرى لدمج القيم النصية في تلك الأعمدة.
وأخيرًا ، يقوم بتمرير اسم العمود الجديد كنص حتى نتمكن من تعديل ذلك.
لذلك إذا أردنا أن تدمج هذه الوظيفة عددًا متغيرًا من الأعمدة ديناميكيًا ، فسيتعين علينا تغيير قيمة المعلمة الثانية التي تحتوي الآن على قائمة بأسماء الأعمدة المشفرة.
دمج عدد متغير من الأعمدة في جدول Power Query
سأعود إلى استعلام البيانات الأولية ، وإذا ألقينا نظرة فاحصة على أسماء الأعمدة ، فإننا نرى أن كل عمود من أعمدة الانسكاب مجهول الهوية. ليس لديهم أسماء علم ، لكنهم جميعًا يبدأون بعمود النص ، متبوعًا برقم. دعونا نرى ما إذا كان يمكننا استخدام ذلك. أولاً ، سأقوم بإنشاء مرجع بالنقر بزر الماوس الأيمن هنا واختيار مرجع .
وللحصول على أسماء الأعمدة داخل شريط الصيغة ، يمكنني إضافة Table.ColumnNames . تقوم هذه الوظيفة بإرجاع قائمة بجميع أسماء الأعمدة من هذا الجدول. دعنا نعيد هذا إلى جدول بالضغط على To Table .
في هذا المربع المنبثق ، انقر فوق "موافق".
بعد ذلك ، في علامة التبويب إضافة عمود ، سأختار التنسيق ، ثم قص .
الآن ، هذا ليس تحولًا أريد القيام به ، لكنه يولد الجزء الأكبر من رمز M بالنسبة لي. كل ما علي فعله هو استبدال وظيفة القطع هذه بمنطقي الخاص .
لذا داخل شريط الصيغة ، بدلاً من Text.Trim ، يمكننا أن نقول ما إذا كان Text.StartsWith ، ثم أشر إلى العمود 1 ، وسأنسخ ذلك على الفور. إنها تريد ذلك النص الذي نبحث عنه ، لذلك سيكون العمود. لذلك إذا بدأ بعمود نصي ، فنحن نريد "فارغ" - لكل شيء آخر ، نريد أي شيء موجود في العمود 1. يمكننا أيضًا إعادة تسمية هذا العمود ، لذلك داخل شريط الصيغة ، بدلاً من Trim ، دعنا نطلق عليه GroupColumn .
الآن ، كل ما علينا فعله هو ملء هذه القيم. لذلك سوف أنقر بزر الماوس الأيمن فوق رأسي ، وحدد Fill ، و Down .
لذلك في المرة التالية التي تأتي فيها البيانات وتغير هذا العدد من الأعمدة ، ستلتقطها هذه المجموعة تلقائيًا.
دعنا نعيد تسمية هذا الاستعلام ، وسأطلق عليه مجموعات الأعمدة.
دعنا نتأكد من تعطيل حمله لأن هذا مجرد استعلام داعم.
يمكنني الإشارة إلى هذا الاستعلام الداعم وسأعيد تسميته لاحقًا. دعنا نترك ذلك الآن. لذا ، إذا كنت تتذكر ، فقد بدأنا بدمج عمودين وأنشأ ذلك قائمة مشفرة بأسماء الأعمدة ، ولكن يمكننا الآن التصفية حسب الوصف في GroupColumn الخاص بنا .
لذلك إذا قمنا بإجراء هذا المرشح على الوصف داخل العمود 1 ، فسنحصل على الأعمدة التي تفي بهذه المعايير.
ومع ذلك ، هذا جدول وليس قائمة. نحتاج إلى استخراج ما تبقى في هذا العمود الأول لأننا نحتاج إلى تضمين هذه الأعمدة في عملية الدمج الخاصة بنا. للقيام بذلك ، يمكننا النقر بزر الماوس الأيمن فوق رأس العمود 1 وتحديد التنقل لأسفل .
والآن لدينا قائمة. لذلك دعونا نعطي هذا الاستعلام اسمًا مناسبًا ( ListDescr ) ودعنا نتحقق مما إذا كان قد تم تعطيله من التحميل.
يمكننا الآن الرجوع إلى استعلامنا عن النتيجة واستبدال الوسيطة الثانية هنا بقائمتنا الديناميكية. هنا ، يمكننا الرجوع إلى ListDescr .
دعنا نكرر هذا في الوصف 2 أيضًا. سأذهب إلى استعلام ColumnGroups الخاص بي. سأقوم بإنشاء مرجع آخر وتحديد الأعمدة التي أحتاجها. ثم سأقوم بتصفية الوصف 2 ، والذي سيعيد هذه الأعمدة الثلاثة. سوف أنقر بزر الماوس الأيمن فوق رأسي وحدد "التنقل لأسفل" وأعيد تسمية هذا الاستعلام أيضًا ( ListDescr2 ).
سأعود بعد ذلك إلى استعلام النتائج الخاص بي ، وحدد عمود الوصف 2 ، واضغط على مفتاح التحول أو عنصر التحكم لتحديد العمود التالي أيضًا (العمود 2). سأقوم بالنقر بزر الماوس الأيمن فوق الرأس واختيار دمج الأعمدة .
في المربع المنبثق ، سأختار Tab كفاصل وسأسمي هذا الوصف 2.
سأقوم فقط بتغيير اسم العمود هنا على شريط الصيغة. سوف أقوم بتغيير تلك القائمة المشفرة أيضًا من القائمة التي أنشأناها للتو. والآن ، كما ترى ، التقط هذا أيضًا العمود 8 الذي استبعدناه سابقًا.
كيفية دمج الاستعلامات في
معلمات استعلام LuckyTemplates في LuckyTemplates: تحسين جداول
فرز أعمدة جدول التاريخ في LuckyTemplates
خاتمة
في هذه المدونة ، أوضحت لك كيفية استخدام أكواد M في Power Query لدمج الأعمدة ديناميكيًا. ليس الأمر صعبًا طالما أنك على دراية بكيفية عمل Power Query وما هي أكواد M التي يجب استخدامها.
آمل أن تكون قد استمتعت بهذا. يرجى التحقق من الروابط أدناه لمزيد من المحتوى ذي الصلة.
أتمنى لك كل خير!
ميليسا
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته