The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
I try to retrieve data from a paginated API. The API handles 100 records per request at max.
1. I made a function (OrdersFunction) to call the API with and enter a number for 'Skip' which is the attribute to navigate through the records.
(Skip as number)=>
let
getJson = Json.Document(
Web.Contents(
"https://api.formitable.com/api/v1.2/{UID}/order/1900-01-01/2024-12-31/"& Number.ToText(Skip) &"/100",
[
Headers = [#"ApiKey"="????????????????",#"Accept"="application/json"]
]
)
)
in
getJson
2. I made this code in the advanced editor of an empty query to loop through all the API calls, retrieving 100 records at a time.
let
Source = List.Generate(()=>
[Result = try OrdersFunction(0) otherwise null, skip=0],
each [Result]<>null,
each [Result= try OrdersFunction([skip]+100) otherwise null, skip=[skip]+100],
each [Result])
in
Source
My issue is that when I load the data, it looks like it's stuck into an infinite loop. How can I modify the code to prevent the infinite loop?
Hi @BBConsultancy ,
What results are returned when looping?
If there is a specific value you can refer to the solution below:
Solved: Infinite loop in pagination (API) - Microsoft Fabric Community
Best Regards,
Gao
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum -- China Power BI User Group
each [Result]<>null and [skip] < some_number