Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hello,
I'm trying to build a rotine to get all pages of JSON Data Souce API.
The limit is 1000 results per page, if in the Page´s bottom is write " "hasMore": false " i means "there is no more pages." but it is "true" is the oposite.
How can we build a query for this JSON and append all in one document.
Query:
let
Fonte = Json.Document(Web.Contents("https://api.fakeurl.com/reports/0155?page=1&limit=1000&begin=18/02/2020&end=31/12/2020", [Headers=[Authorization="eyJ0eXAiOiJKV1QiLChbGciOiJGW-L48"]])),
data = Fonte[data],
report = data[report],
result = report[result]
(...)
Botton of JSON Result:
"Revenue": 4683.5,
"number": 8,
"ticket": 585.44,
"date": "2020-05-14",
"dateMonth": "14/5",
"dayname": "4"
}
],
"hasMore": false
}
}
}
It might be easier to approach this differently. Do the below in a single query.
1. Make a web call to get the total # of records with $count (or whatever the syntax is for your API)
2. Divide that by 1000 and round down
3. Make a list from 1 to the number in step 2 and convert list to table, change to text type and name it Page
4. Pass the Page value into the url string (either hard code it into an Add Custom column, or make a function)
5. Append all the tables
If this solution works for you, please mark it as the solution. Kudos are appreciated too. Please let me know if not.
Regards,
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
When did you say:
"Make a web call to get the total # of records with $count (or whatever the syntax is for your API)"
I didn't find this ...
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!