Forum Discussion

Scott_walter's avatar
Scott_walter
New Member
7 months ago
Solved

Memory consumption issue while refreshing the data source

Hi community,

 

I have a Power BI report that was created using the OData source. I have five tables, the highest contains 30,000 rows currently. I have a requirement to add an index column in the two data tables. Before adding the index column, the two data tables are sorted by three column lets say by ItemId(String), PackingDate(Date) and Status(String) in the Power Query Editor before loading it into Power BI. I am able to perform sorting on these columns and after that I added the index column. So far so good. But when the sources are loaded into the Power BI and data is being refreshed then its throws memory issue although records are very less.

 

What can I do to mitigate this issue?
Thanks
Scott

  • 1) Check query folding at the step right before Sort/Index

    In Power Query, right-click the step → View Native Query.

    • If it’s disabled, folding is already broken → sorting/indexing is happening locally.

    • Goal: keep folding up to the point where you filter/reduce rows, then do sort/index.

     

    2) Reduce data before sorting/indexing

    Apply these as early as possible (while folding still works):

    • Filter rows (date range, status, etc.)

    • Remove unused columns

    • Avoid unnecessary type conversions early

     

    3) If you need stable “row number”, do it at the source (best practice)

    If you can change the upstream system:

    • Generate row numbers / ordering in the source (SQL/view/service)

    • Expose it via OData as a column
      This avoids Power Query doing expensive sorts.

6 Replies

  • 1) Check query folding at the step right before Sort/Index

    In Power Query, right-click the step → View Native Query.

    • If it’s disabled, folding is already broken → sorting/indexing is happening locally.

    • Goal: keep folding up to the point where you filter/reduce rows, then do sort/index.

     

    2) Reduce data before sorting/indexing

    Apply these as early as possible (while folding still works):

    • Filter rows (date range, status, etc.)

    • Remove unused columns

    • Avoid unnecessary type conversions early

     

    3) If you need stable “row number”, do it at the source (best practice)

    If you can change the upstream system:

    • Generate row numbers / ordering in the source (SQL/view/service)

    • Expose it via OData as a column
      This avoids Power Query doing expensive sorts.

  • Can you post the code you used to create the index column?

  • v-prasare's avatar
    v-prasare
    Community Support

    Hi Scott_walter 

    We would like to confirm if our community members answer resolves your query or if you need further help. If you still have any questions or need more support, please feel free to let us know. We are happy to help you.

     

    Kedar_Pande, d_m_LNK , cengizhanarslan & FBergamaschi  Thanks for your prompt response

     

     

    Thank you for your patience and look forward to hearing from you.
    Best Regards,
    Prashanth Are
    MS Fabric community support

  • v-prasare's avatar
    v-prasare
    Community Support

    Hi @Scott_walter 

    We would like to confirm if our community members answer resolves your query or if you need further help. If you still have any questions or need more support, please feel free to let us know. We are happy to help you.

     

     

     

    Thank you for your patience and look forward to hearing from you.
    Best Regards,
    Prashanth Are
    MS Fabric community support