Forum Discussion
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
- Greg_DecklerCommunity Champion
dlopesc04 I can't replicate this, what version of Desktop are you on?
- dlopesc04Resolver 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
- danextianSuper User
Hi dlopesc04
Possibly because precision loss or imprecision occurs. - https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-data-types?utm_source=chatgpt.com#accuracy-of-number-type-calculations
I would just instead round the number to about 10 decimal values.
- dlopesc04Resolver 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-priyankataCommunity 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.