5 Replies Latest reply on Aug 31, 2012 9:59 AM by Andrew Watson

    How Can I create a Multi-Value Parameter?

      Hi Forumers,

      I am trying to create a multi-value parameter and it's been quite challenging.

      In the dimension column I have Regions (East, West, South and North), Countries (Italy, Peru, Portugal, Spain, Egypt, etc), Clusters (North America, South America, Australia etc). The question is, how do I put together all these dimensions and sub-strings (East, West, Peru,Italy, North America etc)  to form a single dropdown menu?. At the moment, I can only use a parameter to select the top level dimensions (Regions, Countries and Clusters)  and use a further quick filter to select the sub strings. I would like to have only 1 drop-drown menu to select whichever sub-strings I require.



        • 1. Re: How Can I create a Multi-Value Parameter?
          Mark Holtz

          Yikes, I think you'd have to create every one of the permutations you're describing yourself.

          Then you'd have to have a hugely complex calculated field to determine which records would be Shown/Filtered based on the string selection.


          East, West, Italy

          East, Italy


          East, West


          In my opinion, that'd be pretty gnarly for even the most seasoned consumer of your data to really digest.

          Is there a particular reason you are opposed to utilizing multiple filters for each field?


          The biggest drawback I could anticipate is that the filters eat up real estate on your dashboard...

          If you make each filter Check-box type option, and set them to relative values only (if Egypt belongs to the South region, Tableau will restrict that option if any Region other than South is selected), they might be acceptably small--but, I'm not sure how many Countries and Clusters you have...

          • 2. Re: How Can I create a Multi-Value Parameter?

            Hi Mark,

            Thanks for your response.

            However, I'm not too sure if you got my question right...

            What I needed to achieve is a single drop-down menu (could be a filter or parameter) that will engulf all the above mention strings from the various dimensions...(East, Italy, West, Peru, North America, South America, etc). 

            In all, I have Global, 4 Regions, 8 Clusters and 80 Countries.

            The task seems quite complex to get around. However, I want to increase the user experience by just a single drop down filter/parameter.




            • 3. Re: How Can I create a Multi-Value Parameter?
              Andy Cotgreave

              Have you tried creating a Set? Ctrl+click on each of the dimensions you want to be in the drop down. Once you've got all the Dimensions selected, right-click and choose "Create Set...." Then you get a Set - it's a dimensions that concatenates all the members of your dimensions.

              • 4. Re: How Can I create a Multi-Value Parameter?

                Yes, I have tried both sets and groups.

                What happens is...sets 'fuses' all the dimensions + members and with around eighty countries it becomes very complicated  for the user to make a choice. I need a single drop-down list. 

                I believe the answer I require is in the parameters. However, I'm not too sure of the formular to write in the calculated field to cover the individual elements/members under the various dimensions.


                • 5. Re: How Can I create a Multi-Value Parameter?
                  Andrew Watson

                  Sounds to me like you'd be better to use 2 filters - or in reality a combination of 1 parameter and 1 filter. In the parameter you'd let the user chose Global, Region, Cluster or Country and produce a calcuated field that selects that field - i.e. CASE [parameter] WHEN 'Global' THEN [GlobalField] WHEN 'Region' THEN [RegionField]...etc


                  Use that calculated field as a quickfilter and that should do what you need.


                  I don't know if it's possible to UNION a few fields together, which is what you were initially suggesting, without tinkering with the SQL in the datasource, what I've suggested might be a suitable and far simpler alternative.