Power Query Record.Field table de correspondance avant développement

Bonjour à tous,

Je bloque sur mon code PQ, toute les explications sont dans le fichier joint,

Merci d'avance pour votre aide,

Cordialement,

9test1.csv (129.00 Octets)
8test2.csv (129.00 Octets)
9test.xlsx (16.71 Ko)

Bonjour

une proposition

let
    Source = Folder.Files(Excel.CurrentWorkbook(){[Name="TEST"]}[Content]{0}[Column1])[[Content],[Name],[Extension]],
    FiltreCSV = Table.SelectRows(Source, each ([Extension] = ".csv" or [Extension] = ".CSV"))[[Content]],
    fnTransf = (NomFichier as binary) => let
                                            S = Csv.Document(NomFichier,[Delimiter=";", Columns=11, Encoding=1252, QuoteStyle=QuoteStyle.None])
                                         in S,
    AjtTbl = Table.Buffer(Table.AddColumn(FiltreCSV, "fnTbl", each fnTransf([Content]))),

    TableAbsNettoyee = Table.Buffer(Table.TransformColumns(fnTbl("CODE_ABSENCES"),{{"CODE ABS", each Text.Upper(Text.Trim(_)), type text}, {"CATEGORIES", each Text.Trim(_), type text}})[[CODE ABS],[CATEGORIES]]),

    Resultat = Table.TransformColumns(AjtTbl,{"fnTbl", each Table.TransformColumns(_,{{"Column5", (val)=> try TableAbsNettoyee{[CODE ABS=val]}[CATEGORIES] otherwise val}})})

in
    Resultat

Ajout d'un Table.buffer à l'étape TableAbsNettoyee

Suppression de l'étape MappingRecord

et à l'étape Resultat : (val)=> try TableAbsNettoyee{[CODE ABS=val]}[CATEGORIES] otherwise val

Stéphane

Bonjour,

Merci pour votre retour, je vais de ce pas étudier tout cela

Bonne journée à vous,

Cordialement,

Bonjour à tous !

Pour le "fun", une approche qui intègre le traitement dans la fonction personnalisée fnTransf :

let
    fnTransf = (NomFichier as binary) =>
        let
            S = Csv.Document(
                NomFichier, 
                [Delimiter = ";", Columns = 11, Encoding = 1252, QuoteStyle = QuoteStyle.None]
            )
        in
            Table.ReplaceValue(
                S, 
                each [Column5], 
                each TblCode{[CODE ABS = [Column5]]}[CATEGORIES], 
                Replacer.ReplaceValue, 
                {"Column5"}
            ), 
    TblCode = Table.Buffer(
        Table.TransformColumns(
            fnTbl("CODE_ABSENCES")[[CODE ABS], [CATEGORIES]], 
            {}, 
            each Text.Upper(Text.Trim(_))
        )
    ), 
    Source = Folder.Files(Excel.CurrentWorkbook(){[Name = "TEST"]}[Content]{0}[Column1])[
        [Content], 
        [Name], 
        [Extension]
    ], 
    FiltreCSV = Table.SelectRows(Source, each ([Extension] = ".csv" or [Extension] = ".CSV"))[
        [Content]
    ], 
    TransfClasseur = Table.AddColumn(FiltreCSV, "Test", each fnTransf([Content]))
in
    TransfClasseur

Remarque : Pour "simplifier", j'ai opté pour un Table.Upper sur l'intégralité de la table concernée.

Bonjour Jfl,

Merci pour votre proposition

Cordialement,

Rechercher des sujets similaires à "power query record field table correspondance developpement"