Enregistrement de l'historique de mise à jour des requêtes Power Query

À presque toutes les formations Power Query, lorsque nous arrivons à mettre à jour les requêtes créées et que les gens voient comment les nouvelles données remplacent les anciennes lors de la mise à jour, l'un des auditeurs me demande : "est-il possible de s'assurer que lors de la mise à jour, les anciennes données sont aussi quelque part ont été enregistrés et tout l'historique des mises à jour était visible ?

L'idée n'est pas nouvelle et la réponse standard sera "non" - Power Query est configuré par défaut pour remplacer les anciennes données par de nouvelles (ce qui est nécessaire dans la grande majorité des cas). Cependant, si vous le souhaitez vraiment, vous pouvez contourner cette limitation. Et la méthode, comme vous le verrez plus tard, est très simple.

Prenons l'exemple suivant.

Supposons que nous ayons un fichier du client en tant que données d'entrée (appelons-le, disons, Identifier) avec une liste de produits qu'il souhaite acheter sous la forme d'un tableau dynamique "intelligent" nommé Candidature:

Enregistrement de l'historique de mise à jour des requêtes Power Query

Dans un autre fichier (appelons-le par analogie Récepteur) nous créons une requête simple pour importer une table avec des produits de la source via Données - Obtenir des données - À partir d'un fichier - À partir d'un classeur Excel (Données — Obtenir des données — À partir d'un fichier — À partir d'un classeur Excel) et chargez le tableau résultant dans la feuille :

Enregistrement de l'historique de mise à jour des requêtes Power Query

Si à l'avenir le client décide d'apporter des modifications à la commande dans son dossier Identifier, puis après mise à jour de notre requête (par clic droit ou via Données – Tout actualiser) nous verrons les nouvelles données dans le fichier Récepteur - tous standards.

Maintenant, assurons-nous que lors de la mise à jour, les anciennes données ne sont pas remplacées par de nouvelles, mais que les nouvelles sont ajoutées aux anciennes - et avec l'ajout d'une date-heure, afin de pouvoir voir quand ces changements spécifiques ont été fabriqué.

Étape 1. Ajouter une date-heure à la requête d'origine

Ouvrons une demande Candidatureimporter nos données depuis Identifier, et ajoutez-y une colonne avec la date et l'heure de la mise à jour. Pour ce faire, vous pouvez utiliser le bouton Colonne personnalisée languette Ajout d'une colonne (Ajouter une colonne — Colonne personnalisée), puis entrez la fonction DateHeure.LocalNow – analogique de la fonction Les TDATA (MAINTENANT) sur Microsoft Excel :

Enregistrement de l'historique de mise à jour des requêtes Power Query

Après avoir cliqué sur OK vous devriez vous retrouver avec une jolie colonne comme celle-ci (n'oubliez pas de définir le format date-heure avec l'icône dans l'en-tête de colonne):

Enregistrement de l'historique de mise à jour des requêtes Power Query

Si vous le souhaitez, alors pour la plaque téléchargée sur la feuille pour cette colonne, vous pouvez définir le format date-heure avec des secondes pour une plus grande précision (vous devrez ajouter deux points et « ss » au format standard) :

Enregistrement de l'historique de mise à jour des requêtes Power Query

Étape 2 : Rechercher les anciennes données

Créons maintenant une autre requête qui agira comme un tampon qui enregistre les anciennes données avant la mise à jour. Sélection de n'importe quelle cellule du tableau résultant dans le fichier Récepteur, sélectionnez dans l'onglet Données Command À partir du tableau/plage (Données – À partir du tableau/de la plage) or Avec des feuilles (De la feuille):

Enregistrement de l'historique de mise à jour des requêtes Power Query

Nous ne faisons rien avec la table chargée dans Power Query, nous appelons la requête, par exemple, anciennes données et appuyez sur Accueil — Fermer et charger — Fermer et charger dans… — Créer une connexion uniquement (Accueil — Fermer&Charger — Fermer&Charger vers… — Créer uniquement une connexion).

Étape 3. Joindre les anciennes et les nouvelles données

Revenons maintenant à notre requête initiale Candidature et ajoutez-y par le bas les anciennes données de la demande de tampon précédente avec la commande Accueil — Ajouter des demandes (Accueil - Ajouter des requêtes):

Enregistrement de l'historique de mise à jour des requêtes Power Query

C'est tout!

Il reste à revenir à Excel par Accueil — Fermer et télécharger (Accueil — Fermer&Charger) et essayez plusieurs fois de mettre à jour toute notre structure avec le bouton Tout mettre à jour languette Données (Données — Actualiser tout). A chaque mise à jour, les nouvelles données ne remplaceront pas les anciennes données, mais les pousseront en dessous, en conservant l'intégralité de l'historique des mises à jour :

Enregistrement de l'historique de mise à jour des requêtes Power Query

Une astuce similaire peut être utilisée lors de l'importation à partir de n'importe quelle source externe (sites Internet, bases de données, fichiers externes, etc.) pour conserver les anciennes valeurs pour l'historique si vous en avez besoin.

  • Tableau croisé dynamique sur plusieurs plages de données
  • Assemblage de tables à partir de différents fichiers à l'aide de Power Query
  • Collecter les données de toutes les feuilles du livre dans un seul tableau

Soyez sympa! Laissez un commentaire