Forum Discussion

dlopesc04's avatar
dlopesc04
Resolver II
10 months ago
Solved

Floating point precision problem on cards

My cards started showing values like those in the screenshot below today:


This is how the format of the measures is configured:

It should just show a 0

I really don't want to go over all my measures and add something like the below to them:

Measure Fixed = IF(ABS([YourMeasure]) < 0.000000000000001, 0, [YourMeasure])

Is there any way to fix this with minimal suffering?

P.S. Yes this is happening because the overall sum of a column in the table should return 0, but isn't:

 

Edit: It seems this problem has been observed about three months ago, but there was no solution there:
https://community.fabric.microsoft.com/t5/Power-Query/Decimal-Precision/m-p/4742208#M152402
Like the author of that post, I also feel very strongly that we should not have to round anything in Power BI explicitly, and that this floating-point precision problem should be handled automatically by Power BI.

 

  • Hi dlopesc04 

    To avoid adding ROUND() to every measure, you can try these options:

    • Change the column's data type to Fixed Decimal Number in Power Query. This ensures precision is handled at the source, so measures display clean values (like 0) without individual adjustments. Reload your model after making this change.
    • Create a base measure with ROUND and reference it in other calculations. This reduces the number of edits, though it requires updating existing measures to use it.

      If I misunderstand your needs or you still have problems on it, please feel free to let us know.  

      Thanks.

6 Replies

    • dlopesc04's avatar
      dlopesc04
      Resolver II

      I am on 2.147.1085.0 64-bit (September 2025)

      Plus, the data type on the source is Decimal (30,5), meaning, only 5 digits after the decimal point

    • dlopesc04's avatar
      dlopesc04
      Resolver II

      Yeah, it most definitely is because of that. Also adding ROUND() to the measures rounds them to 0.
      But that would be beyond impractical, and would introduce another layer of 'dumb design' proofing. Do I really now have to add a ROUND() to EVERY. SINGLE. MEASURE. I. EVER. CREATE ??

      Sorry, but I refuse.

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

        Hi dlopesc04 

        To avoid adding ROUND() to every measure, you can try these options:

        • Change the column's data type to Fixed Decimal Number in Power Query. This ensures precision is handled at the source, so measures display clean values (like 0) without individual adjustments. Reload your model after making this change.
        • Create a base measure with ROUND and reference it in other calculations. This reduces the number of edits, though it requires updating existing measures to use it.

          If I misunderstand your needs or you still have problems on it, please feel free to let us know.  

          Thanks.