Forum Discussion

michellepace's avatar
michellepace
Resolver III
6 years ago

How to format result in switch statement?

Hello,

In the screenshot below I give my user the abolity to compare months either as an actual value or as a %. The problem is that I do not know how to force a percent format should my user select "As Percentage". In the (commented out) dax code below, I have tried to use the format() function but this breaks my entire visualisation. 

Could anyone help me please?

 

Diff LM = 
SWITCH( TRUE(),
    [Selected Metric] = "By Amount", [Diff. to LM],
    [Selected Metric] = "By Percent", [% Diff to LM],
    // [Selected Metric] = "By Percent", format([% Diff to LM], "Percent"),
[Diff. to LM] )

 

 

When I try to format my percentage case, I loose all my values like so:

 

3 Replies

  • michellepace 

    Your measure seems fine, can you try it on new table visual. Check your Slicer it it returns a single value as expected. 

     

    Diff LM = 
    SWITCH( TRUE(),
        [Selected Metric] = "By Amount", [Diff. to LM],
        [Selected Metric] = "By Percent", FORMAT([% Diff to LM], "Percent"),
        [Diff. to LM] 
    )

     

     

    ________________________

    Did I answer your question? Mark this post as a solution, this will help others!.

    Click on the Thumbs-Up icon on the right if you like this reply 🙂

    YouTube, LinkedIn

     

  • Anonymous's avatar
    Anonymous
    Not applicable
    Well, the short answer is: You can't do this unless you use the very newest feature that's only available through Tabular Editor called "calculation groups." Your only option right now is to create a new measure, only for display purposes, that will output correctly formatted values. However, the values will be TEXT, not real numbers. Such a measure should only be used in visualizations, not in calculations. For calculations you should use a measure that returns raw numbers.