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

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.

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
September Power BI Update Carousel

Power BI Monthly Update - September 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors