cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted

Buffer web query request

Hello there,

 

I have function which i am using to get statistics from POST method: fnMotorModes_Get

let
    Source = (AuthorizationId as text, StatisticsId as text) => 
    let
        data = Json.FromValue([StatisticsSessionId=StatisticsId]),
        headers = [#"accept"="*/*", #"ScoutAuthorization"=AuthorizationId, #"Content-Type"="application/json"],
        web = Web.Contents("url", [ Content = data, Headers = headers, Timeout=#duration(0,0,0,10), ManualStatusHandling = {404, 400}]),
        source = ()=> Json.Document(web),
        result = Function.InvokeAfter(source, #duration(0,0,0,5))
in
    Source

 

This function i invoke like Custom Function only one time in MotorModes table:

Bessonnizza1992_0-1600269693919.png

Tables MotorModesTotal and MotorModesEvents are created via Reference button from MotorModes table. When i update data i check Fiddler Web Debugger and see that PowerQuery address to web service three times. One time for every table.

 

What do i need to add in query to make only one request to web service?

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Super User III
Super User III

Re: Buffer web query request

I am not sure you can. It doesn't work top down, it works bottom up. So if you have 3 final tables in your model from a source, it starts at those 3 tables in Power Query then works backwards to the source, so you will get three refreshes. You can optimize it perhaps by turning off background data in settings.

 

There is a good video from Guys in a Cube with Chris Webb that will help explain this as well.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

View solution in original post

3 REPLIES 3
Highlighted
Super User III
Super User III

Re: Buffer web query request

I am not sure you can. It doesn't work top down, it works bottom up. So if you have 3 final tables in your model from a source, it starts at those 3 tables in Power Query then works backwards to the source, so you will get three refreshes. You can optimize it perhaps by turning off background data in settings.

 

There is a good video from Guys in a Cube with Chris Webb that will help explain this as well.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

View solution in original post

Highlighted

Re: Buffer web query request

@edhans 
What about Tabble.Buffer?


Mb this function can help me.

Highlighted
Super User III
Super User III

Re: Buffer web query request

No. As the docs indicate, it is for a specific purpose. "Buffers a table in memory, isolating it from external changes during evaluation."

 

A popular use of it is when sorting data. Additional data/transformations can cause sort order to change. Table.Buffer() isolates it from that. I also use it to purposfully break query folding in some instances. But it is not taking the table as is, and putting the whole thing in memory for all downstream transformations to use. 

 

If you go through the article to see how the queries are hitting that source data, you can wrap Table.Buffer() around whatever step you want, but it will still query the source table 3 times if you have 3 references to it.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Helpful resources

Announcements
Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Mark your calendars and join us for our next Power BI Dev Camp!.

Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Tech Marathon

Maratón de Soluciones de Negocio Microsoft

Una semana de contenido con +100 sesiones educativas, consultorios, +10 workshops Premium, Hackaton, EXPO, Networking Hall y mucho más!

Top Solution Authors
Top Kudoed Authors