Here are my 2 ways and solutions for Dax functions
Formatted Result (Calculated Column) =
SWITCH(
TRUE(),
LEN(FORMAT( Data[Dollar Amount], “General Number”)) >9, FORMAT(DIVIDE(Data[Dollar Amount],1000000000),“$#.0B”),
LEN(FORMAT( Data[Dollar Amount], “General Number”)) >6, FORMAT(DIVIDE(Data[Dollar Amount],1000000),“$#.00M”),
LEN(FORMAT( Data[Dollar Amount], “General Number”)) >3, FORMAT(DIVIDE(Data[Dollar Amount],1000),“$#.0K”),
FORMAT(Data[Dollar Amount], “$#”)
)
Formatted Result (Measure) =
Var vSelectedValue =
SELECTEDVALUE(Data[Dollar Amount])
Var vFormatValue =
SWITCH(
TRUE(),
vSelectedValue>=1000000000, FORMAT(DIVIDE(vSelectedValue,1000000000),“$#.0B”),
vSelectedValue>=1000000, FORMAT(DIVIDE(vSelectedValue,1000000),“$#.00M”),
vSelectedValue>=1000, FORMAT(DIVIDE(vSelectedValue,1000),“$#.0K”),
FORMAT(vSelectedValue,“$#”)
)
Return
vFormatValue