Jump to content

Recommended Posts

Posted (edited)

Hallo Zusammen,

ich hatte jetzt schon häufiger das Problem, dass in meinen Daten die neuen Felder nicht angezeigt werden, sobald ich meine smap angepasst hatte oder das Beispielsweise das Feld erst nach den ersten 300 Datensätzen auftaucht und dadurch durch Excel Power Query nicht analysiert wird.

Aus diesem Grund habe ich euch eine Power Query Funktion gebaut, die alle Einträge (die neusten zuerst) ab einem Gewissen Datum ausgibt.
Das Datum/SmapID/Accesstoken könnt ihr auch beliebig anpassen

Fügt folgenden Code einfach in den erweiterten Query Editor ein und tauscht die Platzhalter durch euren Token und SmapID aus und ihr habt einen funktionierende Query wo ihr nur  

noch die Spalten auswählen müssen die angezeigt werden sollen.

Hoffe ihr könnt damit etwas anfangen 🙂

Falls ihr Fragen habt gerne her damit!

let
    // === Parameter ===
    StartDatum = "2025-01-01T13:30:35Z",
    SmapID = "{SmapID}",
    AccessToken = "{Api Token}",

    // === Basis-URL mit Filter & Token an URL anhängen ===
    BaseUrl = "https://platform.smapone.com/Backend/preview/Smaps/" & SmapID & "/Records" &
              "?$filter=CompletedDate gt " & StartDatum & " and recordType eq 'Record'&$orderBy=SendDate Desc" &
              "&accessToken=" & AccessToken,

    // === Funktion zum Abrufen einer Seite ===
    GetPage = (url as text) =>
        let
            Source = Json.Document(Web.Contents(url)),
            Data = try Source[value] otherwise {},
            NextLink = try Record.Field(Source, "@odata.nextLink") otherwise null
        in
            [Data = Data, NextLink = NextLink],

    // === Erste Seite laden
    FirstPage = GetPage(BaseUrl),

    // === Weitere Seiten abrufen (nur wenn vorhanden)
    OtherPages = if FirstPage[NextLink] <> null then
        List.Generate(
            () => GetPage(FirstPage[NextLink]),
            each _[NextLink] <> null,
            each GetPage(_[NextLink]),
            each _[Data]
        )
    else {},

    // === Alle Daten kombinieren
    Combined = List.Combine({ FirstPage[Data] } & OtherPages),

    // === In Tabelle umwandeln
    #"In Tabelle konvertiert" = Table.FromList(Combined, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
    #"In Tabelle konvertiert"


Hier noch ein kurzes Erklärvideo:

 

 

 

Edited by Aaron Seggelke
Video hinzugefügt
  • Like 3
  • Thanks 1

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...