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

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
bbass82
Frequent Visitor

Dynamic formatting for negative values

Hello Community friends,

 

Was hoping someone could help me with this issue I am having in regards to dynamic formatting of my values in my DAX. I have some negative values that I want to show in the same format (no negative values in other columns). 

 

I wrote the below DAX in hopes of returning values with the below formatting:

1) Show all negative #'s equal to or greater than -$1,000,000 as formatting of "-$1.0M"

2) Show all negative #'s between -$999,999k to -$0k as formatting of "-$999.9k"

bbass82_0-1738697028089.png

Current State:

bbass82_1-1738697535433.pngbbass82_2-1738697570298.png

 

Any help with this is greatly appreciated. 

 

Kind Regards,

Brandon Bassett

1 ACCEPTED SOLUTION
OwenAuger
Super User
Super User

Hi @bbass82 

I think you just need to add one condition within SWITCH to your current expression to handle negative numbers between -1m and zero.

I would write the overall expression like this with SELECTEDMEASURE assigned to a variable:

 

 

VAR MeasureValue = SELECTEDMEASURE ( )
VAR Result =
    SWITCH (
        TRUE ( ),
        MeasureValue < -1e6, "$#,##0,,.0M",
        MeasureValue < 0, "$#,##0,.0k", -- new condition
        MeasureValue < 1e3, "$#,##0",
        MeasureValue < 1e6, "$#,##0,.0k",
        -- Otherwise >= 1e6
        "$#,##0,,.0M"
    )
RETURN
    Result

 

 

PBIX attached in case that helps debug.

OwenAuger_1-1738706162742.png

You could consider using conditions based on ABS ( SELECTEDMEASURE () ) if the same format string applies to positive/negative values in the same absolute value range.

 

Are you able to get it working at your end?

 

Regards

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn

View solution in original post

2 REPLIES 2
OwenAuger
Super User
Super User

Hi @bbass82 

I think you just need to add one condition within SWITCH to your current expression to handle negative numbers between -1m and zero.

I would write the overall expression like this with SELECTEDMEASURE assigned to a variable:

 

 

VAR MeasureValue = SELECTEDMEASURE ( )
VAR Result =
    SWITCH (
        TRUE ( ),
        MeasureValue < -1e6, "$#,##0,,.0M",
        MeasureValue < 0, "$#,##0,.0k", -- new condition
        MeasureValue < 1e3, "$#,##0",
        MeasureValue < 1e6, "$#,##0,.0k",
        -- Otherwise >= 1e6
        "$#,##0,,.0M"
    )
RETURN
    Result

 

 

PBIX attached in case that helps debug.

OwenAuger_1-1738706162742.png

You could consider using conditions based on ABS ( SELECTEDMEASURE () ) if the same format string applies to positive/negative values in the same absolute value range.

 

Are you able to get it working at your end?

 

Regards

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn

Hi Owen,

 

Thank-you so much for this solution. Worked perfectly for what I was trying to show in my pbix. I am still new to the absolute conditions piece and will be studying up as suggested on how to you utilizate absolutes within my dax. 

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.

March2025 Carousel

Fabric Community Update - March 2025

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