Power Queryn kyselypäivityshistorian tallentaminen

Kun lähes jokaisessa Power Query -koulutuksessa pääsemme luotujen kyselyjen päivittämiseen ja ihmiset näkevät kuinka uusi data korvaa vanhan tiedon päivitettäessä, yksi kuuntelijoista kysyy minulta: "Onko mahdollista varmistaa, että päivitettäessä vanhat tiedot ovat myös jonnekin tallennettiin ja koko päivityshistoria näkyi?

Idea ei ole uusi ja vakiovastaus siihen on "ei" – Power Query on oletusarvoisesti määritetty korvaamaan vanhat tiedot uusilla (mitä vaaditaan useimmissa tapauksissa). Kuitenkin, jos todella haluat, voit kiertää tämän rajoituksen. Ja menetelmä, kuten näet myöhemmin, on hyvin yksinkertainen.

Harkitse seuraavaa esimerkkiä.

Oletetaan, että meillä on syöttötietona asiakkaalta saatu tiedosto (kutsutaanko sitä vaikka lähde) ja luettelo tuotteista, joita hän haluaa ostaa "älykkään" dynaamisen taulukon muodossa. Hakemus:

Power Queryn kyselypäivityshistorian tallentaminen

Toisessa tiedostossa (kutsutaanko sitä analogisesti Vastaanotin) luomme yksinkertaisen kyselyn tuodaksemme taulukon tuotteineen Lähteen kautta Tiedot – Hae tiedot – Tiedostosta – Excel-työkirjasta (Data — Hae tiedot — Tiedostosta — Excel-työkirjasta) ja lataa tuloksena oleva taulukko taulukkoon:

Power Queryn kyselypäivityshistorian tallentaminen

Jos asiakas päättää tulevaisuudessa tehdä muutoksia tiedostossaan olevaan tilaukseen lähde, sitten pyyntömme päivittämisen jälkeen (napsauttamalla hiiren kakkospainikkeella tai kautta Tiedot – Päivitä kaikki) näemme uudet tiedot tiedostossa Vastaanotin - kaikki vakio.

Nyt huolehditaan siitä, että päivitettäessä vanhoja tietoja ei korvata uusilla, vaan uudet liitetään vanhoihin – ja lisättynä päivämäärä-aika, jotta voidaan nähdä milloin nämä tietyt muutokset on tehty. tehty.

Vaihe 1. Päivämäärän ja kellonajan lisääminen alkuperäiseen kyselyyn

Avataan pyyntö Hakemustuomme tietojamme lähdeja lisää siihen sarake, jossa on päivityksen päivämäärä-aika. Voit tehdä tämän käyttämällä painiketta Muokattu sarake kieleke Sarakkeen lisääminen (Lisää sarake — Muokattu sarake)ja syötä sitten funktio DateTime.LocalNow – toiminnon analogi TDATA (NYT) Microsoft Excelissä:

Power Queryn kyselypäivityshistorian tallentaminen

Napsauttamisen jälkeen OK sinun pitäisi päätyä kauniiseen sarakkeeseen, kuten tämä (älä unohda asettaa päivämäärä-aikamuotoa sille sarakeotsikon kuvakkeella):

Power Queryn kyselypäivityshistorian tallentaminen

Jos haluat, voit asettaa tämän sarakkeen arkille ladatun levyn päivämäärän ja kellonajan muodon sekunneilla tarkkuuden lisäämiseksi (sinun on lisättävä kaksoispiste ja "ss" vakiomuotoon):

Power Queryn kyselypäivityshistorian tallentaminen

Vaihe 2: Pyydä vanhoja tietoja

Luodaan nyt toinen kysely, joka toimii puskurina, joka tallentaa vanhat tiedot ennen päivitystä. Valitsemalla minkä tahansa solun tuloksena olevasta taulukosta tiedostossa Vastaanotin, valitse välilehdeltä Päiväys Komento Taulukosta/alueesta (Tiedot – taulukosta/alueesta) or Lehtien kanssa (Arkista):

Power Queryn kyselypäivityshistorian tallentaminen

Emme tee mitään Power Queryyn ladatun taulukon kanssa, kutsumme kyselyä esim. vanhat tiedot ja paina Etusivu — Sulje ja lataa — Sulje ja lataa… — Luo vain yhteys (Koti — Sulje&Lataa — Sulje&Lataa kohteeseen... — Luo vain yhteys).

Vaihe 3. Vanhojen ja uusien tietojen yhdistäminen

Nyt takaisin alkuperäiseen kyselyymme Hakemus ja lisää siihen alta vanhat tiedot edellisestä puskuripyynnöstä komennolla Etusivu — Lisää pyyntöjä (Etusivu – Liitä kyselyt):

Power Queryn kyselypäivityshistorian tallentaminen

Siinä kaikki!

On vielä palattava Exceliin Etusivu — Sulje ja lataa (Koti - Sulje&Lataa) ja yritä pari kertaa päivittää koko rakenne painikkeella Päivitä kaikki kieleke Päiväys (Data – Päivitä kaikki). Jokaisen päivityksen yhteydessä uudet tiedot eivät korvaa vanhoja tietoja, vaan työntävät ne alle, jolloin koko päivityshistoria säilyy:

Power Queryn kyselypäivityshistorian tallentaminen

Samanlaista temppua voidaan käyttää tuottaessa mistä tahansa ulkoisesta lähteestä (Internet-sivustot, tietokannat, ulkoiset tiedostot jne.), jotta vanhat arvot säilytetään tarvittaessa.

  • Pivot-taulukko useilla tietoalueilla
  • Taulukoiden kokoaminen eri tiedostoista Power Queryllä
  • Tietojen kerääminen kirjan kaikista lehdistä yhteen taulukkoon

Jätä vastaus