Forum Discussion
Anonymous
1 year agoNot applicable
Adjust Dynamic format of a Measure
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 dol...
- 1 year ago
Hi Anonymous ,
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 ) - 1 year ago
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
Bibiano_Geraldo
Super User
1 year agoHi Anonymous ,
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
)Anonymous
1 year agoNot applicable
You suggestion did not work. Results below.
- jgeddes1 year ago
Super User
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