Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Web-Import von Javascript [GELÖST]

Forumthread: 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"
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Web-Import von Javascript [GELÖST]
25.08.2022 16:47:03
Javascript
Hi John,
dann hattest Du am oder nach dem 06.08. doch nicht mehr gesehen, dass ich Dir etwas zur Verfügung gestellt habe. Kannst Du Dir ja noch ansehen, wenn Du willst.
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1893288#1893948
Viele Grüße,
Zwenn
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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige