This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
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