Forum Discussion

andreas_franz's avatar
andreas_franz
Regular Visitor
8 years ago

OData refresh called multiple times

Hi,

 

I have a Power BI Destop application that accesses 1 Data Source which is an OData feed (from SAP). The OData feed is quite big (~650 MB) and when calling it from a web browser or SAP it takes roughly 7 minutes to fetch the data. When refreshing the data in Power BI Desktop it takes much longer (roughly 50 minutes). After clicking on Refresh in the popup it shows "Evaluating" and "Loading 4 KB..." for a very long time. I have traced the access also on the backend of the OData application in SAP and I can see that the OData feed is called multiple times with the same returned size of ~650 MB and always using the same amount of time. These multiple calls add up to the 50 minutes.

 

Why does Power BI desktop call the OData feed multiple times? Is there a way to reduce the number of calls e.g. to only 1 call so that a refresh takes only 7 minutes?

 

Thanks already for the help!

Andreas

10 Replies

  • Hi,

     

    I have a Power BI Destop application that accesses 1 Data Source which is an OData feed (from SAP). The OData feed is quite big (~650 MB) and when calling it from a web browser or SAP it takes roughly 7 minutes to fetch the data. When refreshing the data in Power BI Desktop it takes much longer (roughly 50 minutes). After clicking on Refresh in the popup it shows "Evaluating" and "Loading 4 KB..." for a very long time. I have traced the access also on the backend of the OData application in SAP and I can see that the OData feed is called multiple times with the same returned size of ~650 MB and always using the same amount of time. These multiple calls add up to the 50 minutes.

     

    Why does Power BI desktop call the OData feed multiple times? Is there a way to reduce the number of calls e.g. to only 1 call so that a refresh takes only 7 minutes?

     

    Thanks already for the help!

    Andreas

  • Anonymous's avatar
    Anonymous
    Not applicable

    andreas_franz,

    How many queries does your PBIX file contain and have you applied several transformations(Merge query, append query, etc) in Query Editor?

    Power BI load previews of the data returned by a query for display in the Query Editor, when your PBIX file contains multiple queries and multiple transformations, clicking Refresh in Power BI Desktop triggers a refresh of these previews, which would result in multiple call times and a long refresh time. Please disable the following option in your PBIX file, and tune the performance using Table.Buffer function.


    Regards,
    Lydia

    • andreas_franz's avatar
      andreas_franz
      Regular Visitor

      Anonymous

       

      Thanks for the reply!

       

      I just have 1 query with a source step - nothing else. It looks roughly like this (The timeout I had to increase due to the fact that it did not finish in time):

       

      let
          Source = OData.Feed("http://myserver:8001/sap/opu/odata/My_Service/My_Data_Object,null, [Timeout=#duration(0, 0, 59, 0)])
      in
          Source

       

       

      I have de-activated the "Background Data" but it still calls the OData feed several times, still taking the long time to finish. I have not used the Table.Buffer as I am quite new to the topic and could not get it to work.

       

      Your help is highly appreciated!

      Thanks and best regards,

      Andreas