cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
DSArkphire
Frequent Visitor

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”.

2.png

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.

 

3.png

 

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. 

 

4.png

 

5.png

 

1 ACCEPTED SOLUTION
ImkeF
Super User II
Super User II

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 

 

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

View solution in original post

2 REPLIES 2
ImkeF
Super User II
Super User II

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 

 

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

View solution in original post

DSArkphire
Frequent Visitor

Thank you for your Help ImkeF and for explaining my problem, that's a big help. 

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

Top Solution Authors
Top Kudoed Authors