Daten per Web-Afrage abfragen bzw. an Fields aus REST API-Records herankommen
Hallo zusammen,
das Ergebnis einer Abfrage per REST API liefert ja anscheinend ein Array mit den verschiedenen Record-Objekten.
Hier im Beispiel sollen eigentlich nur die Daten einer Tabelle an Excel/Power Query zurückgegeben werden (wie ein SELECT * FROM Tabelle).
Es scheitert im Moment daran, an Die Werte zu kommen, die sich ja unter Fields in jedem einzelnen Record-Objekt befinden.
Bei Angabe einer ID klappt das Zurückgeben der Werte eines einzelnen Records, aber Ziel ist eigentlich alle Werte zu erhalten.
Gibt es dafür einen Lösungsansatz?
tob
7 Antworten
-
hallo tob,
wie sieht deine Rest-Antwort denn aus?
Normalerweise kannst du mit der Punkt-Navigation durch die wiedergegebenen Felder steuern...
also wenn du mit
let response := do as server
http("GET", "https://....usw.)end
Deine Antwort in der variable response hast, kannst Du mit z.b. response.result.data. auf die Felder zugreifen. Handelt es sich um Arrays, musst du die einzelnen Array-items ansprechen, entweder über item(Array, 0) oder mit for-Schleifen.
Kannst Du mal eine Rest-Antwort posten?
-
Hallo Tobias ;)
Die Antwort selbst wird nicht angezeigt. In Power Query sieht man dann
Record
Record
Record
...So würde man an die Werte von Datensatz mit ID 8 kommen:
let
Quelle = Json.Document(Web.Contents("https://api.ninoxdb.de/v1/teams/666666" & "/databases/777777" & "/tables/A" & "/records", [Headers=[Authorization="Bearer 88888888888", ContentType="application/json"]])),
Datensatz = Quelle{8},
Felder = Datensatz[fields],
Tabelle = Record.ToTable(Felder),
Transponiert = Table.Transpose(Tabelle),
Ergebnis = Table.PromoteHeaders(Transponiert, [PromoteAllScalars=true])
in
ErgebnisIn Excel gibt es dann eine Zeile mit den Überschriftten und den Werten von Datensatz 8 darunter.
Müsste man per Schleife alle Datensätze durchlaufen und dann irgendwie wieder kombiniert zurückgeben damit alle Datensätze untereinander angezeigt werden?
-
Ah ok, das ist aber dann eine Abfrage aus Power Query heraus, ne? Da muss ich erstmal passen, aber ja, ich würde das entweder über ein Schleife versuchen, oder vielleicht im Pfad oben gar nicht bis records gehen sondern nur bis Tables....? Wie gesagt, PowerQuery kennischnet
-
Naja, welches Programm dahintersteckt ist zwar ein relevanter Faktor, aber es muss ja mit den Daten arbeiten, die es geliefert bekommt.
Es kann ja kein Hexenwerk sein, Daten aus einer Datenbank abzufragen. Neben dem Speichern von Daten ist das sicher eine ihrer wichtigsten Funktionen.
Ist die REST API nicht der einzige Weg nach außen? Export-Möglichkeiten konnte ich über die Weboberfläche jedenfalls nicht entdecken.
-
Hallo tob,
die Tabellen kann man auch sharen (csv, excel oder JSON). Zahnrad->TabelleFreigeben. So kannst du die notwendigen Spalten vorab konfigurieren und ohne API Kei die Daten über PowerQuery abholen
Leo
-
Hallo Leo,
habe es bis jetzt nicht geschafft, die Daten geordnet abzurufen. Auch mit dieser Methode erscheint Record, Record, Record.
Gut, man könnte die eine Excel-Datei herunterladen und von einer anderen Datei aus, dann dort die Abfragen ausführen.
Dies ist aber etwas umständlich. Da es sich später um Firmendaten handeln soll, wäre etwas mehr Schutz natürlich auch nicht verkehrt.
Ziel ist es, in Excel vorhandene Daten mit den Ninox-Daten zusammenzuführen. Eigentlich müsste das doch ohne Umwege zu machen sein.
-
Ich glaube, wir reden aneinander vorbei.
Die Tabelle muss man nicht exportieren, sondern freigeben.
Content aside
- vor 3 JahrenZuletzt aktiv
- 7Antworten
- 711Ansichten