Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
I am loading a fabric data warehouse using Dataflow Gen2 and have run into a weird problem. Whenever I do any floating point math with a couple of columns of the data I'm uploading, I get a good floating point result in dataflow but when it loads the data warehouse it rounds off the decmial portion of the number. I am loading it into a decimal(38) field in the database.
Here is an example of the transform statement and you can see the new column does have decimal data in it:
Solved! Go to Solution.
Hello @mklevemann
Hope this helps - please appreciate giving a Kudos or accepting as a Solution!
Hello @mklevemann
Hope this helps - please appreciate giving a Kudos or accepting as a Solution!
Thanks! My brain must not have been working properly that day. Your solution worked perfectly.
Hi @mklevemann
Thanks for reaching out to the Fabric Community.
This behavior occurs because in Fabric Warehouse:
DECIMAL(38) = DECIMAL(38,0)
When Dataflow Gen2 loads data, decimal scale is not inferred, so a column defined as DECIMAL(38) defaults to scale 0, causing the fractional portion to be silently truncated during load — even though the Dataflow preview shows decimals correctly.
Always specify precision AND scale for decimal columns, or pre-create the table before loading:
CREATE TABLE dbo.TableName
(
invoice_amount_with_net_retaining DECIMAL(38,6)
);
Then load the Dataflow into this table.
Note: The rounding does not happen in Dataflow Gen2 — it happens at insert time in the Warehouse due to implicit DECIMAL(38,0).
Thanks,
Cheri Srikanth
| User | Count |
|---|---|
| 8 | |
| 7 | |
| 5 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 22 | |
| 17 | |
| 15 | |
| 12 | |
| 12 |