PQ PDF-Import .ExpandTableColumn nur existierende Columns
10.05.2025 14:50:20
Bona
beim Import von PDF-Dateien wird durch "Table.ExpandTableColumn" immer die gleiche feste Anzahl Spalten angelegt. In der Regel ist die letzte Spalte "Column13" leer und überflüssig, jedoch gibt es Fälle in denen durch unglückliche Formatierung der PDF-Datei beim Import eine zusätzliche Spalte angelegt wird und somit alle folgenden Spalten um eine verschoben sind, d.h. daß die Daten von "Column12" in "Column13" stehen.
PDF_Erweitert = Table.ExpandTableColumn(PDF_Tabellen, "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13"}),
PDF_Komplett = Table.RemoveColumns(PDF_Erweitert,{"Id", "Name", "Kind"}),
PDF_Sum = if Table.HasColumns(PDF_Komplett,"Column13") then
let
PDF_NewSum = Table.AddColumn(PDF_Komplett,"NewSum", each if [Column13]=null then [Column12] else [Column13]),
PDF_NewPor = Table.AddColumn(PDF_NewSum,"NewPorto", each if [Column13]=null then [Column11] else [Column12]),
PDF_NewNNK = Table.AddColumn(PDF_NewPor,"NewNK", each if List.Contains({"NK"},[Column11]) then [Column11] else [Column10]),
PDF_ColDel = Table.RemoveColumns(PDF_NewNNK, {"Column10", "Column11", "Column12", "Column13"})
in
PDF_ColDel
else
null,
Der obige Code funktioniert, aber da es immer sehr viele PDF-Dateien sind, möchte ich das optimieren, daß die neu angelegten Spalten nur bei Bedarf ausgeführt werden, also etwa mit
PDF_DelCol13 = if List.NonNullCount(PDF_Komplett[Column13]) = 0 then
Table.RemoveColumns(PDF_Komplett,"Column13") else ...,
Nur bekomme ich die Anweisungen nach "else" nicht korrekt hin.
Vielleicht gibt es ja auch eine einfache Möglichkeit, daß "Table.ExpandTableColumn" nur die wirklich vorhandenen Spalten zu importieren.
LG Bona
Anzeige