Accueil – Le CFO masqué › Forums › Power Query › Requête automatique sur plusieurs fichiers et mise en forme
- Ce sujet contient 1 réponse, 2 participants et a été mis à jour pour la dernière fois par Daniel, le il y a 8 mois.
-
AuteurMessages
-
15 mai 2024 à 12 h 54 min #140776helmout.viandardParticipant
Bonjour !
Je viens de me mettre à power query sur excel pour traiter un gros jeu de données, je suis débutant, ma question est peut-être bête.
J’ai deux fichiers CSV que j’ai chargé dans excel avec power query. Ces fichiers proviennent de deux sources différentes : ils contiennent des informations similaires, il y a même des doublons possibles entre deux CSV, mais le format ( le nom et le nombre de colonnes , la façon d’écrire des valeurs avec des signes “inférieur à” ou pas…) est différent d’un fichier à l’autre.
J’ai chargé chaque CSV individuellement dans un fichier excel, et ils sont assez lisibles individuellement. On retrouve dans les deux jeux de données : des communes, des identifiants pour des points précis dans ces communes, des dates, et valeurs de paramètres phisico-chimique, avec un code sandre pour chaque paramètre. Pour chaque ligne on a une mesure d’un paramètre phisico-chimique fait à une date donnée sur un point donné
Voilà pour la présentation, maintenant les questions :
J’aimerais d’abord pouvoir agréger tous mes différents jeux de données et leur donner à tous le même format. Il faudrait ensuite que je puisse supprimer les doublons, pour avoir une seule BdD complète et utilisable.
J’aimerais ensuite pouvoir simplifier ma base de données : A la place d’avoir une ligne par analyse, je voudrais une ligne par date et une colonne en plus pour chaque code sandre. pour l’instant, j’ai ça :
Commune | date | SANDRE | résultat
______________________________________________
commune 1 | date 1 | SANDRE 1 | résultat 1-1
commune 1 | date 1 | SANDRE 2 | résultat 1-2
commune 1 | date 2 | SANDRE 1 | résultat 2-1
commune 1 | date 2 | SANDRE 2 | résultat 2-2
commune 2 | date 1 | SANDRE 1 | résultat …Ca prend énormément de place, ce serait plus lisible d’avoir ça :
Commune | date | SANDRE 1 | SANDRE 2
_________________________________________________
Commune 1 | date 1 | resultat 1-1 | resultat 1-2
Commune 1 | date 2 | resultat 2-1 | resultat 2-2
Commune 2 | date 1 | resultat… | resultat …Ca doit pouvoir se faire avec la fonction pivoter, mais j’ai du mal à comprendre la logique…
Enfin, J’ai une vingtaine de communes différentes. J’aimerais pouvoir extraire automatiquement de ma base données finale mes résultats commune par commune, avec tous les paramètres, et tout transférer sur un fichier excel à part pour chaque commune. La cerise sur le gateau, ce serait de pouvoir tracer un graphique automatiquement de l’évolution temporelle d’un paramètre donné, pour un point ou une commune donnée.
je sais que j’en demande beaucoup, j’espère que mon post est clair !!
Merci beaucoup à la personne qui pourra me répondre, ce serait super si je pouvais faire tout ça !!
16 mai 2024 à 12 h 34 min #140804DanielParticipantBonjour helmout.viandard, Le Forum,
En partant de ton exemple ci-dessus, je propose la requête suivante :
let
Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
ModificationTypeDonnees = Table.TransformColumnTypes(Source,{{“Commune”, type text}, {“date”, type text}, {“SANDRE”, type text}, {“résultat”, type text}}),
PivoterColonneSANDRE = Table.Pivot(ModificationTypeDonnees, List.Distinct(ModificationTypeDonnees[SANDRE]), “SANDRE”, “résultat”)
in
PivoterColonneSANDREIl faut effectivement pivoter la colonne Sandre mais il faut choisir l’opération à réaliser dans ce cas il ne faut pas agréger les données. Donc en clair, choisir la colonne “SANDRE” et dans la boite de dialogue, pour la colonne de valeurs il faut choisir la colonne “résultat”, cliquez ensuite sur Opérations avancées et sélectionner “Ne pas agréger”.
Cela donne le résultat escompté, mais il va falloir la tester sur ton jeu de données complet.
Cordialement
DanielAttachments:
You must be logged in to view attached files. -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.