Daten Abfragen aus Excel

Aus Microsoft Excel (nur Windows-Version) können Daten direkt von unserer OData v4 REST Schnittstelle verknüpft werden. Sie können so in Excel immer auf den aktuellen Datenbestand zugreifen ohne die Daten jeweils neu exportieren zu müssen.

Sie gehen dabei wie folgt vor:

 

Vorbereitung

  1. Fordern Sie bei uns die Zugangsdaten für Ihre Schnittstelle an.
  2. Ermitteln Sie in unserer Dokumentation, welche EntityType Sie in Excel abfragen wollen.

Vorgehen in der Arbeitsmappe

PowerQuery1.jpgÖffnen Sie Excel und erstellen Sie eine neue leere Arbeitsmappe.

  1. Wechseln Sie in das Menü Data.
  2. Öffnen Sie die Liste Get Data.
  3. Wählen Sie From Other Services und dann Blank Query.
  4. Jetzt öffnet sich der Power Query Editor.

Vorgehen im Advanced Editor

PowerQuery2.jpg

  1. Wechseln Sie in das Menü View.
  2. Klicken Sie auf Advanced Editor.
  3. Ersetzen Sie den Inhalt des Textfeldes durch den von uns erhaltenen Code oder durch das untenstehende Beispiel.
  4. Ersetzen Sie auf Zeilen 2 -4  die Url, den Benutzernamen und das Passwort durch die von uns erhaltenen Werte.
  5. Ersetzen Sie auf Zeile 5 die abzufragende Query im OData-Syntax.
  6. Klicken Sie auf Done.

Vorgehen im Power Query Editor

PowerQuery3.jpg

  1. Sollten die Daten nicht angezeigt werden, klicken Sie auf Refresh Preview.
  2. Erweitern Sie die anzuzeigenden Spalten.
  3. Klicken Sie auf Close & Load.
  4. Sollten Sie der Dialog Privacy Level erscheinen, wählen Sie Organizational.

Zurück in der Arbeitsmappe

PowerQuery4.jpg

  1. Durch Klick auf Refresh All können Sie jederzeit die Daten aus der Schnittstelle aktualisieren lassen.
  2. Sie können jederzeit wieder in den Power Query Editor zurück wechseln, in dem Sie Queries & Connections einblenden
  3. und dann auf die betreffende Query doppelklicken. 

Beispiel

Abfragen der Adressen mit Telefon und E-Mail-Adressen:

 

let 

    BaseUrl             = "",

    UserName        = "",

    Password          = "",

    Query               = "Adressen?$expand=AdressenTelefone,AdressenEMails",

    ApiKey              = GetBearer(),




    GetBearer = () =>

        let

        Url     = BaseUrl & "Token",

        RawData = Web.Contents(BaseUrl & "Token",

            [

                Headers = [#"Accept"="application/json",

                            #"Content-Type"="application/x-www-form-urlencoded;charset=UTF-8"],

                Content = Text.ToBinary("username=" & UserName & "&password=" & Password & "&grant_type=password")

            ]),

        Json    = Json.Document(RawData),

        AccessToken = Json[#"access_token"],

        AccessTokenHeader = "Bearer " & AccessToken

        in AccessTokenHeader,

 

    GetJson = (Url) =>

        let Options = [

        Headers = [

          #"accept" = "application/json",

          #"Authorization"

            = ApiKey

        ]

      ],

            RawData = Web.Contents(Url, Options),

            Json    = Json.Document(RawData)

        in  Json,

 

    Json = GetJson(BaseUrl & Query),

    Value = Json[#"value"],

    Table       = Table.FromRecords(Value)

in

    Table
War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

Kommentare

0 Kommentare

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.