Unable to Change Number Format When Using Parameters to Swap Measures

Published: 18 Jun 2013
Last Modified Date: 28 Mar 2017


When you use a parameter to swap measures in the view, the number formatting does not change based on the selected measure. 


Tableau Desktop


Option 1

Make a calculated field for each possibility in the parameter as follows. In this example, we have a Parameter with two options Sales as Currency and Discount as Percentage:
  • Calculated field 1 
IF [Parameter] = 'Sales' THEN [Sales] ELSE NULL END 
  • Calculated field 2 
IF [Parameter] = 'Discount' THEN [Discount] ELSE NULL END 

Set the Default Number Format for these new fields through the measure window and add both to the Label text shelf. Only the one selected in the parameter will show.

Formatting tip: By default, Tableau Desktop will put an enter break between every measure on Text. To remove this extra white space, click on Text and then on the "..." button to open the Edit Label dialog, and remove all spaces or breaks between measures.

Option 2

If you want one measure to display as a percentage and a second measure to display as currency, use the following workaround:
  1. Use a calculated field to convert the measures to strings, and then format the strings within the calculated field. The following formula provides a template that can be used for the calculated field:
    CASE [<Measure Swapping Parameter>] 
    WHEN '<Measure A>' THEN LEFT(STR(AVG([<Measure A>])*100), 3) + "%" 
    WHEN '<Measure B>' then "$" 
    + (if SUM([<Measure B>])>99999 THEN LEFT(STR(SUM([<Measure B>])), 3) 
    + "," + MID(STR(SUM([<Measure B>])), 4, 3) END) 
  2. In the view, replace the parameter with the newly created calculated field.


When measures are used in a parameter, the calculated field that generates the measure values for the parameter is considered a single field. As a result, it is not possible to format the individual measure values used in the parameter.
Did this article resolve the issue?