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

تخيل أن لديك مجموعة من التقارير الشهرية أو الأسبوعية موزعة في مجلدات مختلفة، وبدلاً من إضاعة وقتك في نسخ البيانات ولصقها بشكل محموم، يمكنك توحيدها جميعًا في جدول بيانات Excel واحد ببضع نقرات فقط. هنا تحديدًا يأتي دور Power Query، الأداة التي تُعدّ بمثابة الذراع الأيمن لأي شخص يعمل مع البيانات، حيث تتيح لنا دمج الملفات التي تشترك في نفس البنية بسهولة تامة.
أروع ما يميز هذا النظام هو أنه لا يقتصر على مجلد محلي على جهاز الكمبيوتر؛ إذ يمكنك استيراد البيانات من مواقع SharePoint أو Azure Data Lake أو Azure Blobs . ويكمن سرّ سلاسة عمله في تطابق بنية الملفات، أي تطابق الأعمدة، مع العلم أن Power Query يتمتع بذكاء كافٍ لتنظيف البيانات إذا احتوت على أي بيانات غير ضرورية أو صفوف زائدة.
عملية الدمج خطوة بخطوة

عند الاتصال بمصدر بيانات، ستظهر لك أولاً نافذة نظام الملفات. يُعدّ عمود " المحتوى" أهم عمود هنا، إذ يحتوي على التمثيل الثنائي لكل مستند. عند النقر على أحد هذه القيم الثنائية، سيحاول البرنامج تحديد نوع الملف (CSV، JSON، أو Excel) لفتحه. لدمج جميع الملفات، لديك خياران: النقر مباشرةً على زر "دمج"، أو، إذا كنت ترغب في مزيد من الدقة، يمكنك اختيار " تحويل البيانات" لتصفية قائمة الملفات (على سبيل المثال، لتجاهل مجلدات معينة) قبل المتابعة في عملية الدمج.
بمجرد دخولك إلى مربع حوار الدمج، يستخدم Power Query ملفًا نموذجيًا لتحليل البنية . افتراضيًا، يختار الملف الأول في القائمة، ولكن يمكنك تغييره إذا كان هناك ملف آخر يُمثل مجموعة البيانات بشكل أفضل. هنا، يمكنك تحديد خيار تخطي الملفات التي تحتوي على أخطاء ، وهو أمر بالغ الأهمية عند تلف التقرير أو كونه فارغًا، إذ يمنع توقف العملية برمتها.
إدارة المخرجات وتنظيف البيانات

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

أحيانًا لا تسير الأمور بهذه البساطة، فنواجه ملفات غير متطابقة. على سبيل المثال، إذا كانت لديك تقارير ServiceNow تحتوي على عناوين مختلفة، أحدها باسم "resolved_on" والآخر باسم "closed_on"، فقد تواجه مشاكل مع Power Query لأنه يتطلب بنية متسقة . إذا لم يتطابق الملف النموذجي تمامًا مع بقية الملفات، فقد تحذف الأداة المعلومات من الملفات غير المتطابقة أو تُظهر أخطاء في الاستيراد.
في الحالات التي يكون فيها هيكل البيانات فوضويًا تمامًا أو يكون حجمها هائلًا (يتجاوز مليون صف في ملف إكسل)، توجد خيارات أخرى. يلجأ بعض المستخدمين إلى استخدام نصوص VBA البرمجية مع واجهات CSV ، والتي تسمح بدمج الملفات دون تكرار العناوين، بغض النظر عما إذا كان فاصل الحقول أو السجلات يختلف من ملف لآخر. على الرغم من أن واجهة سطر الأوامر في ويندوز سريعة للغاية، إلا أنها غالبًا ما تفشل في التعامل مع فواصل الأسطر المضمنة، بينما لا يُرهق حل VBA القوي ذاكرة الوصول العشوائي (RAM) ويمكنه التعامل مع ملايين السجلات بسهولة.

لإتمام العملية، بعد دمج البيانات في Power Query، تذكر تعيين نوع البيانات الصحيح لكل عمود (تاريخ للتواريخ، عملة للدخل، إلخ) قبل تحميل الجدول النهائي. يمكنك التحقق من صحة البيانات بتصفية عمود "اسم المصدر" للتأكد من معالجة جميع الملفات في المجلد بنجاح.
تتيح لك القدرة على أتمتة دمج ملفات CSV المتعددة الانتقال من العمل اليدوي الشاق إلى سير عمل احترافي، سواء من خلال الاستفادة من مرونة Power Query لتنظيف البيانات أو اللجوء إلى VBA عندما تكون الهياكل غير متوافقة أو تتجاوز الأحجام حدود جداول البيانات.