Forum Discussion

amien's avatar
amien
Helper V
8 years ago

Using Power BI REST APIs to not only push new records, but also update existing records possible?

I read this artical:

 

https://docs.microsoft.com/en-us/power-bi/service-real-time-streaming

 

when i have a table loaded with millions of records .. it's possible to add new records to this table, but is it also possible to UPDATE? records?

 

So lets say i want to update the amount of 3 invoices without loading all the data again, is this possible with the API? or can only add date? Or perhaps is delete and add possible instead of update?

 

If its not possible, what's the best approach in powerBI if i have million of records and the table should be up-to-date every 10 minutes with it's source and the changes in the table is limited (few records).

 

Thanks in advanced

7 Replies

  • jppp's avatar
    jppp
    Continued Contributor

    The Power BI REST API can indeed only add new rows or delete all rows. There is no update available.

    Also a push dataset can only contain either maximum 200.000 rows before rows are dropped from the dataset or a total of 5.000.000 rows without automatically deleting records: https://msdn.microsoft.com/en-us/library/dn950053.aspx

     

    Given your scenario, updating invoices, this is not typical for REST API's. Probably refreshing a dataset containing your invoices is a better solution. But if you want to update a row in an push dataset: the only option is to add two records: one that neutralizes the old record and one that is the new version.

     

    -JP

    • amien's avatar
      amien
      Helper V

      @jppp 

       

      Thanks for your reply and the limitation url.

       

      Do you know if the limitation of 5mil also applies to a on-premises PowerBI solution?

       

      I know REST API is not typical for doing this. But refreshing the complete dataset for just 3 new invoices (need to update a few times a hour), sounds also not very efficient. 

       

      Thanks for the contribution.

      • jppp's avatar
        jppp
        Continued Contributor

        The 5mil row limit is only for datasets created/available for the REST API. So only push or streaming datasets.

         

        Regular datasets do not have a row limit and can be schedules. Depending on your source system this can be configured to refresh every 15 minutes (DirectQuery sources).

         

        -JP