Forum Discussion
Power bi - Direct Query Mode - Round off the decimal value while displaying table or chart
- 1 year ago
Anonymous, Microsoft team advised it might be due to new snowflake conector implematation. As work aorund - uncheck from preview feature.
From the Power BI Desktop, navigate to Options and settings (under the File tab) > Options > Preview features, and then “unselect” the checkbox to enable the Use new Snowflake connector implementation option.Thanks for support
Hi Shanemougham
I recently encountered a similar issue with the April 2025 version of Power BI Desktop (2.142.928.0) while connecting to Snowflake using DirectQuery mode.
The dataset I used includes Numeric(18,4) columns from a Snowflake view. I could clearly see the correct decimal values inside the Power Query Editor, but once I brought the data into visuals on the report canvas, those same fields appeared rounded to the nearest integer.
To verify the issue, I switched the connection mode to Import, and the decimals displayed correctly. Interestingly, I had created another report last month using the same Snowflake dataset and DirectQuery mode, and that version did not round the decimals, so this appears to be a regression or behavior change in the recent Power BI update.
Root Cause (Based on My Observations)
After investigating further, I noticed that Power BI, when working in DirectQuery mode, automatically generates a SQL query to Snowflake that casts the decimal fields as Integer, even though the source column is defined as Numeric(18,4). This transformation appears to be happening under the hood, and is unfortunately beyond our direct control.
I attempted several known fixes:
Changing the column format in Power BI to Decimal or Fixed Decimal.
Creating calculated columns and DAX measures to enforce decimals.
Using advanced ODBC parameters like:
EnableFolding=true
NoExecuteInSQLPrepare=true
Unfortunately, none of these options worked in resolving the rounding issue in visuals.
Workaround That Worked for Me
Here’s what finally worked:
Opened Power Query Editor and created a new custom column based on the original one:
This forced Power BI to treat the column as a Decimal, not as an Integer.
After this, the new column appeared as Alphanumeric (ABC123) in the data model.
In the Model View, I:
Explicitly set the Data Type to Decimal Number.
Set the Format to display up to 2 or 4 decimal places as required.
Then, I updated my DAX measures and visuals to rely on this new column instead of the original one.
And this resolved the rounding issue in DirectQuery mode.
Summary
This seems to be a behavior change in the newer Power BI version when rendering visuals via DirectQuery from Snowflake, especially for numeric fields. If you're facing this issue, I recommend trying the above workaround — recreate the column by multiplying it with 1.00 in Power Query, then rebind your visuals/measures accordingly.
Hopefully, Microsoft will address this regression in a future update. Until then, this workaround should help maintain decimal accuracy in reports.
If our response addressed, please mark it as Accept as solution and click Yes if you found it helpful.
Best regards,
Muhammad Ali Shan
Power BI Developer & Data Analyst