S'està desant l'historial d'actualitzacions de consultes de Power Query

En gairebé tots els entrenaments de Power Query, quan arribem a com actualitzar les consultes creades i la gent veu com les dades noves reemplacen les antigues quan s'actualitzen, un dels oients em pregunta: "és possible assegurar-se que quan actualitzem, les dades antigues siguin? també es van desar en algun lloc i tot l'historial d'actualitzacions era visible?

La idea no és nova i la resposta estàndard serà "no": Power Query està configurat per defecte per substituir dades antigues per noves (que és necessari en la gran majoria dels casos). Tanmateix, si realment voleu, podeu evitar aquesta limitació. I el mètode, com veureu més endavant, és molt senzill.

Penseu en el següent exemple.

Suposem que tenim un fitxer del client com a dades d'entrada (diguem-lo, diguem-ne, font) amb una llista de productes que vol comprar en forma de taula dinàmica "intel·ligent" anomenada Sol·licitud:

S'està desant l'historial d'actualitzacions de consultes de Power Query

En un altre fitxer (anomenarem-lo per analogia Receptor) creem una consulta senzilla per importar una taula amb productes de la font via Dades - Obtenir dades - Del fitxer - Des del llibre de treball d'Excel (Dades — Obtenir dades — Del fitxer — Del llibre de treball d'Excel) i carregueu la taula resultant al full:

S'està desant l'historial d'actualitzacions de consultes de Power Query

Si en el futur el client decideix fer modificacions a la comanda en el seu fitxer font, després d'actualitzar la nostra sol·licitud (fent clic amb el botó dret o mitjançant Dades: actualitza-ho tot) veurem les noves dades al fitxer Receptor —Tot estàndard.

Ara ens assegurem que en actualitzar, les dades antigues no es substitueixen per noves, sinó que les noves s'afegeixen a les antigues, i amb l'addició d'una data i hora, de manera que es pugui veure quan es van produir aquests canvis específics. fet.

Pas 1. Afegir una data i hora a la consulta original

Obrim una petició Sol·licitudimportant les nostres dades des de font, i afegiu-hi una columna amb la data i l'hora de l'actualització. Per fer-ho, podeu utilitzar el botó Columna personalitzada llengüeta Afegint una columna (Afegeix columna: columna personalitzada)i, a continuació, introduïu la funció DateTime.LocalNow – anàleg de la funció El TDATA (ARA) a Microsoft Excel:

S'està desant l'historial d'actualitzacions de consultes de Power Query

Després de fer clic OK hauríeu d'acabar amb una columna bonica com aquesta (no us oblideu d'establir el format de data i hora amb la icona de la capçalera de la columna):

S'està desant l'historial d'actualitzacions de consultes de Power Query

Si voleu, per a la placa carregada al full d'aquesta columna, podeu establir el format de data i hora amb segons per a una major precisió (haureu d'afegir dos punts i "ss" al format estàndard):

S'està desant l'historial d'actualitzacions de consultes de Power Query

Pas 2: consulteu dades antigues

Ara creem una altra consulta que actuarà com a memòria intermèdia que desa les dades antigues abans d'actualitzar-les. Seleccionant qualsevol cel·la de la taula resultant del fitxer Receptor, seleccioneu a la pestanya dades Comando De Taula/Range (Dades: de la taula/interval) or Amb fulles (Del full):

S'està desant l'historial d'actualitzacions de consultes de Power Query

No fem res amb la taula carregada a Power Query, anomenem la consulta, per exemple, dades antigues i premi Inici — Tancar i carregar — Tancar i carregar a... — Només per crear connexió (Inici — Tanca i càrrega — Tanca i càrrega a... — Només crea connexió).

Pas 3. Unir dades antigues i noves

Ara tornem a la nostra consulta original Sol·licitud i afegiu-hi des de sota les dades antigues de la sol·licitud de memòria intermèdia anterior amb l'ordre Inici — Afegeix sol·licituds (Inici — Afegiu consultes):

S'està desant l'historial d'actualitzacions de consultes de Power Query

Això és tot!

Queda per tornar a Excel a través Inici — Tanca i baixa (Inici — Tancar i carregar) i proveu un parell de vegades d'actualitzar tota la nostra estructura amb el botó Actualitza-ho tot llengüeta dades (Dades — Actualitza-ho tot). Amb cada actualització, les dades noves no substituiran les antigues, sinó que les enviaran a continuació, conservant tot l'historial d'actualitzacions:

S'està desant l'historial d'actualitzacions de consultes de Power Query

Es pot utilitzar un truc similar quan s'importa des de qualsevol font externa (llocs d'Internet, bases de dades, fitxers externs, etc.) per mantenir els valors antics per a l'historial si ho necessiteu.

  • Taula dinàmica en diversos intervals de dades
  • Muntatge de taules a partir de diferents fitxers mitjançant Power Query
  • Recollida de dades de tots els fulls del llibre en una taula

Deixa un comentari