Home › Forums › Power Query › Filtrer un tableau selon 2 critères
- This topic has 1 reply, 2 voices, and was last updated 2 years ago by
Daniel.
-
AuthorPosts
-
12 January 2024 at 8 h 44 min #136143
Cricri
ParticipantBonjour,
Dans le fichier Ci-joint, j’ai 4 colonnes :
– Fournisseur
– Article
– Date achat
– PrixPour l’exemple j’ai créé ce petit tableau directement dans Excel, mais à l’origine il s’agit d’une extraction SQL
Mon but est de filtrer le tableau pour n’avoir que le dernier prix payé par article et par fournisseur
Cela fait un petit moment que je tourne en rond et je ne trouve pas de solution (c’est ça les débutants sur Power Query :-))Pourriez vous m’aider à filtrer ce tableau ?
Merci d’avance.
Attachments:
You must be logged in to view attached files.12 January 2024 at 10 h 11 min #136163Daniel
ParticipantBonjour Cricri, le Forum,
Peut-être que ce qui suit vous aidera ou à tout le moins vous mettra sur une piste pour solutionner votre problème.
let
Source = Excel.CurrentWorkbook(){[Name=”Feuil1″]}[Content],
ModificationTypeDonnees = Table.TransformColumnTypes(Source,{{“Fournisseur”, Int64.Type}, {“Article”, type any}, {“Date achat”, type datetime}, {“prix”, type number}}),
GrouperSurFournisseurArticle = Table.Group(ModificationTypeDonnees, {“Fournisseur”, “Article”}, {{“DateMax”, each List.Max([Date achat]), type nullable datetime}, {“AllRows”, each _, type table [Fournisseur=nullable number, Article=any, Date achat=nullable datetime, prix=nullable number]}}),
AjoutColDernierPrix = Table.AddColumn(GrouperSurFournisseurArticle, “Dernier Prix”, each let DernDate = [DateMax] in Table.SelectRows([AllRows], each [#”Date achat”] = DernDate)[prix]{0}),
SuppressionColonnes = Table.RemoveColumns(AjoutColDernierPrix,{“DateMax”, “AllRows”})
in
SuppressionColonnesFeuil1 : nom du tableau structuré Excel
On groupe sur le fournisseur et l’article en prenant la date Max et toutes les lignes contenues dans le jeu de données
AjoutColDernierPrix :
DernDate : correspond à la date Max de chaque couple Fournisseur/Article
puis on sélectionne les lignes pour lesquelles la date d’achat correspond à la date Max
[prix]{0} correspond à la colonne Prix et {0] à la 1ère ligne partant su principe que l’on a qu’une seule date maxCordialement
DanielAttachments:
You must be logged in to view attached files. -
AuthorPosts
- You must be logged in to reply to this topic.




