المحتويات

في بعض الأحيان توجد مواقف لا يُعرف فيها مسبقًا عدد الصفوف التي يجب استيرادها من البيانات المصدر بالضبط وأيها. لنفترض أنه يتعين علينا تحميل البيانات من ملف نصي إلى Power Query ، والذي ، للوهلة الأولى ، لا يمثل مشكلة كبيرة. تكمن الصعوبة في أن الملف يتم تحديثه بانتظام ، وقد يحتوي غدًا على عدد مختلف من الأسطر التي تحتوي على بيانات ، أو رأس من ثلاثة ، وليس سطرين ، وما إلى ذلك:

استيراد جزء عائم في Power Query

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

سيكون من الرائع أن يحدد الاستعلام نفسه بداية ونهاية كتلة النص "العائم" للاستيراد.

يعتمد الحل الذي أريد اقتراحه على فكرة أن بياناتنا تحتوي على بعض الكلمات الرئيسية أو القيم التي يمكن استخدامها كعلامات (ميزات) لبداية ونهاية كتلة البيانات التي نحتاجها. في مثالنا ، ستكون البداية عبارة عن سطر يبدأ بالكلمة SKU، والنهاية سطر مع الكلمة الإجمالي. من السهل تنفيذ التحقق من صحة الصف في Power Query باستخدام عمود شرطي - نظير للدالة IF (إذا) في Microsoft Excel.

دعونا نرى كيف نفعل ذلك.

أولاً ، دعنا نحمل محتويات ملفنا النصي في Power Query بالطريقة القياسية - من خلال الأمر البيانات - إحضار البيانات - من ملف - من ملف نصي / CSV (بيانات - إحضار بيانات - من ملف - من ملف نصي / CSV). إذا كان لديك Power Query مثبتًا كوظيفة إضافية منفصلة ، فستكون الأوامر المقابلة في علامة التبويب استفسار الطاقة:

استيراد جزء عائم في Power Query

كما هو الحال دائمًا ، عند الاستيراد ، يمكنك تحديد حرف فاصل العمود (في حالتنا ، هذه علامة تبويب) ، وبعد الاستيراد ، يمكنك إزالة الخطوة المضافة تلقائيًا نوع معدل (نوع تم تغييره)، لأنه من السابق لأوانه تعيين أنواع البيانات للأعمدة:

استيراد جزء عائم في Power Query

الآن مع الأمر إضافة عمود - عمود شرطي (إضافة عمود - عمود شرطي)دعنا نضيف عمودًا مع التحقق من شرطين - في بداية ونهاية الكتلة - وعرض أي قيم مختلفة في كل حالة (على سبيل المثال ، الأرقام 1 и 2). إذا لم يتم استيفاء أي من الشروط ، ثم الإخراج فارغة:

استيراد جزء عائم في Power Query

بعد النقر على OK نحصل على الصورة التالية:

استيراد جزء عائم في Power Query

الآن دعنا ننتقل إلى علامة التبويب. تحول واختيار فريق تعبئة لأسفل (تحويل - تعبئة - أسفل) - ستمتد الأحادي والثنائي إلى أسفل العمود:

استيراد جزء عائم في Power Query

حسنًا ، إذن ، كما قد تتخيل ، يمكنك ببساطة تصفية الوحدات في العمود الشرطي - وهنا قطعة البيانات المطلوبة لدينا:

استيراد جزء عائم في Power Query

كل ما تبقى هو رفع السطر الأول إلى الرأس باستخدام الأمر استخدم السطر الأول كرؤوس علامة التبويب الصفحة الرئيسية (الصفحة الرئيسية - استخدام الصف الأول كرؤوس) وقم بإزالة العمود الشرطي غير الضروري عن طريق النقر بزر الماوس الأيمن على رأسه وتحديد الأمر حذف العمود (حذف العمود):

تم حل المشكلة. الآن ، عند تغيير البيانات في الملف النصي المصدر ، سيحدد الاستعلام الآن بشكل مستقل بداية ونهاية الجزء "العائم" من البيانات التي نحتاجها واستيراد العدد الصحيح من الأسطر في كل مرة. بالطبع ، تعمل هذه الطريقة أيضًا في حالة استيراد ملفات XLSX ، وليس ملفات TXT ، وكذلك عند استيراد جميع الملفات من مجلد دفعة واحدة باستخدام الأمر بيانات - إحضار بيانات - من ملف - من مجلد (بيانات - إحضار بيانات - من ملف - من مجلد).

  • تجميع الجداول من ملفات مختلفة باستخدام Power Query
  • إعادة تصميم جدول جدولي ليصبح مسطحًا باستخدام وحدات الماكرو و Power Query
  • إنشاء مخطط جانت للمشروع في Power Query

اترك تعليق