The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
Hi!
I am having trouble with parametrisation of this query. It still is considered as dynamic data and can not be refreshed via PBI portal.
Any help would be appreciated.
let
baseuri = "https://app.caflou.com/",
RelPath = "api/v1/00000/timesheets/",
headers = [Headers=[Authorization="AuthToken"]],
initReq = Json.Document(Web.Contents("https://app.caflou.com/", [RelativePath="api/v1/0000/timesheets/", Headers=[Authorization="AuthToken"]])),
initData = initReq[results],
initNumber = initReq[page],
gather = (data as list, uri) =>
let
//get new offset from active uri
newOffset = Json.Document(Web.Contents(uri, headers))[next_page],
//build new uri using the original uri so we dont append offsests
newBaseUri = "https://app.caflou.com/",
newUri = "api/v1/0000/timesheets?page=" & Text.BetweenDelimiters(newOffset, "page=", "&") &"&per=20" ,
//get new req & data
newReq = Json.Document(Web.Contents(baseuri,
[RelativePath = "api/v1/0000/timesheets?page=" & Text.BetweenDelimiters(newOffset, "page=", "&") &"&per=20",
Headers=[Authorization="AuthToken"]])),
newdata = newReq[results],
//add that data to rolling aggregate
data = List.Combine({data, newdata}),
//if theres no next page of data, return. if there is, call @gather again to get more data
check = if newReq[next_page] = null then data else @gather(data,baseuri & newUri)
in check,
//before we call gather(), we want see if its even necesarry. First request returns only one page? Return.
outputList = if initReq[next_page] = null then initData else gather(initData, baseuri & RelPath)
in
outputList
Thank you!
Kind regards,
Pavel
HI @ppm1 ,
That may be correct, I was not able to find out if the PBI app has issues with all mentions of dynamic queries or only those with which they retrieve datas. My main concern is, that I am unable to fix it due to lack of my capabilities, which is also why I am asking for help.
Thank you,
P.
I didn't check the whole thing but I do see that you create a dynamic url in this step.
check = if newReq[next_page] = null then data else @gather(data,baseuri & newUri)
Pat
Hi @Anonymous ,
The error is this:
Hi @PavelVitek ,
What error message about refreshing did you get?
For now, maybe these similar blogs could help you.
Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.