Forum Discussion

minhnhatdanchoi's avatar
minhnhatdanchoi
Frequent Visitor
7 months ago
Solved

How to optimize semantic model

I encounter this ram issue when load my dashboard
Error fetching data for this visualResource Governance: We cannot complete the requested operation because there isn't enough memory (consumed memory 8548 MB, memory limit 3072 MB). 
Please check the technical details for more information. If you contact support, please provide these details.
See details
Was this error message helpful?
Is there any way to monitor how much ram usage by semantic model and other running task ? I'm thinking about seperate page on 1 report file into multiple report file, does this help to solve the problem, and any solution to deal with this ram problem ?

15 Replies

  • Hi minhnhatdanchoi,

    Monitor memory usage using the Capacity Metrics App. If your semantic model needs more RAM, you may need to upgrade your capacity. To enhance performance, try reducing the dataset size and use model optimization methods like aggregations or DirectQuery for large tables. Power BI does not show memory usage for individual visuals or measures.

     

    Thank you.

    • minhnhatdanchoi's avatar
      minhnhatdanchoi
      Frequent Visitor

      My semantic model already used Direct Lake, my table contains 5 millions rows

      • Zanqueta's avatar
        Zanqueta
        Super User

        Hi minhnhatdanchoi,


        Key Best Practice

         

        Filtering at ingestion or using aggregations is far more effective than relying on slicers because slicers still load the full dataset before applying filters.
         
        Optimise the Semantic Model
        • Remove unnecessary columns.
        • Use aggregated tables for historical data (e.g., monthly summaries instead of raw rows).
        • Avoid calculated columns on large tables; prefer measures.
        • Consider incremental refresh with Direct Lake to keep only recent partitions active.

         

  • Hi minhnhatdanchoi

     

    Can you provide some more details? How big is your dataset, are we talking millions of rows or hundreds of millions? 
    What size capacity are you using? 

     

    If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, mark this post as the solution. 

    • minhnhatdanchoi's avatar
      minhnhatdanchoi
      Frequent Visitor

      Environment & scale

      Lakehouse: ~20 tables total.

      Fact tables: 5 fact tables that receive new data daily.

      Ingest rate: ~100,000 new rows per day (total across facts).

      Historical size: tables contain data from July β†’ each table β‰ˆ 50 million rows.

      Semantic models: using Direct Lake mode.

      Dashboards: slicer/filter targets the most recent 1 month of data.

      Capacity: currently on F4.

      • ssrithar's avatar
        ssrithar
        Super User

        hi minhnhatdanchoi 

        Your semantic model and visual queries are trying to use ~8.5 GB RAM, but F4 capacity allows ~3 GB per dataset/operation.

        This typically happens with Direct Lake mode, especially when:

        • The model is not optimized (wide tables, large cardinality columns).

        • Visuals trigger complex or large DAX queries.

        • Multiple visuals load at once with large context filters

  • Hi minhnhatdanchoi ,

     

    If I were you, I would do the following.
    You basically have two options: either increase the Fabric capacity or optimize your data model.

    Without knowing your data model, it is of course difficult to make recommendations.

    But this is what I would do, or rather, how I would proceed.

    - Check with the Metrics app, as already mentioned
    - Use DAX Studio to identify large tables and columns. You probably already know most of this.
    - Create aggregations. This should allow you to achieve the greatest memory reduction.
    - Remove history from the model.


    So my recommendation is that you should revise your data model. You should also consider whether Direct Lake is the right choice, as unfortunately it is not always suitable.

    In the long term, you will probably need to increase your Fabric capacity.

     

    You could also use the Fabric Estimator. It's still in preview, but it gives some good pointers. 


    https://www.microsoft.com/en-us/microsoft-fabric/capacity-estimator

     

    I hope I was able to help you a little.

     

    Best regards