Saturs
Gandrīz katrā Power Query apmācībā, kad nonākam līdz izveidoto vaicājumu atjaunināšanai un cilvēki redz, kā jauni dati atjaunināšanas laikā aizvieto vecos datus, viens no klausītājiem man jautā: “vai ir iespējams pārliecināties, ka atjauninot vecos datus arī kaut kur tika saglabāti un visa atjauninājumu vēsture bija redzama?
Ideja nav jauna, un standarta atbilde uz to būs “nē” – Power Query pēc noklusējuma ir konfigurēts, lai aizstātu vecos datus ar jauniem (kas ir nepieciešams lielākajā daļā gadījumu). Tomēr, ja jūs patiešām vēlaties, varat apiet šo ierobežojumu. Un metode, kā jūs redzēsit vēlāk, ir ļoti vienkārša.
Apsveriet šādu piemēru.
Pieņemsim, ka mums kā ievades dati ir fails no klienta (sauksim to, teiksim, avots) ar to produktu sarakstu, kurus viņš vēlas iegādāties “gudras” dinamiskas tabulas veidā ar nosaukumu iesniegums:
Citā failā (sauksim to pēc analoģijas Saņēmējs) mēs izveidojam vienkāršu vaicājumu, lai importētu tabulu ar produktiem no avota, izmantojot Dati — iegūt datus — no faila — no Excel darbgrāmatas (Dati — iegūt datus — no faila — no Excel darbgrāmatas) un augšupielādējiet iegūto tabulu lapā:
Ja nākotnē klients nolems veikt izmaiņas pasūtījumā savā failā avots, pēc tam pēc mūsu pieprasījuma atjaunināšanas (ar peles labo pogu noklikšķinot vai izmantojot Dati — atsvaidzināt visu) failā redzēsim jaunos datus Saņēmējs - viss standarta.
Tagad pārliecināsimies, ka, atjauninot, vecie dati netiek aizstāti ar jauniem, bet gan jauni tiek pievienoti vecajiem – un pievienojot datumu un laiku, lai būtu redzams, kad šīs konkrētās izmaiņas ir notikušas. izgatavots.
1. darbība. Datuma un laika pievienošana sākotnējam vaicājumam
Atvērsim pieprasījumu iesniegumsmūsu datu importēšana no avotsun pievienojiet tai kolonnu ar atjaunināšanas datumu un laiku. Lai to izdarītu, varat izmantot pogu Pielāgota kolonna tab Kolonnas pievienošana (Pievienot kolonnu — pielāgota kolonna)un pēc tam ievadiet funkciju DateTime.LocalNow – funkcijas analogs TDATA (TAGAD) programmā Microsoft Excel:
Pēc noklikšķināšanas uz OK jums vajadzētu iegūt skaistu kolonnu, piemēram, šo (neaizmirstiet iestatīt datuma un laika formātu, izmantojot ikonu kolonnas galvenē):
Ja vēlaties, šīs kolonnas lapā augšupielādētajai plāksnītei varat iestatīt datuma un laika formātu ar sekundēm, lai nodrošinātu lielāku precizitāti (standarta formātam būs jāpievieno kols un “ss”):
2. darbība. Pieprasiet vecos datus
Tagad izveidosim citu vaicājumu, kas darbosies kā buferis, kas saglabā vecos datus pirms atjaunināšanas. Failā atlasiet jebkuru iegūtās tabulas šūnu Saņēmējs, atlasiet cilnē Datums Komanda No tabulas/diapazona (Dati — no tabulas/diapazona) or Ar lapām (No lapas):
Mēs neko nedarām ar Power Query ielādētu tabulu, mēs izsaucam vaicājumu, piemēram, veci dati un nospiediet Sākums — Aizvērt un ielādēt — Aizvērt un ielādēt... — Izveidot tikai savienojumu (Sākums — Aizvērt&Ielādēt — Aizvērt&Ielādēt uz... — Tikai izveidot savienojumu).
3. solis. Veco un jauno datu savienošana
Tagad atgriezieties pie mūsu sākotnējā vaicājuma iesniegums un pievienojiet tam no apakšas vecos datus no iepriekšējā bufera pieprasījuma ar komandu Sākums — pievienojiet pieprasījumus (Sākums — pievienot vaicājumus):
Tas ir viss!
Atliek atgriezties programmā Excel caur Sākums — aizveriet un lejupielādējiet (Sākums — aizvērt un ielādēt) un mēģiniet pāris reizes atjaunināt visu mūsu struktūru, izmantojot pogu Update All tab Datums (Dati — atsvaidzināt visu). Ar katru atjauninājumu jaunie dati neaizstās vecos datus, bet nosūtīs tos tālāk, saglabājot visu atjauninājumu vēsturi:
Līdzīgu triku var izmantot, importējot no jebkuriem ārējiem avotiem (interneta vietnēm, datu bāzēm, ārējiem failiem utt.), lai saglabātu vecās vēstures vērtības, ja tas jums nepieciešams.
- Rakurstabula vairākos datu diapazonos
- Tabulu salikšana no dažādiem failiem, izmantojot Power Query
- Datu apkopošana no visām grāmatas lapām vienā tabulā