Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe 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.
I am using dynamic format with a SWITCH function to display units a measure. Please assist me with adjusting my SWITCH function(below), to numbers that end in K should have the decimal after the dollar sign and no decimal point.
Solved! Go to Solution.
Hi @sa34techer ,
Here's updated DAX, please let me know if satisfies your needs:
var salesMeasure = [Total Revenue]
return
SWITCH(TRUE(),
AND(salesMeasure > -1000000000, salesMeasure <= -1000000), "$#.0,,M", -- For millions
AND(salesMeasure > -1000000, salesMeasure <= -1000), "$#.0,.K", -- For thousands (negative)
salesMeasure > 1000 && salesMeasure < 1000000, "$#.0,.K", -- For thousands (positive)
salesMeasure < 1000000, "$#.0,.K", -- For thousands (positive)
salesMeasure < 1000000000, "$#.0,,M", -- For millions
salesMeasure >= 1000000000, "$#.0,,,B" -- For billions
)
Maybe something like this would work for you...
formattedMeasure =
var _salesMeasure =
SUM('Table'[Values])
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
Proud to be a Super User! | |
Hi @sa34techer ,
Here's updated DAX, please let me know if satisfies your needs:
var salesMeasure = [Total Revenue]
return
SWITCH(TRUE(),
AND(salesMeasure > -1000000000, salesMeasure <= -1000000), "$#.0,,M", -- For millions
AND(salesMeasure > -1000000, salesMeasure <= -1000), "$#.0,.K", -- For thousands (negative)
salesMeasure > 1000 && salesMeasure < 1000000, "$#.0,.K", -- For thousands (positive)
salesMeasure < 1000000, "$#.0,.K", -- For thousands (positive)
salesMeasure < 1000000000, "$#.0,,M", -- For millions
salesMeasure >= 1000000000, "$#.0,,,B" -- For billions
)
You suggestion did not work. Results below.
Maybe something like this would work for you...
formattedMeasure =
var _salesMeasure =
SUM('Table'[Values])
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
Proud to be a Super User! | |
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.
User | Count |
---|---|
87 | |
81 | |
53 | |
38 | |
35 |