Čuvanje istorije ažuriranja upita Power Query

Na gotovo svakom Power Query treningu, kada dođemo do toga kako ažurirati kreirane upite i kada ljudi vide kako novi podaci zamjenjuju stare podatke prilikom ažuriranja, jedan od slušatelja me pita: „da li je moguće osigurati da pri ažuriranju stari podaci budu također su negdje sačuvani i cijela historija ažuriranja je bila vidljiva?

Ideja nije nova i standardni odgovor na nju će biti „ne“ – Power Query je podrazumevano konfigurisan da zameni stare podatke novim (što je potrebno u velikoj većini slučajeva). Međutim, ako to zaista želite, možete zaobići ovo ograničenje. A metoda je, kao što ćete kasnije vidjeti, vrlo jednostavna.

Razmotrite sljedeći primjer.

Pretpostavimo da imamo fajl od klijenta kao ulazni podatak (nazovimo ga, recimo, izvor) sa listom proizvoda koje želi kupiti u obliku „pametne“ dinamičke tablice pod nazivom aplikacija:

Čuvanje istorije ažuriranja upita Power Query

U drugom fajlu (nazovimo ga po analogiji prijemnik) kreiramo jednostavan upit za uvoz tabele sa proizvodima iz izvora preko Podaci – Dobijte podatke – Iz datoteke – Iz Excel radne knjige (Podaci — Dobijte podatke — Iz datoteke — Iz Excel radne knjige) i prenesite rezultirajuću tabelu na list:

Čuvanje istorije ažuriranja upita Power Query

Ukoliko u budućnosti klijent odluči da izvrši izmjene naloga u svom dosijeu izvor, zatim nakon ažuriranja našeg zahtjeva (desnim klikom ili putem Podaci – Osvježi sve) vidjet ćemo nove podatke u datoteci prijemnik — sve standardno.

Sada pazimo da se prilikom ažuriranja stari podaci ne zamjenjuju novim, već se novi dodaju starim – i to uz dodatak datuma i vremena, tako da se može vidjeti kada su ove specifične promjene izvršene napravljeno.

Korak 1. Dodavanje datuma i vremena originalnom upitu

Hajde da otvorimo zahtev aplikacijauvoz naših podataka iz izvori dodajte kolonu s datumom i vremenom ažuriranja. Da biste to učinili, možete koristiti dugme Prilagođena kolona tabulator Dodavanje kolone (Dodaj kolonu — Prilagođena kolona), a zatim unesite funkciju DateTime.LocalNow – analog funkcije TDATA (SAD) u Microsoft Excelu:

Čuvanje istorije ažuriranja upita Power Query

Posle klika na OK trebalo bi da dobijete ovako lepu kolonu (ne zaboravite da podesite format datuma i vremena sa ikonom u zaglavlju kolone):

Čuvanje istorije ažuriranja upita Power Query

Ako želite, onda za ploču učitanu na list za ovu kolonu, možete postaviti format datuma i vremena sa sekundama radi veće preciznosti (morat ćete dodati dvotočku i "ss" u standardni format):

Čuvanje istorije ažuriranja upita Power Query

Korak 2: Upit za stare podatke

Sada kreirajmo još jedan upit koji će djelovati kao bafer koji sprema stare podatke prije ažuriranja. Odabirom bilo koje ćelije rezultirajuće tablice u datoteci prijemnik, odaberite na kartici podaci naredba Iz tabele/opseg (Podaci — iz tabele/opseg) or Sa lišćem (sa lista):

Čuvanje istorije ažuriranja upita Power Query

Ne radimo ništa s tabelom učitanom u Power Query, upit zovemo, na primjer, stari podaci i pritisnite Početna — Zatvori i učitaj — Zatvori i učitaj na… — Samo kreiraj vezu (Početna — Zatvori&Učitaj — Zatvori&Učitaj na… — Samo kreiraj vezu).

Korak 3. Spajanje starih i novih podataka

Sada se vratimo na naš izvorni upit aplikacija i dodajte mu odozdo stare podatke iz prethodnog zahtjeva za bafer pomoću naredbe Početna — Dodajte zahtjeve (Početna — Dodaj upite):

Čuvanje istorije ažuriranja upita Power Query

To je sve!

Ostaje da se vratimo na Excel Početna — Zatvorite i preuzmite (Početna — Zatvori&Učitaj) i pokušajte nekoliko puta ažurirati cijelu našu strukturu pomoću gumba Update All tabulator podaci (Podaci — Osvježi sve). Sa svakim ažuriranjem, novi podaci neće zamijeniti stare podatke, već će ih gurnuti ispod, zadržavajući cijelu historiju ažuriranja:

Čuvanje istorije ažuriranja upita Power Query

Sličan trik se može koristiti prilikom uvoza iz bilo kojeg vanjskog izvora (internetske stranice, baze podataka, eksterne datoteke, itd.) kako biste zadržali stare vrijednosti za povijest ako vam zatreba.

  • Zaokretna tabela u više raspona podataka
  • Sastavljanje tabela iz različitih datoteka pomoću Power Queryja
  • Prikupljanje podataka sa svih listova knjige u jednu tabelu

Ostavite odgovor