Forum Discussion
Web-based Cursor-Based Pagination issues
Hi I’ve been working on trying to use List.generate to create a paginated list from a api. My issue is that my api uses Cursor-Based Pagination. A single request will give me three sections “has-more” “offset” and “companies”.
If "has-more" is true, I need to make another request, using the "offset" value given to get the next page of company records, "companies" is the actual information I need.
I cant seem to figure out how to refer to the “has-more” and “offset” values within the list.generate step. No matter what I try list generate returns null values.
Hi DSArkphire
you're not using the correct syntax to reference objects in Power Query / the M-language.
Try this:
Pagination = List.Generate( ()=> Source, // Start value should be a record each [offset] <> 0 // refers to the records field (your expression would always return true) each Json.Document(Web.Contents(<YourURLin””> & Text.From([offset]) )
Further reading on value types and how to reference them: https://docs.microsoft.com/en-us/powerquery-m/expressions-values-and-let-expression
3 Replies
- ImkeFCommunity Champion
Hi DSArkphire
you're not using the correct syntax to reference objects in Power Query / the M-language.
Try this:
Pagination = List.Generate( ()=> Source, // Start value should be a record each [offset] <> 0 // refers to the records field (your expression would always return true) each Json.Document(Web.Contents(<YourURLin””> & Text.From([offset]) )
Further reading on value types and how to reference them: https://docs.microsoft.com/en-us/powerquery-m/expressions-values-and-let-expression
- DSArkphireFrequent Visitor
Thank you for your Help ImkeF and for explaining my problem, that's a big help.
- mark_steeleRegular Visitor
DSArkphire - were you able to incorporate the solution provided by ImkeF to resolve your issue? If so, could you please post the final/working code?