Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Dynamic Decimal Places

Hi,

 

I am currently dealing with an issue whereby I want the number of decimal places for a measure be dynamic.

 

The use case is, if I select Option A in a slicer, the measure shows 2 decimal places. If I then select Option B for the slicer, the measure will show 1 decimal place.

 

However, I also need to keep the measure as a number, not text.

 

My current Dax is:

 

Measure 2 = 
IF(HASONEVALUE(Table[Slicer]) && VALUES(Table[Slicer]) = "A", 
FORMAT(ROUND([Measure1], 2), ""), 
FORMAT(ROUND([Measure1], 1), ""))

 

 

 

This returns the correct values but as text not a number. Is anyone able to help? Cheers

  • Anonymous's avatar
    Anonymous
    6 years ago

    Hi Anonymous ,

    It seems impossible to make the number fields show with one decimal place and two decimal places at the same time if you still want to keep its data type as Numeric type...

    Best Regards

    Rena

4 Replies

  • What are using format round should be enough

    Measure 2 =
    IF(HASONEVALUE(Table[Slicer]) && VALUES(Table[Slicer]) = "A",
    ROUND([Measure1], 2),
    ROUND([Measure1], 1))

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks for the suggestion. I have tried this, but when I toggle to Option B, I am left with trailing 0's.

       

      E.g. If Table[Slicer] = "B"


      My values will be:

      9.80

      8.40

      3.30

       

      And so on. I need them to be 9.8, 8.4.... 

      This is when the number of decimal places for the filed formatting and the matrix formatting are both auto.

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi Anonymous ,

        It seems impossible to make the number fields show with one decimal place and two decimal places at the same time if you still want to keep its data type as Numeric type...

        Best Regards

        Rena