المحتويات
في كل تدريب على Power Query تقريبًا ، عندما نصل إلى كيفية تحديث الاستعلامات المنشأة ويرى الأشخاص كيف تحل البيانات الجديدة محل البيانات القديمة عند التحديث ، يسألني أحد المستمعين: "هل من الممكن التأكد من أنه عند التحديث ، تكون البيانات القديمة أيضًا تم حفظها في مكان ما وكان سجل التحديث بأكمله مرئيًا؟
الفكرة ليست جديدة والإجابة القياسية لها ستكون "لا" - يتم تكوين Power Query افتراضيًا لاستبدال البيانات القديمة بأخرى جديدة (وهو أمر مطلوب في الغالبية العظمى من الحالات). ومع ذلك ، إذا كنت تريد ذلك حقًا ، يمكنك الالتفاف حول هذا القيد. والطريقة ، كما سترى لاحقًا ، بسيطة جدًا.
تأمل المثال التالي.
لنفترض أن لدينا ملفًا من العميل كبيانات إدخال (دعنا نسميها ، دعنا نقول ، مصدر) بقائمة بالمنتجات التي يريد شراءها في شكل جدول ديناميكي "ذكي" اسمه تطبيق:
في ملف آخر (دعنا نسميها عن طريق القياس المتلقي) نقوم بإنشاء استعلام بسيط لاستيراد جدول بمنتجات من المصدر عبر البيانات - إحضار البيانات - من ملف - من مصنف Excel (البيانات - إحضار البيانات - من ملف - من مصنف Excel) وتحميل الجدول الناتج على الورقة:
إذا قرر العميل في المستقبل إجراء تغييرات على الطلب في ملفه مصدر، ثم بعد تحديث طلبنا (عن طريق النقر بزر الماوس الأيمن أو عبر البيانات - تحديث الكل) سنرى البيانات الجديدة في الملف المتلقي - كل معيار.
الآن دعنا نتأكد من أنه عند التحديث ، لا يتم استبدال البيانات القديمة بأخرى جديدة ، ولكن البيانات الجديدة يتم إلحاقها بالبيانات القديمة - ومع إضافة التاريخ والوقت ، بحيث يمكن رؤيتها عندما كانت هذه التغييرات المحددة مصنوع.
الخطوة 1. إضافة تاريخ ووقت إلى الاستعلام الأصلي
لنفتح طلبًا تطبيقاستيراد بياناتنا من مصدر، وأضف عمودًا بتاريخ ووقت التحديث إليه. للقيام بذلك ، يمكنك استخدام الزر عمود مخصص علامة التبويب إضافة عمود (إضافة عمود - عمود مخصص)، ثم أدخل الوظيفة DateTime.LocalNow - الوظيفة التناظرية TDATA (حاليا) في مايكروسوفت إكسل:
بعد النقر على OK يجب أن ينتهي بك الأمر بعمود جميل مثل هذا (لا تنس تعيين تنسيق التاريخ والوقت له بالأيقونة الموجودة في رأس العمود):
إذا كنت ترغب في ذلك ، فبالنسبة إلى اللوحة التي تم تحميلها على الورقة لهذا العمود ، يمكنك تعيين تنسيق التاريخ والوقت بالثواني لمزيد من الدقة (سيتعين عليك إضافة نقطتين و "ss" إلى التنسيق القياسي):
الخطوة 2: الاستعلام عن البيانات القديمة
لنقم الآن بإنشاء استعلام آخر يعمل كمخزن مؤقت يحفظ البيانات القديمة قبل التحديث. تحديد أي خلية من الجدول الناتج في الملف المتلقي، حدد في علامة التبويب البيانات أمر من الجدول / النطاق (البيانات - من جدول / نطاق) or بأوراق الشجر (من الورقة):
لا نفعل شيئًا مع الجدول الذي تم تحميله في Power Query ، نسمي الاستعلام ، على سبيل المثال ، البيانات القديمة والصحافة الصفحة الرئيسية - إغلاق وتحميل - إغلاق وتحميل ... - إنشاء اتصال فقط (الصفحة الرئيسية - إغلاق وتحميل - إغلاق وتحميل إلى ... - إنشاء اتصال فقط).
الخطوة 3. ضم البيانات القديمة والجديدة
الآن عد إلى استعلامنا الأصلي تطبيق وأضف إليها من أسفل البيانات القديمة من طلب المخزن المؤقت السابق بالأمر الصفحة الرئيسية - إضافة الطلبات (الصفحة الرئيسية - استعلامات إلحاق):
هذا كل شئ!
يبقى أن نعود إلى Excel من خلال الصفحة الرئيسية - إغلاق وتنزيل (الصفحة الرئيسية - إغلاق وتحميل) وحاول عدة مرات تحديث البنية بالكامل باستخدام الزر تحديث جميع علامة التبويب البيانات (البيانات - تحديث الكل). مع كل تحديث ، لن تحل البيانات الجديدة محل البيانات القديمة ، ولكنها ستدفعها أدناه ، مع الاحتفاظ بمحفوظات التحديث بالكامل:
يمكن استخدام خدعة مماثلة عند الاستيراد من أي مصادر خارجية (مواقع الإنترنت وقواعد البيانات والملفات الخارجية وما إلى ذلك) للاحتفاظ بالقيم القديمة للتاريخ إذا كنت في حاجة إليها.
- جدول محوري عبر نطاقات بيانات متعددة
- تجميع الجداول من ملفات مختلفة باستخدام Power Query
- تجميع البيانات من جميع أوراق الكتاب في جدول واحد