Regrouper les données avec comme critères un second tableau
Bonjour a tous,
Pas évident de trouver un titre explicite...
J'ai découvert grâce a vous Power Query il y a peu.
Je sèche aujourd'hui sur un problème de regroupement de valeurs.
Dans le fichier joint, j'ai une feuille source de donnée avec date et produit.
Avec Power Query j'obtiens facilement le nombre de ligne par date et produit en regroupant par date puis produit.
Date examen Vendu Quantite
02/01/2019 Pomme de terre 2
03/01/2019 Haricots 4
03/01/2019 Choux Fleur 1
03/01/2019 Poireau 2
03/01/2019 Pomme de terre 1
04/01/2019 Poireau 3
04/01/2019 Pomme de terre 4
07/01/2019 Haricots 3
07/01/2019 Poireau 1
...J'ai une autre feuille qui contient des plages de dates (périodes)
NomPeriode DateDebut DateFin
Annee 01/01/2019 31/12/2019
Periode A 01/02/2019 28/02/2019
Periode B 01/01/2019 15/03/2019
Semestre 2 01/07/2019 31/12/2019
Periode C 01/09/2019 25/10/2019Je cherche maintenant a obtenir le tableau final en fonction de ces dates
Vendu Annee Periode A Periode B Semestre 2 Periode C
Pomme de terre 915
Haricots 526
Choux Fleur 153
Poireau 214
Banane 132 J'avais pensé mettre une colonne calculée pour identifier la période a laquelle la ligne appartient mais certaines dates peuvent appartenir a plusieurs périodes.
Dans quelle direction puis-je chercher?
Bon, J'avance tout doucement.
J'arrive maintenant a obtenir une somme sur une période définie.
J'ai défini deux tableaux source et j'ai fait un Drill Down sur les valeurs pour aller les mettre dans Power Query
let
Source = Excel.CurrentWorkbook(){[Name="ImportDonnees"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Vendu", type text}, {"Quantite", Int64.Type}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Date] >= DateDebut and [Date] <= DateFin),
#"Grouped Rows" = Table.Group(#"Filtered Rows", {"Vendu"}, {{"Count", each List.Sum([Quantite]), type number}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Periode", each Text.From(DateDebut) & "-" & Text.From(DateFin)),
#"Reordered Columns" = Table.ReorderColumns(#"Added Custom",{"Periode", "Vendu", "Count"})
in
#"Reordered Columns"Date de Debut Date de Fin Periode Vendu Count
01/02/2019 30/04/2019 01/02/2019-30/04/2019 Haricots 135
01/02/2019-30/04/2019 Banane 23
01/02/2019-30/04/2019 Noix de coco 12
01/02/2019-30/04/2019 Pomme de terre 238
01/02/2019-30/04/2019 Abricots 47
01/02/2019-30/04/2019 Ananas 21
01/02/2019-30/04/2019 Choux Fleur 37Prochaine étape, faire cela sur les autres périodes...
J'avance toujours...
J'obtiens maintenant le tableau désiré mais la méthode ne me plait pas trop.
Il faudrait surement faire autrement.
Pour chaque nouvelle période je suis obligé de faire deux nouvelles sources et une table de connexion.
Je regroupe les différentes requêtes et je pivote la colonne.
Le résultat (partiel) dans le fichier :
Bonjour,
Un exemple dans le fichier joint.
1 Table Données
1 Table Périodes
1 Table Final
A te relire.
Cdlt.
