Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Web-Import von Javascript [GELÖST]

Web-Import von Javascript [GELÖST]
25.08.2022 16:15:56
Javascript
Moin Zusammen,
wir haben die Abfrage nun hinbekommen und möchte unsere Lösung nicht vorenthalten.
Anbei das alte Thema: https://www.herber.de/forum/archiv/1892to1896/1893288_WebImport_von_Javascript.html
Anbei die Lösung die in PowerQuery nun eingespielt wurde um die Daten lesbar einzulesen - von uns natürlich gekürzt für wesentliche Informationen.
Anbei die Lösung - einfach im PQ unter "Erweiterter Editor" einfügen und siehe da... :-)

let
Source = Json.Document(Web.Contents("https://coast.hhla.de/api/execute-report/Standard-Report-Segelliste")),
#"Converted to Table" = Record.ToTable(Source),
Value1 = #"Converted to Table"{6}[Value],
Value2 = Value1{0},
#"Converted to Table1" = Record.ToTable(Value2),
#"Transposed Table" = Table.Transpose(#"Converted to Table1"),
#"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"id", type text}, {"name", type any}, {"totalNumberOfRows", Int64.Type}, {"columns", type any}, {"rows", type any}}),
#"Removed Other Columns" = Table.SelectColumns(#"Changed Type",{"columns", "rows"}),
#"Expanded columns" = Table.ExpandListColumn(#"Removed Other Columns", "columns"),
#"Expanded columns1" = Table.ExpandRecordColumn(#"Expanded columns", "columns", {"id", "columnId", "type", "domainvalueType", "defaultDisplaySettings", "personalDisplaySettings", "link", "aggregationType", "hidden"}, {"id", "columnId", "type", "domainvalueType", "defaultDisplaySettings", "personalDisplaySettings", "link", "aggregationType", "hidden"}),
#"Expanded defaultDisplaySettings" = Table.ExpandRecordColumn(#"Expanded columns1", "defaultDisplaySettings", {"position", "sortOrder", "sortDirection"}, {"position", "sortOrder", "sortDirection"}),
#"Expanded rows" = Table.ExpandListColumn(#"Expanded defaultDisplaySettings", "rows"),
#"Expanded rows1" = Table.ExpandListColumn(#"Expanded rows", "rows"),
#"Expanded rows2" = Table.ExpandRecordColumn(#"Expanded rows1", "rows", {"columnId", "value"}, {"columnId.1", "value"}),
#"Removed Other Columns1" = Table.SelectColumns(#"Expanded rows2",{"columnId.1", "value"}),
Custom1 = Table.Split(#"Removed Other Columns1",15),
#"Converted to Table2" = Table.FromList(Custom1, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Added Custom" = Table.AddColumn(#"Converted to Table2", "Custom", each Table.PromoteHeaders(Table.Transpose([Column1]))),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Column1"}),
#"Expanded Custom" = Table.ExpandTableColumn(#"Removed Columns", "Custom", {"schiffabfertigung.abfahrtistzeitpunkt", "schiffabfertigung.abfahrtsollzeitpunkt", "schiffabfertigung.ankunftistzeitpunkt", "schiffabfertigung.ankunftsollzeitpunkt", "schiffabfertigung.exportreise", "schiffabfertigung.funkcode", "schiffabfertigung.importreise", "schiffabfertigung.jahresschiffsnummer", "schiffabfertigung.ladebeginnzeitpunkt", "schiffabfertigung.ladeendezeitpunkt", "schiffabfertigung.loeschbeginnzeitpunkt", "schiffabfertigung.loeschendezeitpunkt", "schiffabfertigung.schiffsname", "schiffabfertigung.schiffstyp", "schiffabfertigung.terminal"}, {"schiffabfertigung.abfahrtistzeitpunkt", "schiffabfertigung.abfahrtsollzeitpunkt", "schiffabfertigung.ankunftistzeitpunkt", "schiffabfertigung.ankunftsollzeitpunkt", "schiffabfertigung.exportreise", "schiffabfertigung.funkcode", "schiffabfertigung.importreise", "schiffabfertigung.jahresschiffsnummer", "schiffabfertigung.ladebeginnzeitpunkt", "schiffabfertigung.ladeendezeitpunkt", "schiffabfertigung.loeschbeginnzeitpunkt", "schiffabfertigung.loeschendezeitpunkt", "schiffabfertigung.schiffsname", "schiffabfertigung.schiffstyp", "schiffabfertigung.terminal"}),
#"Replaced Value" = Table.ReplaceValue(#"Expanded Custom","T"," ",Replacer.ReplaceText,{"schiffabfertigung.abfahrtistzeitpunkt", "schiffabfertigung.abfahrtsollzeitpunkt", "schiffabfertigung.ankunftistzeitpunkt", "schiffabfertigung.ankunftsollzeitpunkt", "schiffabfertigung.ladebeginnzeitpunkt", "schiffabfertigung.ladeendezeitpunkt", "schiffabfertigung.loeschbeginnzeitpunkt", "schiffabfertigung.loeschendezeitpunkt"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Replaced Value",{{"schiffabfertigung.loeschendezeitpunkt", type datetimezone}, {"schiffabfertigung.loeschbeginnzeitpunkt", type datetimezone}, {"schiffabfertigung.ladeendezeitpunkt", type datetimezone}, {"schiffabfertigung.ladebeginnzeitpunkt", type datetimezone}, {"schiffabfertigung.ankunftsollzeitpunkt", type datetimezone}, {"schiffabfertigung.ankunftistzeitpunkt", type datetimezone}, {"schiffabfertigung.abfahrtsollzeitpunkt", type datetimezone}, {"schiffabfertigung.abfahrtistzeitpunkt", type datetimezone}}),
#"Gefilterte Zeilen" = Table.SelectRows(#"Changed Type1", each ([schiffabfertigung.ankunftistzeitpunkt] = null)),
#"Entfernte Spalten" = Table.RemoveColumns(#"Gefilterte Zeilen",{"schiffabfertigung.exportreise", "schiffabfertigung.funkcode", "schiffabfertigung.importreise", "schiffabfertigung.jahresschiffsnummer", "schiffabfertigung.ladebeginnzeitpunkt", "schiffabfertigung.ladeendezeitpunkt", "schiffabfertigung.loeschbeginnzeitpunkt", "schiffabfertigung.loeschendezeitpunkt", "schiffabfertigung.schiffstyp"}),
#"Entfernte Duplikate" = Table.Distinct(#"Entfernte Spalten", {"schiffabfertigung.schiffsname"})
in
#"Entfernte Duplikate"

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Web-Import von Javascript [GELÖST]
29.08.2022 08:28:12
Javascript
Hallo Zwenn,
doch ich hatte es bereits gesehen. Allerdings hatte diese Funktion doch einiges an Performance genommen bei der Abfrage. In den ersten Tests war diese Alternative sicherlich hilfreich! Ich danke dir!
AW: Web-Import von Javascript [GELÖST]
29.08.2022 10:56:19
Javascript
Hallo John,
wichtig ist, dass Du am Ende eine Lösung hast, die für Dich funktioniert. Aber Feedback ist auch immer nett.
Viele Grüße,
Zwenn
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige