Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Σχεδόν σε κάθε εκπαίδευση του Power Query, όταν φτάνουμε στο πώς να ενημερώσουμε τα δημιουργημένα ερωτήματα και οι άνθρωποι βλέπουν πώς τα νέα δεδομένα αντικαθιστούν τα παλιά δεδομένα κατά την ενημέρωση, ένας από τους ακροατές με ρωτά: «Είναι δυνατόν να βεβαιωθώ ότι κατά την ενημέρωση, τα παλιά δεδομένα είναι επίσης κάπου αποθηκεύτηκαν και ολόκληρο το ιστορικό ενημερώσεων ήταν ορατό;

Η ιδέα δεν είναι νέα και η τυπική απάντηση σε αυτήν θα είναι «όχι» – το Power Query έχει ρυθμιστεί από προεπιλογή για να αντικαθιστά τα παλιά δεδομένα με νέα (κάτι που απαιτείται στη συντριπτική πλειονότητα των περιπτώσεων). Ωστόσο, εάν το θέλετε πραγματικά, μπορείτε να ξεπεράσετε αυτόν τον περιορισμό. Και η μέθοδος, όπως θα δείτε στη συνέχεια, είναι πολύ απλή.

Εξετάστε το ακόλουθο παράδειγμα.

Ας υποθέσουμε ότι έχουμε ένα αρχείο από τον πελάτη ως δεδομένα εισόδου (ας το ονομάσουμε, ας πούμε, Πηγή) με μια λίστα προϊόντων που θέλει να αγοράσει με τη μορφή ενός «έξυπνου» δυναμικού πίνακα με το όνομα Εφαρμογή:

Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Σε άλλο αρχείο (ας το ονομάσουμε αναλογικά Δέκτης) δημιουργούμε ένα απλό ερώτημα για την εισαγωγή ενός πίνακα με προϊόντα από την πηγή μέσω Δεδομένα – Λήψη δεδομένων – Από αρχείο – Από βιβλίο εργασίας του Excel (Δεδομένα — Λήψη δεδομένων — Από αρχείο — Από βιβλίο εργασίας του Excel) και ανεβάστε τον πίνακα που προκύπτει στο φύλλο:

Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Εάν στο μέλλον ο πελάτης αποφασίσει να κάνει αλλαγές στην παραγγελία στο αρχείο του Πηγή, στη συνέχεια αφού ενημερώσουμε το αίτημά μας (κάνοντας δεξί κλικ ή μέσω Δεδομένα – Ανανέωση όλων) θα δούμε τα νέα δεδομένα στο αρχείο Δέκτης — όλα στάνταρ.

Ας βεβαιωθούμε τώρα ότι κατά την ενημέρωση, τα παλιά δεδομένα δεν αντικαθίστανται από νέα, αλλά προστίθενται τα νέα στα παλιά – και με την προσθήκη ημερομηνίας-ώρας, ώστε να φαίνεται πότε έγιναν αυτές οι συγκεκριμένες αλλαγές έκανε.

Βήμα 1. Προσθήκη ημερομηνίας-ώρας στο αρχικό ερώτημα

Ας ανοίξουμε ένα αίτημα Εφαρμογήεισαγωγή των δεδομένων μας από Πηγήκαι προσθέστε σε αυτήν μια στήλη με την ημερομηνία-ώρα της ενημέρωσης. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το κουμπί Προσαρμοσμένη στήλη αυτί Προσθήκη στήλης (Προσθήκη στήλης — Προσαρμοσμένη στήλη)και μετά εισάγετε τη συνάρτηση DateTime.LocalNow – ανάλογο της συνάρτησης Τα TDATA (ΤΩΡΑ) στο Microsoft Excel:

Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Μετά το κλικ OK θα πρέπει να καταλήξετε με μια όμορφη στήλη όπως αυτή (μην ξεχάσετε να ορίσετε τη μορφή ημερομηνίας-ώρας για αυτήν με το εικονίδιο στην κεφαλίδα της στήλης):

Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Εάν θέλετε, τότε για την πινακίδα που μεταφορτώθηκε στο φύλλο αυτής της στήλης, μπορείτε να ορίσετε τη μορφή ημερομηνίας-ώρας με δευτερόλεπτα για μεγαλύτερη ακρίβεια (θα πρέπει να προσθέσετε άνω και κάτω τελεία και "δδ" στην τυπική μορφή):

Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Βήμα 2: Ερώτημα για παλιά δεδομένα

Τώρα ας δημιουργήσουμε ένα άλλο ερώτημα που θα λειτουργεί ως buffer που αποθηκεύει τα παλιά δεδομένα πριν από την ενημέρωση. Επιλέγοντας οποιοδήποτε κελί του πίνακα που προκύπτει στο αρχείο Δέκτης, επιλέξτε στην καρτέλα ημερομηνία εντολή Από Πίνακας/Εύρος (Δεδομένα — Από πίνακα/εύρος) or Με φύλλα (Από φύλλο):

Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Δεν κάνουμε τίποτα με τον πίνακα που έχει φορτωθεί στο Power Query, καλούμε το ερώτημα, για παράδειγμα, παλιά δεδομένα και πατήστε το πλήκτρο Αρχική σελίδα — Κλείσιμο και φόρτωση — Κλείσιμο και φόρτωση σε… — Δημιουργία μόνο σύνδεσης (Αρχική — Κλείσιμο&Φόρτωση — Κλείσιμο&Φόρτωση σε… — Δημιουργία μόνο σύνδεσης).

Βήμα 3. Σύνδεση παλαιών και νέων δεδομένων

Τώρα επιστρέψτε στο αρχικό μας ερώτημα Εφαρμογή και προσθέστε σε αυτό από κάτω τα παλιά δεδομένα από το προηγούμενο αίτημα buffer με την εντολή Αρχική σελίδα — Προσθήκη αιτημάτων (Αρχική — Προσθήκη ερωτημάτων):

Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Αυτό είναι όλο!

Απομένει να επιστρέψουμε στο Excel μέσω Αρχική σελίδα — Κλείσιμο και λήψη (Αρχική — Κλείσιμο & Φόρτωση) και προσπαθήστε μερικές φορές να ενημερώσετε ολόκληρη τη δομή μας με το κουμπί Ενημέρωση όλων αυτί ημερομηνία (Δεδομένα — Ανανέωση όλων). Με κάθε ενημέρωση, τα νέα δεδομένα δεν θα αντικαταστήσουν τα παλιά δεδομένα, αλλά θα τα ωθήσουν παρακάτω, διατηρώντας ολόκληρο το ιστορικό ενημέρωσης:

Αποθήκευση ιστορικού ενημέρωσης ερωτημάτων Power Query

Ένα παρόμοιο τέχνασμα μπορεί να χρησιμοποιηθεί κατά την εισαγωγή από οποιεσδήποτε εξωτερικές πηγές (ιστοσελίδες Διαδικτύου, βάσεις δεδομένων, εξωτερικά αρχεία κ.λπ.) για να διατηρήσετε τις παλιές τιμές για το ιστορικό, εάν το χρειάζεστε.

  • Συγκεντρωτικός πίνακας σε πολλαπλά εύρη δεδομένων
  • Συναρμολόγηση πινάκων από διαφορετικά αρχεία χρησιμοποιώντας το Power Query
  • Συλλογή δεδομένων από όλα τα φύλλα του βιβλίου σε έναν πίνακα

Αφήστε μια απάντηση