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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
sa34techer
Helper II
Helper II

Display Negative Numbers in Parenthesis

I am using a SWITCH function to format a measure.  How to display in parenthesis with no rounding.  Please help me adjust my switch function.

 

These negative number should be displayed like (36k), (.999k), (14k)

 

sa34techer_0-1734704145039.png

 

My SWITCH function:

 

.formattedMeasure =
var _salesMeasure =
[total_sales]
var _result =
SWITCH(
    TRUE(),
    ABS(_salesMeasure) > 1000000000, "$"&FORMAT(_salesMeasure, "#,,,.0B"),
    ABS(_salesMeasure) > 1000000, "$"&FORMAT(_salesMeasure, "#,,.0M"),
    ABS(_salesMeasure) > 1000, "$."&FORMAT(_salesMeasure,"#,K"),
    ABS(_salesMeasure) > 0, "$"&FORMAT(_salesMeasure,"#")
)
RETURN
_result
1 ACCEPTED SOLUTION
Greg_Deckler
Community Champion
Community Champion

@sa34techer

This is the default currency format string: 

"\$#,0.###############;(\$#,0.###############);\$#,0.###############"
 
So try:
SWITCH(
TRUE(),
ABS(_salesMeasure) > 1000000000, FORMAT(_salesMeasure, "\$#,,,.0B;(\$#,,,.0B);\$#,,,.0B"),
ABS(_salesMeasure) > 1000000, FORMAT(_salesMeasure, "\$#,,.0M;(\$#,,.0M);\$#,,.0M"),
ABS(_salesMeasure) > 1000, FORMAT(_salesMeasure,"\$#,K";(\$#,K);\$#,K""),
ABS(_salesMeasure) > 0, FORMAT(_salesMeasure,"\$#;(\$#);\$#")
)


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

2 REPLIES 2
Greg_Deckler
Community Champion
Community Champion

@sa34techer

This is the default currency format string: 

"\$#,0.###############;(\$#,0.###############);\$#,0.###############"
 
So try:
SWITCH(
TRUE(),
ABS(_salesMeasure) > 1000000000, FORMAT(_salesMeasure, "\$#,,,.0B;(\$#,,,.0B);\$#,,,.0B"),
ABS(_salesMeasure) > 1000000, FORMAT(_salesMeasure, "\$#,,.0M;(\$#,,.0M);\$#,,.0M"),
ABS(_salesMeasure) > 1000, FORMAT(_salesMeasure,"\$#,K";(\$#,K);\$#,K""),
ABS(_salesMeasure) > 0, FORMAT(_salesMeasure,"\$#;(\$#);\$#")
)


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

How do I stop the -999.97 from rounding to ($1000)?  It should format to (.999) 

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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

Top Solution Authors