Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Anonymous
Not applicable

Why does Power Bi change the % decimal places?

Our ERP system brings in this column like the 1st screen shot.   Gross margin = 57.29 but notice it brings it in as a text field.   If I convert that column to a percentage type, it makes the margin 5729.16%. 

 

Intuitively I understand why, because it is multiplying it by 100 once the column is converted to a percentage.  

 

Aside from changing the ERP field, which our sys admin won't do, is there a better way to handle this?   Perhaps create a custom column and divide the original column by 100, then change that column to a percentage type.  

 

Any ideas?   We have about 5 columns that all have this same issue so looking for an efficient solution.  

 

texmexdragon_0-1618670276147.png      

texmexdragon_1-1618670345944.png

 

 

1 ACCEPTED SOLUTION
v-kelly-msft
Community Support
Community Support

Hi @Anonymous ,

 

First go to query editor and change the column type to number,then using below M code:

 

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjXXM7I0NFOKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [Column1]>0 and [Column1]<100 
then Number.ToText([Column1])&"%"
else[Column1])
in
    #"Added Custom"

 

 

And you will see:

v-kelly-msft_0-1618825479429.png

For the related .pbix file,pls see attached.

 

Best Regards,
Kelly

Did I answer your question? Mark my post as a solution!

View solution in original post

2 REPLIES 2
v-kelly-msft
Community Support
Community Support

Hi @Anonymous ,

 

First go to query editor and change the column type to number,then using below M code:

 

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjXXM7I0NFOKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [Column1]>0 and [Column1]<100 
then Number.ToText([Column1])&"%"
else[Column1])
in
    #"Added Custom"

 

 

And you will see:

v-kelly-msft_0-1618825479429.png

For the related .pbix file,pls see attached.

 

Best Regards,
Kelly

Did I answer your question? Mark my post as a solution!

ryan_mayu
Super User
Super User

@Anonymous 

I think if you can't add % in the ERP field, then you need to create a custom column to get the correct value.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.