Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreWe've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Hello
I currently have the following problem.
In my oracle database I have a view with the following column containing this information in the "discount" field.
This field in the database is declared as NUMBER.
The first time I imported the view into the PowerBi it identified it correctly, but after hitting "Update", it now doesn't interpret the decimals for me, even though it recognizes it as a decimal.
I don't know if anyone has had this problem, but I have tried to modify the field in the database, import it as text only, import it as a decimal number with specific formatting, I have tried to decompose that field into 2, one with its integer part and the other with its decimal part... I have even modified the locale with the idea of replacing the "," with "." for its was a misinterpretation, but it has not worked.
I currently have "Use Windows Predetermined Language" and "Use Application Language". I have tried to modify this for other options and it has not worked either.
I have also modified the values in the Power Query, and it has not had any effect either.
Has it happened to anyone else? Can you help me?
Solved! Go to Solution.
Hi @Syndicate_Admin , Thank you for reaching out to the Microsoft Community Forum.
I donโt think this isnโt a Power Query conversion problem at all. The decimals are already gone before Power BI even starts applying your steps. In the Source preview your values are integers, which means Power BI is receiving the data from Oracle after something upstream has already stripped or rounded the decimals. Once that happens at the source, no locale setting in Power Query can recover them.
When you connect to Oracle, open the Advanced options -> SQL statement box and write a query that forces Oracle to send the discount as text with a known decimal separator. Then in Power Query, convert that text to a decimal using Change Type -> Using Locale. This bypasses the driver and locale issues that are dropping the decimals and it guarantees that Power BI receives the exact numeric format you want on every refresh.
HI @Syndicate_Admin , Hope you're doing fine. Can you confirm if the problem is solved or still persists? Sharing your details will help others in the community.
Hi @Syndicate_Admin , hope you are doing great. May we know if your issue is solved or if you are still experiencing difficulties. Please share the details as it will help the community, especially others with similar issues.
Hello again
I have applied step by step what you indicate. I show what I have done.
I have gone to Power Query, I have right-clicked on the DISCOUNT column and I have chosen the option "Change type" and after that, I have indicated "Use locale".
Next, I have selected the options that were recommended to me:
I hit the "OK" button. And then the "Apply and Close" button. Then I have "Applied the changes".
Next, I have checked in "Transform data" if these have been modified correctly.
To my surprise, although I have applied all the proposed measures, the data are still not transformed. The numbers are integers and keep being replaced in the wrong way.
Thanks for the help.
Hi @Syndicate_Admin , Thank you for reaching out to the Microsoft Community Forum.
I donโt think this isnโt a Power Query conversion problem at all. The decimals are already gone before Power BI even starts applying your steps. In the Source preview your values are integers, which means Power BI is receiving the data from Oracle after something upstream has already stripped or rounded the decimals. Once that happens at the source, no locale setting in Power Query can recover them.
When you connect to Oracle, open the Advanced options -> SQL statement box and write a query that forces Oracle to send the discount as text with a known decimal separator. Then in Power Query, convert that text to a decimal using Change Type -> Using Locale. This bypasses the driver and locale issues that are dropping the decimals and it guarantees that Power BI receives the exact numeric format you want on every refresh.
Hi @Syndicate_Admin , Thank you for reaching out to the Microsoft Community Forum.
I think this is happening because Power BI is misreading the decimal separator from your Oracle data. Your view has numbers written with a comma (like 7,5), but when Power BI refreshes, it sometimes switches to using a dot decimal format (expects 7.5). When that happens, anything with a comma gets misread and turns into 0 or blank, even though the column still shows as a decimal number.
Changing the Power BI language settings doesnโt fix this issue, because those only control the user interface, not how numbers are read from data sources. You need to tell Power BI which locale to use when reading that column. In Power Query Editor, select your DESCUENTO column, go to Transform -> Data Type -> Using Locale, choose Decimal Number and then pick a locale that uses a comma as the decimal separator (for example, Spanish โ Spain). Apply and close. This forces Power BI to always interpret commas correctly, regardless of your Windows or application language.
If you can edit the Oracle view, another way to fix it is to make Oracle send the number in a format with dots instead of commas. But the Power Query locale setting alone usually solves it permanently.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 52 | |
| 38 | |
| 37 | |
| 19 | |
| 18 |
| User | Count |
|---|---|
| 66 | |
| 63 | |
| 34 | |
| 32 | |
| 21 |