RechercheV dernier prix d’achat date <= à la date de vente

Accueil – Le CFO masqué Forums Power Query RechercheV dernier prix d’achat date <= à la date de vente

Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #149224
    titeufdu89
    Participant

    Bonjour,

    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_Produit

    Table : 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
    TypeModifie2

    J’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

Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.