حفظ محفوظات تحديث استعلام Power Query

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

الفكرة ليست جديدة والإجابة القياسية لها ستكون "لا" - يتم تكوين Power Query افتراضيًا لاستبدال البيانات القديمة بأخرى جديدة (وهو أمر مطلوب في الغالبية العظمى من الحالات). ومع ذلك ، إذا كنت تريد ذلك حقًا ، يمكنك الالتفاف حول هذا القيد. والطريقة ، كما سترى لاحقًا ، بسيطة جدًا.

تأمل المثال التالي.

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

حفظ محفوظات تحديث استعلام Power Query

في ملف آخر (دعنا نسميها عن طريق القياس المتلقي) نقوم بإنشاء استعلام بسيط لاستيراد جدول بمنتجات من المصدر عبر البيانات - إحضار البيانات - من ملف - من مصنف Excel (البيانات - إحضار البيانات - من ملف - من مصنف Excel) وتحميل الجدول الناتج على الورقة:

حفظ محفوظات تحديث استعلام Power Query

إذا قرر العميل في المستقبل إجراء تغييرات على الطلب في ملفه مصدر، ثم بعد تحديث طلبنا (عن طريق النقر بزر الماوس الأيمن أو عبر البيانات - تحديث الكل) سنرى البيانات الجديدة في الملف المتلقي - كل معيار.

الآن دعنا نتأكد من أنه عند التحديث ، لا يتم استبدال البيانات القديمة بأخرى جديدة ، ولكن البيانات الجديدة يتم إلحاقها بالبيانات القديمة - ومع إضافة التاريخ والوقت ، بحيث يمكن رؤيتها عندما كانت هذه التغييرات المحددة مصنوع.

الخطوة 1. إضافة تاريخ ووقت إلى الاستعلام الأصلي

لنفتح طلبًا تطبيقاستيراد بياناتنا من مصدر، وأضف عمودًا بتاريخ ووقت التحديث إليه. للقيام بذلك ، يمكنك استخدام الزر عمود مخصص علامة التبويب إضافة عمود (إضافة عمود - عمود مخصص)، ثم أدخل الوظيفة DateTime.LocalNow - الوظيفة التناظرية TDATA (حاليا) في مايكروسوفت إكسل:

حفظ محفوظات تحديث استعلام Power Query

بعد النقر على OK يجب أن ينتهي بك الأمر بعمود جميل مثل هذا (لا تنس تعيين تنسيق التاريخ والوقت له بالأيقونة الموجودة في رأس العمود):

حفظ محفوظات تحديث استعلام Power Query

إذا كنت ترغب في ذلك ، فبالنسبة إلى اللوحة التي تم تحميلها على الورقة لهذا العمود ، يمكنك تعيين تنسيق التاريخ والوقت بالثواني لمزيد من الدقة (سيتعين عليك إضافة نقطتين و "ss" إلى التنسيق القياسي):

حفظ محفوظات تحديث استعلام Power Query

الخطوة 2: الاستعلام عن البيانات القديمة

لنقم الآن بإنشاء استعلام آخر يعمل كمخزن مؤقت يحفظ البيانات القديمة قبل التحديث. تحديد أي خلية من الجدول الناتج في الملف المتلقي، حدد في علامة التبويب البيانات أمر من الجدول / النطاق (البيانات - من جدول / نطاق) or بأوراق الشجر (من الورقة):

حفظ محفوظات تحديث استعلام Power Query

لا نفعل شيئًا مع الجدول الذي تم تحميله في Power Query ، نسمي الاستعلام ، على سبيل المثال ، البيانات القديمة والصحافة الصفحة الرئيسية - إغلاق وتحميل - إغلاق وتحميل ... - إنشاء اتصال فقط (الصفحة الرئيسية - إغلاق وتحميل - إغلاق وتحميل إلى ... - إنشاء اتصال فقط).

الخطوة 3. ضم البيانات القديمة والجديدة

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

حفظ محفوظات تحديث استعلام Power Query

هذا كل شئ!

يبقى أن نعود إلى Excel من خلال الصفحة الرئيسية - إغلاق وتنزيل (الصفحة الرئيسية - إغلاق وتحميل) وحاول عدة مرات تحديث البنية بالكامل باستخدام الزر تحديث جميع علامة التبويب البيانات (البيانات - تحديث الكل). مع كل تحديث ، لن تحل البيانات الجديدة محل البيانات القديمة ، ولكنها ستدفعها أدناه ، مع الاحتفاظ بمحفوظات التحديث بالكامل:

حفظ محفوظات تحديث استعلام Power Query

يمكن استخدام خدعة مماثلة عند الاستيراد من أي مصادر خارجية (مواقع الإنترنت وقواعد البيانات والملفات الخارجية وما إلى ذلك) للاحتفاظ بالقيم القديمة للتاريخ إذا كنت في حاجة إليها.

  • جدول محوري عبر نطاقات بيانات متعددة
  • تجميع الجداول من ملفات مختلفة باستخدام Power Query
  • تجميع البيانات من جميع أوراق الكتاب في جدول واحد

اترك تعليق