Power Query päringu värskendusajaloo säästmine

Peaaegu igal Power Query koolitusel, kui jõuame loodud päringute uuendamise juurde ja inimesed näevad, kuidas uuendamisel uued andmed asendavad vanu andmeid, siis üks kuulajatest küsib minult: “kas on võimalik veenduda, et uuendamisel vanad andmed on ka kuhugi salvestati ja kogu uuenduste ajalugu oli näha?

Idee pole uus ja standardne vastus sellele on "ei" – Power Query on vaikimisi konfigureeritud asendama vanu andmeid uutega (mida enamikul juhtudel nõutakse). Kui sa aga tõesti tahad, saad sellest piirangust mööda minna. Ja meetod, nagu hiljem näete, on väga lihtne.

Vaatleme järgmist näidet.

Oletame, et meil on sisendandmetena kliendi fail (nimetagem seda, oletame, allikas) koos loendiga toodetest, mida ta soovib osta „nutika” dünaamilise tabeli kujul. taotlus:

Power Query päringu värskendusajaloo säästmine

Teises failis (nimetagem seda analoogia põhjal Vastuvõtja) loome lihtsa päringu toodetega tabeli importimiseks allika kaudu Andmed – hangi andmed – failist – Exceli töövihikust (Andmed — hangi andmed — failist — Exceli töövihikust) ja laadige saadud tabel lehele:

Power Query päringu värskendusajaloo säästmine

Kui klient otsustab tulevikus oma toimikus olevas tellimuses muudatusi teha allikas, seejärel pärast meie taotluse värskendamist (paremklõpsuga või kaudu Andmed – Värskenda kõike) näeme failis uusi andmeid Vastuvõtja - kõik standardsed.

Nüüd teeme nii, et uuendamisel ei asendataks vanu andmeid uutega, vaid lisataks vanadele uued – ja lisatakse kuupäev-kellaaeg, et oleks näha, millal need konkreetsed muudatused toimusid. tehtud.

1. samm. Kuupäeva-kellaaja lisamine algsele päringule

Avame päringu taotlusimportides meie andmeid allikasja lisage sellele veerg värskenduse kuupäeva ja kellaajaga. Selleks saate kasutada nuppu Kohandatud veerg tab Veeru lisamine (Lisa veerg – kohandatud veerg)ja seejärel sisestage funktsioon DateTime.LocalNow – funktsiooni analoog TDATA (KOHE) Microsoft Excelis:

Power Query päringu värskendusajaloo säästmine

Pärast klõpsamist nupul OK peaksite saama sellise ilusa veeru (ärge unustage veerupäises oleva ikooni abil kuupäeva-kellaaja vormingut seadistada):

Power Query päringu värskendusajaloo säästmine

Kui soovite, saate selle veeru lehele üles laaditud plaadi jaoks suurema täpsuse huvides seada kuupäeva-kellaaja vormingu sekunditega (standardvormingusse peate lisama kooloni ja "ss"):

Power Query päringu värskendusajaloo säästmine

2. samm: vanade andmete päring

Nüüd loome teise päringu, mis toimib puhvrina, mis salvestab vanad andmed enne värskendamist. Saadud tabeli mis tahes lahtri valimine failis Vastuvõtja, valige vahekaardil kuupäev käsk Tabelist/vahemikust (Andmed – tabelist/vahemikust) or Lehtedega (Lehelt):

Power Query päringu värskendusajaloo säästmine

Power Querysse laaditud tabeliga ei tee me midagi, kutsume päringu näiteks vanad andmed ja vajutage Avaleht — Sule ja laadi — Sule ja laadi… — Loo ainult ühendus (Avaleht — Sule&laadi — Sule&laadi... — Loo ainult ühendus).

Samm 3. Vanade ja uute andmete ühendamine

Nüüd tagasi meie algse päringu juurde taotlus ja lisage sellele altpoolt käsuga eelmise puhvripäringu vanad andmed Avaleht — lisa taotlusi (Avaleht – lisa päringud):

Power Query päringu värskendusajaloo säästmine

See on kõik!

Jääb üle Exceli juurde naasta Avaleht — sulgege ja laadige alla (Avaleht – sulge ja laadi) ja proovige paar korda kogu meie struktuuri nupuga värskendada Värskenda kõik tab kuupäev (Andmed – värskenda kõiki). Iga värskenduse korral ei asenda uued andmed vanu andmeid, vaid suruvad need allapoole, säilitades kogu värskenduste ajaloo:

Power Query päringu värskendusajaloo säästmine

Sarnast nippi saab kasutada mis tahes välistest allikatest (Interneti-saidid, andmebaasid, välised failid jne) importimisel, et vajadusel säilitada ajaloo jaoks vanad väärtused.

  • Liigendtabel mitmes andmevahemikus
  • Tabelite kokkupanek erinevatest failidest Power Query abil
  • Andmete kogumine raamatu kõigilt lehtedelt ühte tabelisse

Jäta vastus