Se salvează istoricul actualizărilor interogărilor Power Query

La aproape fiecare antrenament Power Query, când ajungem la cum să actualizăm interogările create și oamenii văd cum datele noi înlocuiesc datele vechi la actualizare, unul dintre ascultători mă întreabă: „Este posibil să mă asigur că, atunci când se actualizează, datele vechi sunt de asemenea, undeva au fost salvate și întregul istoric al actualizărilor a fost vizibil?

Ideea nu este nouă și răspunsul standard la aceasta va fi „nu” – Power Query este configurat implicit pentru a înlocui datele vechi cu altele noi (ceea ce este necesar în marea majoritate a cazurilor). Cu toate acestea, dacă doriți cu adevărat, puteți ocoli această limitare. Și metoda, după cum veți vedea mai târziu, este foarte simplă.

Luați în considerare următorul exemplu.

Să presupunem că avem un fișier de la client ca date de intrare (să-l numim, să spunem, Sursă) cu o listă de produse pe care dorește să le cumpere sub forma unui tabel dinamic „inteligent” numit aplicație:

Se salvează istoricul actualizărilor interogărilor Power Query

Într-un alt fișier (să-l numim prin analogie Receptor) creăm o interogare simplă pentru a importa un tabel cu produse din Sursă prin Date – Obțineți date – Din fișier – Din registrul de lucru Excel (Date — Obține date — Din fișier — Din registrul de lucru Excel) și încărcați tabelul rezultat în foaie:

Se salvează istoricul actualizărilor interogărilor Power Query

Dacă pe viitor clientul decide să facă modificări comenzii din dosarul său Sursă, apoi după actualizarea solicitării noastre (făcând clic dreapta sau prin Date – Actualizează toate) vom vedea noile date în fișier Receptor - toate standard.

Acum să ne asigurăm că la actualizare, datele vechi nu sunt înlocuite cu altele noi, ci cele noi sunt atașate la cele vechi – și cu adăugarea unei date-ora, astfel încât să se poată vedea când au fost aceste modificări specifice. făcut.

Pasul 1. Adăugarea unei date-ora la interogarea inițială

Să deschidem o cerere aplicațieimportând datele noastre din Sursăși adăugați o coloană cu data și ora actualizării. Pentru a face acest lucru, puteți folosi butonul Coloană personalizată fila Adăugarea unei coloane (Adăugați coloană — coloană personalizată), apoi introduceți funcția DateTime.LocalNow – analog al funcției TDATA (ACUM) • Microsoft Excel:

Se salvează istoricul actualizărilor interogărilor Power Query

După ce faceți clic pe OK ar trebui să ajungeți cu o coloană drăguță ca aceasta (nu uitați să setați formatul dată-oră pentru ea cu pictograma din antetul coloanei):

Se salvează istoricul actualizărilor interogărilor Power Query

Dacă doriți, atunci pentru placa încărcată în foaia pentru această coloană, puteți seta formatul dată-oră cu secunde pentru o mai mare acuratețe (va trebui să adăugați două puncte și „ss” la formatul standard):

Se salvează istoricul actualizărilor interogărilor Power Query

Pasul 2: Interogați datele vechi

Acum să creăm o altă interogare care va acționa ca un buffer care salvează datele vechi înainte de actualizare. Selectarea oricărei celule din tabelul rezultat din fișier Receptor, selectați din filă Date Comandă Din masă/gamă (Date - Din tabel/gamă) or Cu frunze (Din foaie):

Se salvează istoricul actualizărilor interogărilor Power Query

Nu facem nimic cu tabelul încărcat în Power Query, numim interogarea, de exemplu, date vechi și apăsați Acasă — Închideți și încărcați — Închideți și încărcați în... — Numai pentru a crea conexiune (Acasă — Închide&Încărcare — Închide&Încărcare la... — Creați doar conexiune).

Pasul 3. Îmbinarea datelor vechi și noi

Acum reveniți la interogarea noastră inițială aplicație și adăugați la el de mai jos datele vechi din cererea anterioară de buffer cu comanda Acasă — Adăugați solicitări (Acasă — Adăugați interogări):

Se salvează istoricul actualizărilor interogărilor Power Query

Asta e tot!

Rămâne să revenim la Excel Acasă — Închideți și descărcați (Acasă — Închide&Încărcare) și încercați de câteva ori să actualizați întreaga noastră structură cu butonul Actualizați toate fila Date (Date — Actualizează tot). Cu fiecare actualizare, noile date nu vor înlocui datele vechi, ci le vor împinge mai jos, păstrând întregul istoric al actualizărilor:

Se salvează istoricul actualizărilor interogărilor Power Query

Un truc similar poate fi folosit la importul din orice sursă externă (site-uri de internet, baze de date, fișiere externe etc.) pentru a păstra vechile valori pentru istoric dacă aveți nevoie.

  • Tabel pivot în mai multe intervale de date
  • Asamblarea tabelelor din diferite fișiere folosind Power Query
  • Colectarea datelor din toate foile cărții într-un singur tabel

Lasă un comentariu