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

Power Query Dyn. Quelle

Power Query Dyn. Quelle
09.09.2022 16:00:19
kili
Guten Tag.
Die Zelle A1 enthält einen dynamischen Pfad.
Diesen Pfad möchte ich jetzt 1zu1 als Quelle in Power query übergeben.
Hat hier jemand eine Idee.
Gruß kili_jr2

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Power Query Dyn. Quelle
09.09.2022 20:58:23
kili
Also, so sieht mein Pfad in Zelle A1 aus (A1 habe ich den Namen "Pfad" zugewiesen).
Json.Document(Web.Contents(https://api.binance.com/api/v1/klines?symbol=DOTUSDT&interval=1d&limit=100
Dieser Pfad soll jetzt so als Quelle in PQ rein.

let
Quelle = Excel.CurrentWorkbook(){[Name="Pfad"]}
in
Quelle
funktioniert aber nicht :-(
Anzeige
AW: Power Query Dyn. Quelle
09.09.2022 21:27:54
Yal
Hallo Kili,
Fast. Du darfst nicht die Power Query Anweisung und die Parameter-Wert vermischen.

let
Quelle = Excel.CurrentWorkbook(){[Name="Pfad"]}[Content],
Json = Json.Document(Web.Contents(Quelle{0}[Column1]))
in
Json
sollte eher passen. Dafür steht in A1 nur noch
https://api.binance.com/api/v1/klines?symbol=DOTUSDT&interval=1d&limit=100
Es wird gemekert, dass eine Anmeldung erforderlich sei. Einfach "anonym" anklicken.
Man kann auch komprimieren:

let
Quelle = Json.Document(Web.Contents(Excel.CurrentWorkbook(){[Name="Pfad"]}[Content]{0}[Column1]))
in
Quelle
Oder Schritt für Schritt auseinander:

let
Quelle = Excel.CurrentWorkbook(){[Name="Pfad"]}[Content],
Column1 = Quelle{0}[Column1],
Json = Json.Document(Web.Contents(Column1))
in
Json
VG
Yal
Anzeige
AW: Power Query Dyn. Quelle
09.09.2022 21:40:48
kili
Absolut mega Yal.
Genau so habe ich es benötigt. Du bist der Allerbeste!
Beste Grüße
kili
AW: Power Query Dyn. Quelle
10.09.2022 09:54:59
Luschi
Hallo Kili,
verrätst Du uns auch noch, wie Du die 100 Einzellisten der Gesamtliste aufgedröselt hat in 1 Gesamttabelle oder in 100 Einzeltabellen?
fragt sich Luschi
aus klein-Paris
AW: Power Query Dyn. Quelle
10.09.2022 16:34:59
kili
@Luschi
In eine Tabelle mit 100 Zeilen.
Userbild

AW: Power Query Dyn. Quelle
10.09.2022 18:00:39
Luschi
Hallo Kili,
wenn ich per PQ die angegebene I-Net-Adresse abfrage erhalte ich 1 'Liste in Liste'-Ergebnis. Es sind zwar auch 100 Listen, aber die Daten darin sind ganz andere und da Listen keine Teil-Überschriften haben, kann ich Dein Tabellenergebnis nicht nachvollziehen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Power Query Dyn. Quelle
10.09.2022 18:47:53
kili
Ich verstehe nicht, was Du meinst. Die Rohdaten haben natürlich keine Überschrift.
Hier hast Du mal die Arbeitsmappe. Ist noch nicht fertig. Grüner Stern startet das Diagramm (akt. alle 5 Sek.). Roter Stern stoppt es.
https://www.herber.de/bbs/user/155102.xlsm
AW: Power Query Dyn. Quelle
10.09.2022 19:09:34
kili
@Luschi
Da war noch ein Fehler drinnen. Hat den Bereich verschoben. Lösche mal die Spalte J in Tabelle Abfrage. So sieht es dann aus:
Userbild
AW: Power Query Dyn. Quelle
12.09.2022 07:36:10
Luschi
Hallo Kili,
danke für die Bereitstellung Deines M-Codes. Es hatte mich interessiert, wie Du das Problem 'Listen in Liste' auflöst:
- ja, das kann man so machen, obwohl mir scheint, da ist mehr 'Zeigen was geht' als Effektivität drin
- trotzdem ist das sehr interessant für mich, da ich mich gerade verstärkt mit Listen beschäftige
- meine Einwände:
  1. Listenwerte in Gesamtstring ohne Trennzeichen verbinden
  2. dieses Gesamtstring sofort wieder zu Splitten
  3. dabei das Dezimalkomma als Trennposition verwenden, welches dabei ja verloren geht
  4. das Dezimalkomma wieder hinzufügen und aus 2 Listenwerten den eigentlichen Wert ermitteln
  5. was da eigentlich passiert, habe ich Dir in der Abfrage 'test_XX' mal aufgedröselt
Aber nix für ungut, es ist immer wieder interessant, in fremde M-Kochtöpfe zu schauen. Natürlich habe ich auch ein Abfrage-Variante erstellt, um zu zeigen, wie das das Problem angehe.
https://www.herber.de/bbs/user/155112.xlsm
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Power Query Dyn. Quelle
12.09.2022 08:25:42
Eifeljoi5
Hallo Luschi
Ich muss sagen da hast du wiederum (wie immer, von wem sonst) eine super tolle Lösung raus gebracht.
AW: Power Query Dyn. Quelle
12.09.2022 08:44:01
ChrisL
Hi all
Wertfrei im Sinne einer weiteren Spielart (mit pivotieren):
- Index über alle Zeilen hinzufügen.
- Mittels benutzerdefinierter Spalte werden die Listen in Tabellen umgewandelt und im gleichen Schritt ein Index für jede Liste hinzugefügt.
- Listen in Zeilen extrahieren
- Pivotieren
- Die Typenkonvertierung und Umbenennung der Spalten habe ich mir gespart

let
Quelle = Excel.CurrentWorkbook(){[Name="Pfad"]}[Content],
Json = Json.Document(Web.Contents(Quelle{0}[Column1])),
#"In Tabelle konvertiert" = Table.FromList(Json, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Hinzugefügter Index" = Table.AddIndexColumn(#"In Tabelle konvertiert", "Index", 0, 1, Int64.Type),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Hinzugefügter Index", "Benutzerdefiniert", each Table.AddIndexColumn(Table.FromList([Column1], Splitter.SplitByNothing(), null, null, ExtraValues.Error),"Index",1)),
#"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte",{"Column1"}),
#"Erweiterte Benutzerdefiniert" = Table.ExpandTableColumn(#"Entfernte Spalten", "Benutzerdefiniert", {"Column1", "Index"}, {"Benutzerdefiniert.Column1", "Benutzerdefiniert.Index"}),
#"Pivotierte Spalte" = Table.Pivot(Table.TransformColumnTypes(#"Erweiterte Benutzerdefiniert", {{"Benutzerdefiniert.Index", type text}}, "de-CH"), List.Distinct(Table.TransformColumnTypes(#"Erweiterte Benutzerdefiniert", {{"Benutzerdefiniert.Index", type text}}, "de-CH")[Benutzerdefiniert.Index]), "Benutzerdefiniert.Index", "Benutzerdefiniert.Column1")
in
#"Pivotierte Spalte"
cu
Chris
Anzeige
AW: Power Query Dyn. Quelle
12.09.2022 10:19:28
kili
Hallo Luschi, hallo Chris,
ja, den Code habt ihr super verkürzt. Werd' nachher mal mittels VBA-Stoppuhr messen, welcher schneller ist.
Ich hatte das Ganze schonmal in VBA geschrieben, da hat die Abfrage immer so 1,6 sek. gedauert. In PQ ist es schon deutlich schneller.
Das Ganze soll übrigens ein Bot werden. Nach Anbindung an der Börse, soll excel eigenständig kaufen und verkaufen.
Userbild
Gruß kili
PS: Falls jemand sowas auch basteln möchte, die API für Binance findet ihr hier: https://binance-docs.github.io/apidocs/spot/en/#introduction
Anzeige
AW: Power Query Dyn. Quelle
12.09.2022 11:16:24
ChrisL
Hi kili
Danke für die Rückmeldung und fürs Teilen.
cu
Chris
AW: Power Query Dyn. Quelle
19.09.2022 16:34:34
kili
Binance hat mal wieder die api geändert. Jetzt kann ich keine Order setzen. Den Fehler find ich aber auch nicht.
Hat hier jemand ´ne Lösung?

Sub Runna()
Dim burl As String
Dim endpoint As String
Dim dataquery As String
Dim keys As keys
Dim signature As String
Dim url As String
Let burl = "https://api.binance.com"
Let endpoint = "/api/v3/order"
Let dataquery = "symbol=BNBTRY&side=BUY&type=LIMIT&timeInForce=GTC&quantity=0.004&price=4500&recvWindow=>20000&timestamp=" & DateDiff("s", "1/1/1970 00:00:00", Now() - 1 / 24)
Let keys.akey = "your_api_key_here"
Let keys.skey = "your_secret_key_here"
Let signature = HMACSHA256(dataquery, keys.skey)
Let url = burl & endpoint & "?" & dataquery & "&signature=" & signature
Set m_x = New cXMLHTTPEV
With m_x.MyXMLRequest
Call .Open("POST", url, True)
Call .setRequestHeader("X-MBX-APIKEY", keys.akey)
Call .send
End With
End Sub

Anzeige

73 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige