لنفترض أن لدينا ملف Excel به عدة جداول ذكية:
إذا قمت بتحميل هذه الجداول في Power Query بالطريقة القياسية باستخدام الأمر بيانات - إحضار بيانات - من ملف - من كتاب (بيانات - إحضار بيانات - من ملف - من مصنف)، ثم نحصل على شيء مثل هذا:
أعتقد أن الصورة مألوفة للعديد من مستخدمي Power Query. يمكن رؤية جداول متداخلة مماثلة بعد دمج الاستعلامات (a la VLOOKUP) والتجميع (الأمر مجموعة من علامة التبويب تحول) ، واستيراد جميع الملفات من مجلد معين ، وما إلى ذلك.
عادةً ما تكون الخطوة المنطقية التالية في هذه الحالة هي توسيع جميع الجداول المتداخلة مرة واحدة - باستخدام الزر ذي الأسهم المزدوجة في رأس العمود البيانات:
نتيجة لذلك ، نحصل على تجميع لجميع الصفوف من جميع الجداول في كل واحد. كل شيء جيد وبسيط وواضح.
تخيل الآن أنه تمت إضافة عمود جديد (خصم) في جداول المصدر و / أو تم حذف أحد الجداول الموجودة (المدينة):
ثم طلبنا بعد التحديث سيعيد صورة غير جميلة - لم يظهر الخصم ، وأصبح عمود المدينة فارغًا ، لكنه لم يختف:
ومن السهل معرفة السبب - في شريط الصيغة يمكنك أن ترى بوضوح أن أسماء الأعمدة الموسعة مشفرة بشكل ثابت في وسيطات الدالة Table.ExpandTableColumn كقوائم بين قوسين معقوفين.
الالتفاف على هذه المشكلة سهل. أولاً ، دعنا نحصل على أسماء الأعمدة من رأس أي جدول (على سبيل المثال ، الأول) باستخدام الوظيفة الجدول. سيبدو كما يلي:
هنا:
- # "تمت إزالة الأعمدة الأخرى" - اسم الخطوة السابقة التي نأخذ منها البيانات
- 0،XNUMX،XNUMX {} - رقم الجدول الذي نستخرج منه الرأس (العد من الصفر ، أي 0 هو الجدول الأول)
- [بيانات] - اسم العمود في الخطوة السابقة ، حيث توجد الجداول الموسعة
يبقى استبدال البنية التي تم الحصول عليها في شريط الصيغة في الوظيفة Table.ExpandTableColumn في خطوة توسيع الجداول بدلاً من القوائم المشفرة. يجب أن يبدو كل شيء على هذا النحو في النهاية:
هذا كل شئ. ولن تكون هناك مشاكل أخرى في توسيع الجداول المتداخلة عند تغيير البيانات المصدر.
- إنشاء جداول متعددة الأشكال من ورقة واحدة في Power Query
- أنشئ جداول برؤوس مختلفة من ملفات Excel متعددة
- تجميع البيانات من جميع أوراق الكتاب في جدول واحد