Historisation avec Power Query

Bonjour à tous,

Tout d'abord merci de lire mon message.

Je suis une utilisatrice peu expérimentée sur Excel et on me demande de construire quelque chose via Power Query : je suis perdue!

En janvier, je recois un fichier avec les données de janvier (fichier test-janvier).

En février, je recois un fichier avec les données de janvier + février (fichier test-fevrier). MAIS : les données précédentes (ici janvier) ont pu être modifiées. Je dois calculer mes indicateurs sur la base de ses "nouvelles" données de janvier tout en gardant les anciennes données de janvier dans mon fichier (fichier test-fevrier-result).

Je pense qu'il faut que je réussisse à historiser certaines données mais je n'y parviens pas.

L'idée est d'automatiser tout ce process avec des requêtes Power Query pour tous les mois...

Je vous remercie par avance pour votre aide!!

16test-fevrier.xlsx (8.78 Ko)
13test-janvier.xlsx (6.87 Ko)

bonjour

nomme les fichiers de données, par exemple 20190101 (celui de janv 2019), 20190201 (févr) 20190301 (mars 2019) etc.

mets-les TOUS dans un unique répertoire

il est bien entendu que par exemple 20190301 contient les données à jour de janv à mars 2019.

dans ton Excel de synthèse, menu Données Obtenir de "classeur", navigue vers le répertoire

"charger"

tu as TOUTES les données, avec un repère pour savoir de quel fichier elles datent

si tu as 20190201 en colonne A, tu sais que ça vient du fichier de fév 2019

ensuite à toi de faire tes analyses

note que à mon avis, tu auras souvent des données en double ou en 12aines (à fin déc, les données de janv qui n'ont pas évolué)

mais elles sont repérées par la colonne A

amitiés

note 2 : as-tu accès en requête au progiciel qui actuellement te fournit les xls ?

car il est probable que tu puisse lire ses données directement avec PQuery, sans passer par des xls

Merci beaucoup pour ta réponse.

Je viens d'avoir un point et ils ont modifié le problème :

1. Je dois créer un cube avec les dimensions mois, projet, people

2. Charger les données de janvier

3. Charger les données de février à partir du fichier février (en ignorant les données de janvier présentes dans le fichier)

4. Charger les données de mars à partir du fichier mars (en ignorant les données de janvier et de février)

5. Etc.

Est-ce que tu saurais si cela est possible ? Et si oui, comment y parvenir ?

Merci mille fois !

note 2 : as-tu accès en requête au progiciel qui actuellement te fournit les xls ?

car il est probable que tu puisse lire ses données directement avec PQuery, sans passer par des xls

Non, j'ai seulement accès aux fichiers Excel

re

oui !

fais comme je t'ai dit

ensuite il faut supprimer les données de janv qui sont en face de 20190201

je te propose au début de le faire ainsi :

dansPQUERY

  • ajouter une colonne colA qui transforme les aaaamm01 en 01/mm/aaaa
  • une autre colonne colB qui transforme les aaaa-mm en 01/mm/aaaa
  • une autre avec : if colA=colB then 1 else 0
  • filtrer (petite flèche dans le titre) pour ne garder que les 1

(on peut certainenement faire plus compact, mais laisse ainsi, c'est lisible et modifiable facilement)

sais-tu faire ?

ce sera un super entraînement à PQuery

amitiés

re

oui !

fais comme je t'ai dit

ensuite il faut supprimer les données de janv qui sont en face de 20190201

je te propose au début de le faire ainsi :

dansPQUERY

  • ajouter une colonne colA qui transforme les aaaamm01 en 01/mm/aaaa
  • une autre colonne colB qui transforme les aaaa-mm en 01/mm/aaaa
  • une autre avec : if colA=colB then 1 else 0
  • filtrer (petite flèche dans le titre) pour ne garder que les 1

(on peut certainenement faire plus compact, mais laisse ainsi, c'est lisible et modifiable facilement)

sais-tu faire ?

ce sera un super entraînement à PQuery

amitiés

Merci pour ces détails. Hélas non, je n'utilise Excel que pour des taches toutes simples et ne connait pas le langage M ! Il faut que je me penche sur tout cela....

re

n'apprends pas M

du moins pas tout de suite, c'est inutile

99% du code est tapé par PQuery, tu n'as qu'à choisir les actions dans le menu, ou par clic et clic droit dans les titres des colonnes

ah si seulement tout Excel était aussi bien fait !

l'instruction if que j'ai tapée ci-dessus est une exception

amitiés

Bonjour,

@ jmd,

Avec Power Query et les fonctionnalités du ruban, on résout à peine 40% des problèmes. La connaissance des fonctions basiques (déjà le langage M) permet d'augmenter la résolution à un taux de 60%. Après, il faut des connaissances particulières !...

Dans tous les cas, la connaissance du langage M est nécessaire (et c'est pas gagné !..)

Si on apprend à manipuler les tables, on est dans l'ordre des 80%.

On est loin des 99% que tu annonces.

Encore une fois, quand tu donnes des chiffres, vérifie tes sources.

En résumé, on n'écrit pas n'importe quoi.

Cdlt.

Source :

Collect, Combine, and Transform Data Using Power Query in Excel and Power BI (Gil Raviv)

Pearson Education. Édition

Nota :

Pas de RECHERCHEV() avec Power Query

salut Jean-Eric

je maintiens : l'immense majorité des besoins en traitement des données se fait avec le GUI, sans écrire une seule ligne de code M.

là où nos avis divergent, c'est dans la définition du mot "besoin"

j'utilise souvent P Query, tous les jours en fait, et j'ai appris if then else (facile avec le web) et c'est tout.

plus souvent dans Power BI que dans Excel, et je traite des modèles de données d'environ 20 tables dans diverses entreprises

note que c'est toi, qui sur ce forum, m'a appris de dépivoter une table

avec le GUI

en conclusion, soit je ne suis jamais tombé sur un os, soit le GUI résout 99% des problèmes courants

j'ai le bouquin Power Query et le langage M de Cathy

je ne m'en suis JAMAIS servi

en tout état de cause, on peut, on doit débuter l'apprentissage de P Query sans apprendre M.

si on tombe sur un cas difficile, on peut poser la question sur ce forum. On compte sur ton aide bienveillante.

heureux d'échanger avec toi

amitiés

Bonjour,

Jmd : j'en suis à la première étape, je ne trouve pas le menu dont tu me parles pour mettre toutes les feuilles en une avant de passer aux étapes de rajout de colonnes.

J'ai essayé mais j'obtiens cette erreur.

Je te remercie,

Marie

capture

re

nomme les fichiers de données, par exemple 20190101 (celui de janv 2019), 20190201 (févr) 20190301 (mars 2019) etc.

mets-les TOUS dans un unique répertoire

il est bien entendu que, par exemple, 20190301 contient les données à jour de janv à mars 2019.

dans ton Excel de synthèse, menu Données Obtenir de "classeur", navigue vers le répertoire

"charger"

tu as TOUTES les données, avec un repère pour savoir de quel fichier elles datent

si tu as 20190201 en colonne A, tu sais que ça vient du fichier de fév 2019

TOUS les fichiers doivent avoir la même extension, par exemple .xls et être réellement des Excel

ou bien tu peux aussi avoir TOUS des .txt ou .csv et il faut qu'ils aient la structure txt ou csv

sinon Power Query ne comprend rien

amitiés

Tous mes fichiers sont des Excels en ".xlsx" !

est-ce qu'il y a d'autres fichiers dans le répertoire ?

car Power Query tente de tous les ouvrir

les xls contiennent un unique onglet (je n'ai pas testé s'il y a plusieurs onglets)

Non ce sont les deux seuls fichiers dans mon répertoire et il y a un unique onglet dans chacun des fichiers...

J'ai transformé mes fichiers en .CSV et je n'ai plus d'erreur. Je vais faire avec cela pour l'instant.

Une fois les fichiers mis les uns à la suite des autres, sais-tu comment je fais pour avoir une colonne avec le nom du fichier ?

Merci beaucoup, je ne suis pas très douée !

lorsque PQuery lit plusieurs fichiers, il met les noms des fichiers en colonne A (et donc décaler les données d'une colonne)

ça se voit sur l'écran d'importation

J'ai le résultat suivant : cf capture

Je ne vois pas de colonne A contenant le nom du fichier

capture

J'ai réussi cette étape en faisant quelques manipulations en plus.

Je poursuis avec la suite de tes indications !

il est important de bien comprendre que les étapes qu'effectue PQuery sont dans la zone de droite, commençant par "source"

quand tu cliques sur une étape, PQuery te montre le résultat depuis source jusqu'à l'étape cliquée, il néglige les suivantes

clique dans la dernière étape pour voir le résultat de l'enchaînement de toutes les étapes

Rechercher des sujets similaires à "historisation power query"