oguruma
XLDnaute Occasionnel
Bonjour,
ce post va certainement rendre de nombreux services aux développeurs débutants en powerquery. Ayant été récemment confronté à ce problème voici la solution.... criticable ? peut-être ?
Exemple de tableaux
Pour cela une fonction
Utilisation
On passe en paramètres la source de données et le nombre de lignes à retenir pour construire le titre de chaque colonne
ce post va certainement rendre de nombreux services aux développeurs débutants en powerquery. Ayant été récemment confronté à ce problème voici la solution.... criticable ? peut-être ?
Exemple de tableaux
Pour cela une fonction
PowerQuery:
let fnMergeRowsToHeader=(
pSTR_Source as text,
pINT_NbrRows as number
) =>
let
STR_Source=pSTR_Source,
Source = if STR_Source is table then STR_Source else Excel.CurrentWorkbook(){[Name=STR_Source]}[Content],
INT_NbrRows=pINT_NbrRows,
STR_BLANK=" ",
LST_SourceColumnsNames=Table.ColumnNames( Source),
TBL_FirstN=Table.FirstN(Source,INT_NbrRows),
TBL_TableToColumns=Table.ToColumns(TBL_FirstN),
LST_ColumnsHeaders = List.Transform(TBL_TableToColumns, (x)=> Text.Combine(x,STR_BLANK)),
TBL_Skip=Table.Skip( Source, INT_NbrRows ),
TBL_Final = Table.RenameColumns(TBL_Skip, List.Zip({LST_SourceColumnsNames, LST_ColumnsHeaders }))
in
TBL_Final
in
fnMergeRowsToHeader
Utilisation
PowerQuery:
let
Source = fnMergeRowsToHeader("VENTES",3)
in
Source
let
Source = fnMergeRowsToHeader("VENTES2",2)
in
Source
let
Source = fnMergeRowsToHeader("VENTES3",4)
in
Source
On passe en paramètres la source de données et le nombre de lignes à retenir pour construire le titre de chaque colonne