0

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

null
    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    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?

    • info.46
    • vor 3 Jahren
    • Gemeldet - anzeigen

    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
    Ergebnis

     

    In 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?

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    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

    • info.46
    • vor 3 Jahren
    • Gemeldet - anzeigen

    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.

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    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

    • info.46
    • vor 3 Jahren
    • Gemeldet - anzeigen

    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.

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich glaube, wir reden aneinander vorbei.

    Die Tabelle muss man nicht exportieren, sondern freigeben. 

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 7Antworten
  • 685Ansichten