Forum Discussion

iW1DOV's avatar
iW1DOV
Helper II
9 months ago
Solved

(Yet another) “Visual Has Exceeded The Available Resources” Error

HI all, 

a customer of mine has developed a PBI  report in self-service BI (thus connected to a separate semantic model). She came to me with this problem: the report contains some 0 values she wants to get rid of: 

She adds a filter on the visual to filter out zeroes on the KPI, but the filter has no effect; I checked and it turned out those values aren't actual zeroes, but rather some very small values, like 0.0001. First problem: measure rounds down to zero the value, but apparently the filter works against the unformatted - unrounded - value. 
Biggest problem: to overcome this, I suggested her to filter out values greater than a small vaue - say 0.1: Now report crashes with 

I referred to the well known Chris Webb article on this error, but I can't find it applicable, because she needs to filter out those near-zero rows, but those rows cannot be removed entirely form the facts table, as they are needed to calcualte other KPIs. 

Any suggenstions? 

Thanks in advance, 

Gianfranco 

  • Anonymous's avatar
    Anonymous
    8 months ago

    Hi iW1DOV ,

    Thank you for the update.

     

    Since both the visual filter and the “visible measure” method still result in the resource exceeded error, this shows that the problem isn’t with the filter itself. The engine is processing the KPI at a highly detailed level, which leads to a large intermediate result and exceeds available memory, even with a basic condition like > 0.01.

     

    To prevent this row-level recalculation, the most effective workaround is to move the threshold logic outside of the measure.

    Recommended Options

    1. Create a Visibility Flag in the model
      Add a column upstream (Power Query/Dataflow) like:
      VisibilityFlag = if [KPI] < 0.01 then 0 else 1
      Then, filter the visual using this flag to avoid costly measure-based filtering.
    2. Pre-round the KPI column
      If near-zero floating values aren't significant, round them during data preparation. This prevents unrounded values from causing heavy computations when filtering.
    3. Check measure complexity
      If the KPI uses iterators (SUMX/FILTER on large tables), consider moving some calculations into the model or using pre-aggregated tables to lower memory usage.

    If you can provide a simplified version of the KPI measure, we can help identify what’s causing the resource usage and suggest a more efficient version.

     

    Thank you.

8 Replies

  • Hii iW1DOV 

     

    Instead of filtering at the visual level, create a helper measure that explicitly treats tiny values as zero:

    KPI Visible =
    IF( ABS( [KPI] ) < 0.0001, 0, [KPI] )

    Then use KPI Visible in the table and filter with:

    KPI Visible <> 0

    This avoids the resource error and cleanly removes near-zero rows without touching the fact table.

     

    • iW1DOV's avatar
      iW1DOV
      Helper II

      Uhm... it doesn't seem to be working. As soon as I add the "KPI Visible" measure  to the grid, it crashes with the resource error, without even giving a chance to filter. And I removed the original measure first. 

      • tharunkumarRTK's avatar
        tharunkumarRTK
        Super User

        iW1DOV 

        In my experience adding a visual level filters on a "Measure" can cause this kind of errors
        can you write your actual measure result like this 

        KPI Visible =
        IF(  [KPI]  > 0.1, [KPI])

        this does not have a non blank result and it should remove the records less than 0.1. 

        Please do note, if you have any other measure in the table visual then you need to add this kind of condition for them as well, other wise adding this condition to only one measure will simply put a blank value if the measure value is less then 0.1. 

        Lets say you have another measure called KPI2 then after adding the condition to KPI, add this condition to KPI 2 as well like:

        KPI 2 visible = if([KPI] > 0.1, [KPI 2])

         

         

         

        Connect on LinkedIn

         

         

         








        Did I answer your question? Mark my post as a solution!
        If I helped you, click on the Thumbs Up to give Kudos.

        Proud to be a Super User!


  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi iW1DOV ,

    Thank you for reaching out to the Microsoft Fabric Community Forum.

     

    Could you please let us know if the issue has been resolved? I wanted to check if you had the opportunity to review the information provided by  tharunkumarRTK  . If you still require support, please let us know, we are happy to assist you.

     

    Thank you.

    • iW1DOV's avatar
      iW1DOV
      Helper II

      Hi Anonymous 
      No, the issue has not been solved. As I told before, just adding a measure that filters out values below 0.01 crashes the report. Neither adding a filter to exclude 0 values from the visual makes it happy... 

       

      I have just been in a call with customer and we have to find a solution... 

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi iW1DOV ,

    Thank you for the update.

     

    Since both the visual filter and the “visible measure” method still result in the resource exceeded error, this shows that the problem isn’t with the filter itself. The engine is processing the KPI at a highly detailed level, which leads to a large intermediate result and exceeds available memory, even with a basic condition like > 0.01.

     

    To prevent this row-level recalculation, the most effective workaround is to move the threshold logic outside of the measure.

    Recommended Options

    1. Create a Visibility Flag in the model
      Add a column upstream (Power Query/Dataflow) like:
      VisibilityFlag = if [KPI] < 0.01 then 0 else 1
      Then, filter the visual using this flag to avoid costly measure-based filtering.
    2. Pre-round the KPI column
      If near-zero floating values aren't significant, round them during data preparation. This prevents unrounded values from causing heavy computations when filtering.
    3. Check measure complexity
      If the KPI uses iterators (SUMX/FILTER on large tables), consider moving some calculations into the model or using pre-aggregated tables to lower memory usage.

    If you can provide a simplified version of the KPI measure, we can help identify what’s causing the resource usage and suggest a more efficient version.

     

    Thank you.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi iW1DOV ,

     

    I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions. 

     

    Thank you.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi iW1DOV ,

     

    We haven’t received an update from you in some time. Could you please let us know if the issue has been resolved?
    If you still require support, please let us know, we are happy to assist you.

     

    Thank you.