Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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 ...
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.