7 Replies Latest reply on Feb 8, 2013 8:23 AM by Rey Sanchez

    Need Help! How do I create a truly Global filter

    Anjana Sudhi

      Hi,

       

      I have multiple extracts, using which I have created multiple dashboards in the same file.

      I want to create a filter in such a way that, for example, I choose "PersonA" on Dashboard1, the same filter is chosen on all the other dashboards(Note that the extracts will be different on the other dashboards)

      Is this possible?

       

      Or, as a workaround, can I have all the views in a single dashboard(say I create a scrollbar), and then create an "action". If yes, how do i create a scroll bar?

       

      P.S. I am relatively new to Tableau so please explain in detail

        • 1. Re: Need Help! How do I create a truly Global filter
          Shawn Wallwork

          Hi Anjana, is sounds like the thing you need to understand about global filters is that they are based on (exclusive to) each of your data connections. So in the case of multiple extracts, setting a filter to global will only effect that single extract, none of the others. There are all kinds of work-arounds you might be able to use to get the result you are looking for, but that's a whole other question.

           

          Hope this helps,

           

          --Shawn

          • 2. Re: Need Help! How do I create a truly Global filter
            Andy Cotgreave

            A filter is "global" to the connection, not the workbook. The multiple versions of the extracts count as different connections, so one "global" filter does not apply to all connections.

             

            You can workaround this using parameters, but it can get complicated and a maintenance headache.

             

            i'm not sure what you mean by creating a scrollbar?

            • 3. Re: Need Help! How do I create a truly Global filter
              Catherine Rivier

              Andy is right about parameters being a solution to this issue. It's actually one I prefer if I the situation is right.  They can be complex to build, but the right data these can work really well.  (Added benefit: they're much faster than built-in filters.)

              The ideal scenario for this is a relatively fixed list of values in the filter - for example, if you had a total of 20 departments to list that wasn't likely to change much.  If your field is very large, and rapidly changing, you likely have to consider other options.

               

              Here's a very basic description of how to solve your problem.  I'll use the example of 20 department names, all listed in an existing field called "Department".

               

              A parameter essentially has 3 pieces:  1) the parameter itself, 2) a variable that uses the parameter, and 3) the use of that variable as a filter.  Here's how to set up all 3:

               

              1) The parameter itself:  Create a new parameter in any data source (it'll be useable by every data source).  Give it a name (here I'll use "Department Parameter").  Choose a data type (String in the example).  For Allowable Values, select List.  Now a data entry list will open up, and begin adding all of your potential values.  You can either enter them all manually, or choose Add from Field.  The idea here is that the Value should be the exact name of each department you may see.  Hit OK.

               

              2) A variable that uses the parameter:  Now we link the variable you already have (the original "Department" field) to the parameter.  Create a calculated field, and the calculation is simple:

                        [Department Parameter] = [Department]

              This will now give a True value if the department matches the currently selected department on the parameter.

               

              3) The use of that variable as a filter:  Simply drag the new variable into the Filters block, and filter to be "True" only.

               

              4) Testing:  First make sure you have a view that has the original variable "Department" in the view.  Add the parameter control onto the workbook by right clicking on the parameter and selecting "Show Parameter Control".  It will now be a drop-down box.  Make a few selections, make sure it's all linking up.  If not, see the above steps and make sure everything was done right.

               

              5) Repeat!  Now repeat steps 2-4 on any other sheet that you want this parameter to apply to.  Variables can have different names, filters can have different names, as long as you link them correctly to that parameter.  And when done, you can create a dashboard and have the single parameter control that will filter every worksheet linked to the parameter.

               

               

              A word of caution:  There are several things that can go wrong using this method.  Make sure that every "Department" you are linking has exactly the same names, same spellings, no trailing spaces, etc.  Any time a new department is added, you must add it to the Parameter - it will not just show up on its own.

               

              Please let me know if this doesn't work out for you, but it might do what you need.

               

              Edit: Added sample workbook

              • 4. Re: Need Help! How do I create a truly Global filter
                Abhishek Khare

                Hi,

                But how will this method work in case of multiple selections or "ALL" option??

                • 5. Re: Need Help! How do I create a truly Global filter
                  Catherine Rivier

                  You have to pre-define multiple selections, All options, in your parameter.  Unfortunately it's the sacrifice in setting up these universal filters.  But, as long as you can predefine these, this will work, and will work quickly and smoothly.

                   

                  An "All" value is easy.  When you build you parameter, have an option that is called, say "All Departments".  Then your calculated field linking to the parameter (step 2) will be:

                  IF [Department Parameter]='All Departments' THEN 'Show'

                  ELSEIF [Department Parameter]=[Department] THEN 'Show'

                  ELSE 'Do Not Show'

                  END

                   

                  The first line will show all values if you select 'All Departments'.

                   

                  Similarly, say you could divide your departments into groups, like East West North South.

                  First create a calculated field, 'Region', with IF/THEN statements to put departments into region.

                  Second, add these regions as possible selections in your parameter.  Then your new calculated field linking to the parameter (step 2) will be:

                   

                  IF [Department Parameter]='All Departments' THEN 'Show'

                  ELSEIF [Department Parameter]='East' AND [Region]='East' THEN 'Show'

                  ELSEIF [Department Parameter]='West' AND [Region]='West' THEN 'Show'

                  ELSEIF [Department Parameter]='North' AND [Region]='North' THEN 'Show'

                  ELSEIF [Department Parameter]='South' AND [Region]='South' THEN 'Show'

                  ELSEIF [Department Parameter]=[Department] THEN 'Show'

                  ELSE 'Do Not Show'

                  END

                   

                  You can do the same with other types of groupings, doing this the same way.  As long as you pre-define all of these groupings, it will work.  It takes a little extra work up front, but it will work smoothly and quickly afterwards.  (It all depends on your situation whether this sacrifice is worth it for universal filters.)

                  For another situation, I created a sample workbook here that shows a few examples of parameters over multiple data sources, and parameters with multiple selections:

                  http://public.tableausoftware.com/views/ParametersandMultipleSelectionDashboardPublic/CheckDivisionParameter?:embed=y

                   

                   

                  In the same way, you could do this with Actions.  (Create a data source that has all of your values, say all Departments.  Link to the other views.  Your user can then ctrl-select multiple options.)  Downside of Actions to do this is that they are slower, and less intuitive for the end user to use.  Here's an example, and there are a lot more in these forums:

                  http://downloads.tableausoftware.com/quickstart/feature-guides/actions_filter.pdf

                  • 6. Re: Need Help! How do I create a truly Global filter
                    Abhishek Khare

                    Hi,

                    I tried implementing your solution but it didn't seem to quite work out for me. I am attaching a sample tableau worksheet containg region_num field. When I use a parameter named Region, I want to take the value from that parameter, pass it on to a calculated field, which in turns corresponds to the value of region number and the sales for that region.

                    In short, my backend has region num and sales. I know which region number corresponds to which region. I want to link the region number to that region using parameter.

                    HERE I WANT AN "ALL" OPTION WHICH SELECTS ALL THE REGIONS. Presently when I am choosing ALL, it gives NULL (obviously).

                    Can you please explain me the explanation you gave above.

                    Also I am attaching a dashboard which has multiple data sources and I want to apply the same thing in this dashboard as I am applying in the first worksheet I have attached.

                    Please let me know in case of a ny clarification !

                    • 7. Re: Need Help! How do I create a truly Global filter
                      Rey Sanchez

                      Hi Abhishek,

                       

                      Your parameter calculation was close but just needed a little adjustment. I have attached the sample1 workbook with the adjustments that should net the results you are looking for.

                       

                      In short what was needed was a link from the Region Parameter to the actual Region_Num field. The Region (filter) in the workbook establishes this link.

                       

                      Hope this helps!