Ukladá sa história aktualizácií dotazov Power Query

Takmer na každom školení Power Query, keď sa dostaneme k tomu, ako aktualizovať vytvorené dotazy a ľudia vidia, ako nové údaje pri aktualizácii nahrádzajú staré údaje, sa ma jeden z poslucháčov pýta: „Je možné zabezpečiť, aby pri aktualizácii boli staré údaje boli tiež niekde uložené a bola viditeľná celá história aktualizácií?

Myšlienka nie je nová a štandardná odpoveď na ňu bude „nie“ – Power Query je predvolene nakonfigurovaný tak, aby nahradil staré údaje novými (čo sa vo veľkej väčšine prípadov vyžaduje). Ak však naozaj chcete, môžete toto obmedzenie obísť. A metóda, ako uvidíte neskôr, je veľmi jednoduchá.

Uvažujme o nasledujúcom príklade.

Predpokladajme, že ako vstupné dáta máme súbor od klienta (nazvime to, povedzme, zdroj) so zoznamom produktov, ktoré si chce kúpiť vo forme „inteligentnej“ dynamickej tabuľky s názvom Využitie:

Ukladá sa história aktualizácií dotazov Power Query

V inom súbore (nazvime to analogicky Prijímač) vytvoríme jednoduchý dotaz na import tabuľky s produktmi zo zdroja cez Údaje – Získať údaje – Zo súboru – Zo zošita programu Excel (Údaje — Získať údaje — Zo súboru — Z excelového zošita) a nahrajte výslednú tabuľku na hárok:

Ukladá sa história aktualizácií dotazov Power Query

Ak sa klient v budúcnosti rozhodne vykonať zmeny v objednávke vo svojom spise zdroj, potom po aktualizácii našej požiadavky (kliknutím pravým tlačidlom myši alebo cez Údaje – Obnoviť všetko) uvidíme nové údaje v súbore Prijímač — všetky štandardné.

Teraz sa presvedčíme, že pri aktualizácii sa staré údaje nenahrádzajú novými, ale nové sa pripájajú k starým – a to s pridaním dátumu a času, aby bolo vidieť, kedy k týmto konkrétnym zmenám došlo. vyrobené.

Krok 1. Pridanie dátumu a času k pôvodnému dotazu

Otvorme žiadosť Využitieimport našich údajov z zdroja pridajte doň stĺpec s dátumom a časom aktualizácie. Ak to chcete urobiť, môžete použiť tlačidlo Vlastný stĺpec pútko Pridanie stĺpca (Pridať stĺpec – vlastný stĺpec)a potom zadajte funkciu DateTime.LocalNow – analóg funkcie TDATA (TERAZ) v programe Microsoft Excel:

Ukladá sa história aktualizácií dotazov Power Query

Po kliknutí na OK mali by ste skončiť s pekným stĺpcom, ako je tento (nezabudnite preň nastaviť formát dátumu a času pomocou ikony v hlavičke stĺpca):

Ukladá sa história aktualizácií dotazov Power Query

Ak chcete, môžete pre platňu nahranú na hárok pre tento stĺpec nastaviť formát dátumu a času so sekundami pre väčšiu presnosť (k štandardnému formátu budete musieť pridať dvojbodku a „ss“):

Ukladá sa história aktualizácií dotazov Power Query

Krok 2: Dopyt na staré údaje

Teraz vytvorte ďalší dotaz, ktorý bude fungovať ako vyrovnávacia pamäť, ktorá uloží staré údaje pred aktualizáciou. Výber ľubovoľnej bunky výslednej tabuľky v súbore Prijímač, vyberte na karte dátum povel Z tabuľky/rozsahu (Údaje – z tabuľky/rozsahu) or S listami (Z listu):

Ukladá sa história aktualizácií dotazov Power Query

S tabuľkou načítanou v Power Query nerobíme nič, dotaz voláme napr. staré údaje a stlačte Domov — Zavrieť a načítať — Zavrieť a načítať do... — Iba vytvoriť pripojenie (Domov — Zavrieť&Načítať — Zavrieť&Načítať do... — Vytvoriť iba pripojenie).

Krok 3. Spojenie starých a nových údajov

Teraz späť k nášmu pôvodnému dotazu Využitie a pomocou príkazu doň pridajte zospodu staré údaje z predchádzajúcej požiadavky na vyrovnávaciu pamäť Domov — Pridať požiadavky (Domov – pripojiť dopyty):

Ukladá sa história aktualizácií dotazov Power Query

To je všetko!

Zostáva sa vrátiť do Excelu Domov — Zatvorte a stiahnite (Domov – Zavrieť a načítať) a skúste niekoľkokrát aktualizovať celú našu štruktúru pomocou tlačidla aktualizácie Všetko pútko dátum (Údaje – Obnoviť všetko). Pri každej aktualizácii nové údaje nenahradia staré údaje, ale posunú ich nižšie, pričom sa zachová celá história aktualizácií:

Ukladá sa história aktualizácií dotazov Power Query

Podobný trik je možné použiť pri importe z akýchkoľvek externých zdrojov (internetové stránky, databázy, externé súbory atď.), aby ste v prípade potreby zachovali staré hodnoty pre históriu.

  • Kontingenčná tabuľka naprieč viacerými rozsahmi údajov
  • Zostavovanie tabuliek z rôznych súborov pomocou Power Query
  • Zhromažďovanie údajov zo všetkých listov knihy do jednej tabuľky

Nechaj odpoveď