Accueil – Le CFO masqué › Forums › Power Query › RechercheV dernier prix d’achat date <= à la date de vente
- Ce sujet contient 0 réponse, 1 participant et a été mis à jour pour la dernière fois par
titeufdu89, le il y a 3 semaines et 6 jours.
-
AuteurMessages
-
14 janvier 2025 à 9 h 52 min #149224
titeufdu89
ParticipantBonjour,
Je sollicite votre aide car je souhaiterais sur Power Query lier ma table des ventes avec celles de mes achats et ajouter dans ma table des ventes, une colonne prix d’achat qui reprendrait le dernier d’achat connu à la date de vente mais je n’y parviens pas. (Date achat <= à Date de facturation).
Voici l’architecture de mes datas :
Table de vente : Cumul
Champs utiles : Date de facturation | ID_ProduitTable : Ligne_achats
Champs utiles : Date | ID_Produit | Cout unitaire calculéSur Excel, j’y parviens aisément avec la fonction Max.si.ens j’extrais la date du dernier achat puis je récupère le prix correspondant mais sur Query je bloque, d’autant que ma table Cumul est déjà issue d’une combinaison de plusieurs table et du code ci-dessous.
let
Source = Table.Combine({#”Ventes histo”, Avoir}),
ValeurRemplacee = Table.ReplaceValue(Source, each [Quantité], each if [Type] = “Avoir client” then [Quantité]*-1 else [Quantité], Replacer.ReplaceValue, {“Quantité”}),
ValeurRemplacee1 = Table.ReplaceValue(ValeurRemplacee, each [Total art HT], each if [Type] = “Avoir client” then [Total art HT]*-1 else [Total art HT], Replacer.ReplaceValue, {“Total art HT”}),
ValeurRemplacee2 = Table.ReplaceValue(ValeurRemplacee1, each [Total art TTC], each if [Type] = “Avoir client” then [Total art TTC]*-1 else [Total art TTC], Replacer.ReplaceValue, {“Total art TTC”}),
LignesFiltrees = Table.SelectRows(ValeurRemplacee2, each ([ID_Produit] <> null)),
DuplicationColonne = Table.DuplicateColumn(LignesFiltrees, “Partenaire”, “Partenaire – Copier”),
ColonnesPermutees = Table.ReorderColumns(DuplicationColonne, {“Société”, “Date de facturation”, “ID_Client”, “Partenaire”, “Partenaire – Copier”, “Vendeur”, “Équipe commerciale”, “Numéro”, “Statut”, “Statut du paiement”, “Total signé”, “Type”, “ID_Produit”, “Référence interne”, “Nom d’affichage”, “Quantité”, “Remise (%)”, “Prix unitaire”, “Total art HT”, “Total art TTC”, “Coût”}),
ColonnesRenommees = Table.RenameColumns(ColonnesPermutees, {{“Partenaire – Copier”, “Client”}}),
TypeModifie = Table.TransformColumnTypes(ColonnesRenommees, {{“Total art TTC”, type number}, {“Total art HT”, type number}}),
ValeurRemplacee3 = Table.ReplaceValue(TypeModifie, null, 0, Replacer.ReplaceValue, {“Total art HT”}),
ValeurRemplacee4 = Table.ReplaceValue(ValeurRemplacee3, null, 0, Replacer.ReplaceValue, {“Total art TTC”}),
TypeModifie1 = Table.TransformColumnTypes(ValeurRemplacee4, {{“Prix unitaire”, Currency.Type}, {“Total art HT”, Currency.Type}, {“Total art TTC”, Currency.Type}, {“Coût”, Currency.Type}}),
ColonnesSupprimees = Table.RemoveColumns(TypeModifie1, {“Client”}),
RequetesFusionnees = Table.NestedJoin(ColonnesSupprimees, {“ID_Client”}, Client, {“ID_Client”}, “Client”, JoinKind.LeftOuter),
ClientDeveloppe = Table.ExpandTableColumn(RequetesFusionnees, “Client”, {“Nom d’affichage”, “Vendeur”, “Équipe commerciale”}, {“Nom d’affichage.1”, “Vendeur.1”, “Équipe commerciale.1”}),
ColonnesRenommees2 = Table.RenameColumns(ClientDeveloppe, {{“Nom d’affichage.1”, “Client”}, {“Vendeur.1”, “Der Rep”}}),
TexteExtraitAvantDelimiteur = Table.TransformColumns(ColonnesRenommees2, {{“Client”, each Text.BeforeDelimiter(_, “,”), type text}}),
RequetesFusionnees1 = Table.NestedJoin(TexteExtraitAvantDelimiteur, {“Der Rep”}, #”Vendeurs actifs”, {“Vendeur”}, “Vendeurs actifs”, JoinKind.LeftOuter),
VendeursActifsDeveloppe = Table.ExpandTableColumn(RequetesFusionnees1, “Vendeurs actifs”, {“Vendeur”}, {“Vendeur.1”}),
ValeurRemplacee5 = Table.ReplaceValue(VendeursActifsDeveloppe, null, “z-Non attribué”, Replacer.ReplaceValue, {“Vendeur.1”}),
ColonnesRenommees1 = Table.RenameColumns(ValeurRemplacee5, {{“Vendeur.1”, “Rep”}}),
ColonnesSupprimees1 = Table.RemoveColumns(ColonnesRenommees1, {“Der Rep”}),
TypeModifie2 = Table.TransformColumnTypes(ColonnesSupprimees1, {{“Quantité”, Int64.Type}})
in
TypeModifie2J’ai vu un certain nombre de tutos sur le sujet mais je ne parviens pas à les mettre en oeuvre dans mon fichier.
Je vous remercie par avance pour votre aide et reste à disposition pour tout complément d’information éventuel.
Jean-Christophe
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.