Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more
Happy Wednesday. I have the following code which calls a function that gets API results. All works just fine as long as there's more than one loop needed (so > 500 records). I'd love to know what I'm doing wrong (and how I might write this better). I've used this for several different APIs with success - this is the only one that is giving me issues.
let
Source = (wfReportId as text, optional aftCursor as text) => let Source =
List.Generate(() =>
[
Result = try fnGetComplianceFW(wfReportId, aftCursor) otherwise null
, afterCursor = Result[data][policyAssessments][pageInfo][endCursor]
]
, each [Result][data][policyAssessments][pageInfo][hasNextPage] <> false
, each [
Result = try fnGetComplianceFW(wfReportId, [afterCursor]) otherwise null
, afterCursor = Result[data][policyAssessments][pageInfo][endCursor]
]
, each [Result][data][policyAssessments][nodes]
),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
#"Converted to Table"
in
Source
Thanks in advance,
hauffa
Solved! Go to Solution.
rethink and change the exit condition
each [Result][data][policyAssessments][pageInfo][hasNextPage] <> false
Thank you. I ended up going with this. It seems to be working.
, each List.IsEmpty([Result][data][graphSearch][nodes]) = false
rethink and change the exit condition
each [Result][data][policyAssessments][pageInfo][hasNextPage] <> false
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.