Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
1 year ago
Solved

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...
  • Bibiano_Geraldo's avatar
    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
    )
  • jgeddes's avatar
    jgeddes
    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