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

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
aTChris
Resolver I
Resolver I

Conditional Rounding

Hi everyone

 

Can anyone think of a way that I can apply conditional rounding to a card?

I have a report showing revenue, profit, targets etc for different business units within a group. Some units are smaller than others, therefore, they report in hundreds of thousands some over a million. I want to be able to show one decimal place if millions but zero decimal places if thousands.

 

e.g. £562K & £1.3M

 

I use a measure to calculate the values which are then filtered by business unit thus applying the decimal place in modeling impacts all business units.

 

Hope someone can help.

 

Thanks

 

Chris

1 ACCEPTED SOLUTION

Use round to in formula and check

Measure = IF([Measure]>1000000,FORMAT(round([Measure]/1000000,0),"£#.#M"),FORMAT(round([Measure]/1000,0),"£#K"))
Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User

You can check the number use if or Switch and format to give a formatted number. But the output will become text

https://docs.microsoft.com/en-us/power-bi/desktop-custom-format-strings

 

if([Measure]>1000 && [measure]<=1000000,format([measure]/1000,"#,#")

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

@amitchandak 

Thanks I will give that a go

@amitchandak 

 

That is really useful, the only concern I have is the rounding. Using your suggestion I've got it displaying correctly.

Measure = IF([Measure]>1000000,FORMAT([Measure]/1000000,"£#.#M"),FORMAT([Measure]/1000,"£#K"))

However if the value is £309.5K it only shows £309, where I should display £310K

Do you have any suggestions for rounding before I convert to text?

 

Thanks

 

Chris

Use round to in formula and check

Measure = IF([Measure]>1000000,FORMAT(round([Measure]/1000000,0),"£#.#M"),FORMAT(round([Measure]/1000,0),"£#K"))
Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.