Power Query Pb car ma source change les intitulés des colonnes

toto89

XLDnaute Junior
Bonjour à tous !
Tout nouveau sur le power query, je voudrai avoir un conseil/ une solution à mon pb suivant :

Tout les mois je vais recevoir un fichier source avec en colonne des dates. Avec mon power query, je retravaille ce fichier, dépivote etc pour avoir une base propre et exploitable.
Mais mon pb est que lors de la prochaine extraction de mon fichier source, les dates ont changé (puisqu'elles évoluent avec le temps) et par consequence mes requetes Power Q ne fonctionne plus, (depivoter etc) puisqu'il ne retrouve pas les meme entete de colonnes.

Avez vous une solution ? une idée pour contourner ce pb ?

Ci-joint un fichier 1 test =>source avant traitement de la donnée par power query.
fichier : Rst fichier 1 => apres traitement

Merci d'avance de votre retour.

Bonne journée
 

Pièces jointes

  • fichier1-test.xls
    30.5 KB · Affichages: 8
Solution
Bonjour,
Sans utiliser le nom des colonnes, et avec ce code, peut-être?
VB:
let
    Source = Excel.Workbook(File.Contents("C:\Users\tdarlot\OneDrive - ANDROS\Desktop\fichier1-test.xls"), null, true),
    F2 = Source{[Name="F1"]}[Data],
    SupprLig = Table.Skip(F2,10),
    PromoHead = Table.PromoteHeaders(SupprLig, [PromoteAllScalars=true]),
    SupprVides = Table.SelectRows(PromoHead, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null}))),
    // Je pense que cette ligne n'est plus utile SupprVides
    UnPivot = Table.UnpivotOtherColumns(SupprVides, {"Produit", "Jour"}, "Attribut", "Valeur"),
    Filtr = Table.SelectRows(UnPivot, each ([Attribut] <> ""))
in
    Filtr

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
Sans utiliser le nom des colonnes, et avec ce code, peut-être?
VB:
let
    Source = Excel.Workbook(File.Contents("C:\Users\tdarlot\OneDrive - ANDROS\Desktop\fichier1-test.xls"), null, true),
    F2 = Source{[Name="F1"]}[Data],
    SupprLig = Table.Skip(F2,10),
    PromoHead = Table.PromoteHeaders(SupprLig, [PromoteAllScalars=true]),
    SupprVides = Table.SelectRows(PromoHead, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null}))),
    // Je pense que cette ligne n'est plus utile SupprVides
    UnPivot = Table.UnpivotOtherColumns(SupprVides, {"Produit", "Jour"}, "Attribut", "Valeur"),
    Filtr = Table.SelectRows(UnPivot, each ([Attribut] <> ""))
in
    Filtr
 

toto89

XLDnaute Junior
Bonjour,
Sans utiliser le nom des colonnes, et avec ce code, peut-être?
VB:
let
    Source = Excel.Workbook(File.Contents("C:\Users\tdarlot\OneDrive - ANDROS\Desktop\fichier1-test.xls"), null, true),
    F2 = Source{[Name="F1"]}[Data],
    SupprLig = Table.Skip(F2,10),
    PromoHead = Table.PromoteHeaders(SupprLig, [PromoteAllScalars=true]),
    SupprVides = Table.SelectRows(PromoHead, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null}))),
    // Je pense que cette ligne n'est plus utile SupprVides
    UnPivot = Table.UnpivotOtherColumns(SupprVides, {"Produit", "Jour"}, "Attribut", "Valeur"),
    Filtr = Table.SelectRows(UnPivot, each ([Attribut] <> ""))
in
    Filtr
Super, ça fonctionne ! Merci bcp !
;)
Bonne journée
 
Dernière édition:

Statistiques des forums

Discussions
315 090
Messages
2 116 106
Membres
112 661
dernier inscrit
ceucri