Filter Tableau Data By Wildcard Search With Multiple Keywords

In this video I will teach you how to perform a multiple keyword search in Tableau. I’ll show you how to perform both an OR search & an AND search against keywords you type into your dashboard parameter.

In order to accomplish these tasks, we need to use regular expressions. As I mention in the video, regular expressions can be indecipherable, akin to hieroglyphics or something out of a Dan Brown novel to the average person. You can go find this information on the Tableau knowledge base, but I want you to be the person that understands WHY something works as opposed to just copying and pasting a solution that you cannot explain to yourself or others.

The use case for multiple keyword search is for those times when you need to filter your data by a comment, description or other free form blocks of text that are not necessarily subject to the most stringent data governance rules, because let’s face it, these types of fields exist in abundance. In the video I create a dashboard that illustrates the power that this type of search can bring to your dashboard.

You can interact with the dashboard from the video on my Tableau Public page.



Create a parameter named Search Terms.

  • Data type: String
  • Current value: keep it blank.
  • Allowable values: All


Create a calculated field named Regex String (OR) including the following formula:

"(" + REPLACE([Search Terms], ',' ,'|') + ")"

Let’s breakdown what is going on with the apparent gibberish seen above (there is a method to the madness here). I’ll assume you want to perform a search against a field that contains the terms “paper” OR “Paper”; the case of the spelling is a factor in the results (case sensitive). To adhere to proper regex formatting, you could write a valid expression as such:


This pattern indicates that you want to return a match on the characters “paper” OR “Paper” literally. You can test this out at

Although for some reason the official Tableau knowledge base article says to use the REGEX_REPLACE formula in lieu of REGEX, it is not needed since we are doing a simple replace and not using a regex formula to aid our replacements.

In the Tableau calculated field above, we are using the REPLACE function against the parameter named “[Search Terms]” to replace every instance of a comma with the the ‘|’ pipe symbol.

Think about it, if you type the terms “paper, Paper” into the a dashboard’s search term parameter as seen below, the calculated field will reformat your list into the proper regex format by replacing the comma with a pipe and then enclosing the term within parenthesis; i.e., (paper|Paper).


Next create a calculated field named Regex OR Filter that contains the following formula:

REGEXP_MATCH([Product Name],[Regex String (OR)])

Let’s breakdown what is going on with the formula seen above. The REGEXP_MATCH formula is evaluating a properly formatted regex expression which is contained within the [Regex String (OR)] calculated field we created in step 2. This calculated field will contain the formatted expression (paper|Paper).

REGEXP_MATCH returns TRUE if a substring of the specified string matches the regex pattern. In our case

[Regex String (OR)] = (paper|Paper)

Thus the REGEXP_MATCH function will evaluate the regex expression (paper|Paper) from the second argument against the [Product Name] field in the first argument. The function will return either TRUE or FALSE depending upon whether a match is located within this field.


Place [Product Name] to rows and [Regex OR Filter] to filters, then select True.


In order to create the AND search for your dashboard, you will follow very similar steps to the OR search. 1. Create the same parameter named Search Terms as in the OR Search above.


Next create a calculated field named Regex AND Filter including the following formula:

"(?=.*" + REPLACE([Search Terms], ',' ,")(?=.*") + ").*"

This may look like something out of a Dan Brown novel, but don’t let it intimidate you. In a similar fashion to the OR search where we replaced commas with a pipe symbol, we are simply replacing commas with the following characters between the double quotes “)(?=.*”

The proper regex pattern to indicate an AND search against the terms paper and Paper within a body of text would be as such:


Knowing the proper regex format should make the contents of the calculated field above more clear. We are using the REPLACE function against the parameter named [Search Terms] to replace every instance of a comma with the the )(?=.*symbols. Thus “Paper, paper” values typed into the [Search Terms] parameter becomes reformatted into(?=.paper)(?=.Paper).*

Placing .* at the end of the string means that any combination of characters can be placed after the search terms and still yield a TRUE result.


Next create a calculated field named Regex AND Filter including the following formula:

REGEXP_MATCH([Product Name],[Regex String (AND)])


Then place [Product Name] to rows and [Regex OR Filter] to filters, then select True.


That wasn’t so horrible was it? If you’re a visual learner like me, then go ahead and watch the video to hammer home the concepts. Hopefully this post will help you understand how these regex patterns work and how they can add value to your next dashboard design! As always if you learned something drop a comment on the YouTube video and let me know.

Please like and subscribe on the Anthony B. Smoak YouTube channel.

All views and opinions are solely my own and do not necessarily reflect those of my employer

I appreciate everyone who has supported this blog and my YouTube channel via merch. Please click here

Thank you!!

Anthony B Smoak

TLDR: Tableau Knowledge Base Reference:

Tableau Ambassador Swag for 2021

I was very honored to be selected as a Tableau Ambassador for the second time in 2021. If you follow this link, you’ll see me Anthony Smoak, suited up in the Tableau Public Ambassadors section. I started this blog and YouTube channel as a means to share what I know and what I learn and will continue to do so. The fact that I gain some recognition from Tableau or anyone else is secondary, but I will say it does feel good to be acknowledged by the wider Tableau community for all the off-hours and weekend work it takes to produce stellar content.

I don’t share 10 videos in a week. I have to research what to share, put together a dashboard to illustrate the concepts and record and edit everything all in my “spare” time. Who has any of that these days when we’re all feeling worn out? However, this blog is worth it for me because it forces me to learn and I have grown tremendously since I started this social media sharing journey some years ago.

I mention all of this to simply say thanks for following me and whoever keeps nominating me as an ambassador every year, I’m not mad at you!

One of the cool aspects of being selected as a Tableau ambassador is the swag you receive. Definitely watch the video as I will share an unboxing of this year’s swag for those that are curious.

In the words of the legendary Q-Tip from A Tribe Called Quest , “So give me this award, and let’s not make it the last.”

-Anthony B. Smoak

Please like and subscribe on the Anthony B. Smoak YouTube channel.

All views and opinions are solely my own and do not necessarily reflect those of my employer

If you want some of the cool merch I’m wearing in the video, check it out here.

Place Bar Chart Labels Above Bars in Tableau

In this video I will provide a method in which you can place your bar chart labels above the bars in Tableau. This technique is based off Adolfo Hernandez’s technique with a little more explanation and additional alternatives for the zero line. Make sure to add this to your bar chart repertoire!

If you want to follow-along with the video, you can download the data at this link:

In the video I exported data from the “Per Game Stats” section but you are free to download from whichever stats section you’d prefer.

High Level Steps:

Make sure to watch the video to get more in-depth:

  1. Drag your measure to columns (e.g., 3P)
  2. Drag your dimension to Rows (e.g., Team)
  3. Sort the measure to descending value
  4. Place the Team and 3P on the label and format accordingly
  5. Create a placeholder directly on the Columns shelf : AVG(0))
  6. Drag the placeholder to the bottom of the visual onto the 3P axis to make a combined axis visual
  7. In the Measure Value area make sure that AGG(AVG(0)) is placed above SUM(3P)
  8. Uncheck “Show Headers” for the Team dimension and for the axis at the bottom of the visual
  9. Format the visual to remove unnecessary borders and lines
  10. Make the following adjustments on the Label:
    1. Marks to Label: Min/Max
    2. Scope: Pane
    3. Field: Measure Values
    4. Options:
      1. Allow Labels to Overlap Other Mark
      2. Label Minimum Value
  11. Change the color of the bar chart borders to the background color of your visual in order to camouflage the tiny bar created by AVG(0)
  12. Uncheck “Show Header” for AVG(0)

When it’s all said and done you have a fresh new take on adding labels to your bar chart that can add differentiation to your overall visual!

For more detail on how to add a zero line (which I believe is important for bar charts in general and is a good design practice), watch the video.

Please like and subscribe on the Anthony B. Smoak YouTube channel.

All views and opinions are solely my own and do not necessarily reflect those of my employer

Do Great Things with Your Data!

Assign Color to Non-Existing Values in Tableau

The Issue:

I recently ran into the issue of not being able to color a dimensional value because my data did not yet contain that specific value. What I learned through trial and error is that I needed to change the calculated field I was using to force an expected value so I could color it appropriately.

I then had to change my calculated field back to what it was originally and hope that Tableau would remember the color. It would be nice if Tableau had a native built in interface to allow users to assign colors to expected values (regardless if the values are currently in the data), but this feature is not available in Tableau (looking at you very talented developers at Tableau).

Watch the Solution:

I created a calculated field with expected outcomes of “Bad”, “Normal” and “Great” based upon numerical profit data. The profit data I had did not support the “Great” value. Thus I had to doctor my calculated field to force the value and then color it. I didn’t know if Tableau would remember my color selection if I changed the calculated field and then changed it back, but it did.

The Forums:

Don’t worry, you are not the only one looking for a solution to this issue. Here are some Tableau forum links that basically ask the same questions.

Hopefully this post helped you in your search to color those non-existing values. For many of us, not all potential values are available in our data sources, and we many not have access to the underlying source data. Having a nice UI means to assign expected values in advance would be extremely useful.

The Dashboard:

I certainly love to develop new dashboards to test out functionality. I built this one to test out a few Ryan Sleeper dashboard tips. Make sure to download the dashboard .twbx file from from my Tableau Public profile (Anthony B Smoak) for free!

Please like and subscribe on the Anthony B. Smoak YouTube channel.

All views and opinions are solely my own and do not necessarily reflect those of my employer

Do Great Things with Your Data!

Amazing Tableau Dashboard for Inspiration

I worked hard to create a Tableau dashboard packed with multiple features that any beginner or intermediate user should know how to complete. Use this dashboard as an inspiration regarding techniques to learn for your next Tableau dashboard.

Here are a few of the features included in this dashboard:

  • Parameters
  • Dynamic Titles
  • KPIs
  • Filters
  • Context Filters
  • Top 5 by Dimension
  • Highlight Actions
  • Filter Actions
  • Ranking
  • Show/Hide Containers
  • Image Buttons
  • Parameter Driven Chart Swap
  • Maps
  • Shape Files
  • Reset All Filters
  • Combo Chart / Dual Axis Chart (Bar in Bar)
  • Quick Table Calculations
  • Bullet Chart
  • Animations
  • Containerized Dashboard Layout

Because I love to teach in my relatively spare time, I am considering offering 1 on 1 training to learn how to put together this sample dashboard. As I mention in the video, leave a comment with your thoughts on how much of an investment you think someone would make for 3 hours of 1 on 1 training to build this together. Someone would definitely impress their manager or future hiring manager if they had the knowledge to build this type of front end reporting.

Let’s learn together, contact me here for more information:

Interact with dashboard here ►

Please like and subscribe on the Anthony B. Smoak YouTube channel.

Definitely pick up some merch if you’ve enjoyed this blog and YouTube channel over the years:

All views and opinions are solely my own and do not necessarily reflect those of my employer

Do Great Things with Your Data!

Anthony B. Smoak, CBIP

Tableau Dashboard Project #VIZNESSFIRST

In this video I kickstart the #VizznessFirst​ initiative where I describe a Tableau Dashboard I constructed using multiple resources from the Tableau #datafam​ community. Invest your valuable time in watching the videos as it will be worth the investment if you’re looking to pick up some new skills.

I describe the dashboard, show you the resources and then you attempt to build it. This is a perfect intermediate/advanced dashboard idea starter for students looking to improve their Tableau skills.


Let’s start with a little background on how this initiative came together. I am a big fan of the Real World Fake Data (i.e., RWFD) project run by Mark Bradbourne at Tableau. I wanted to finally get involved and put together a dashboard and hopefully learn something new.

Because the particular data set used (Week 5: Help Desk) had very few measures to sum or aggregate; this left counting rows as the most informative means to squeeze some meaning from the data.

I stumbled upon an excellent blog post from Tableau Zen Master Lindsay Betzendahl where she explained a technique to highlight when a “filter” has been activated with a small indicator. I reversed engineered her dashboard to try and tease out how to pull this off with the RWFD data set.

In addition to this technique, I mashed up some other techniques from various members of the Tableau community. One of the great things that I enjoy about the Tableau community is that there are many creators who put out great content for others to learn from; whether it be videos, blog posts, PowerPoint slides, etc.

Once I had a dashboard I was proud of sharing. I figured I would release it as a series to try and teach others some of these techniques. The 3 videos in this series is the culmination of that effort.

VIDEO 1: Overview of the Project and Resources Required

Here are the references I used to put together the dashboard.


Make sure to watch Video 2 above because this is where I explain the main technique required to complete the dashboard.


Video three rounds out the series by demonstrating a cool trick that enables you to build a filter button that opens a detailed table dashboard populated with only the records of interest from the first page. Yes, it uses a filter action but there is twist. Make sure to check it out.



If you enjoyed this tip, please like and subscribe on the Anthony B. Smoak YouTube channel.

Definitely pick up some merch if you’ve enjoyed this blog and YouTube channel over the years:

All views and opinions are solely my own and do not necessarily reflect those of my employer

Do Great Things with Your Data!

Anthony B. Smoak, CBIP

Show and Hide Containers in Tableau

In this video I’ll show you how to show and hide containers in Tableau at the push of a button. This makes for a convenient way to increase space for your dashboard while hiding your filters or switching to an additional hidden chart until needed.

If you’re not using at least Tableau 2019.2.0, then you need to run over to your I.T. department and have them set you up. In previous versions of Tableau you could achieve this effect, but you would have to implement a hacky methodology in order to pull it off. Although I love a good hack, we should all strive to work smarter not harder.

The key to pulling off the show/hide container is to add a floating horizontal or floating vertical container to your dashboard. Only once you’ve taken this step can you see the option to “Add Show/Hide Button”.

Once you’ve selected this option, any new sheets, filters or other objects you wish to place in your container are enabled to appear or disappear at the press of a button.

An “X” marks the spot as this default customizable icon will appear. You can replace this image with text or use your own customizable image in its place.

As a reminder, (from the Tableau Knowledge Base) these options “will not be available if the sheet is not on a horizontal or vertical container and that container is not floating.”

In lieu of the default show/hide icons, in the video we will use buttons from a template provided by Kevin Flerlage. Do yourself a favor and head on over to the Flerlage Twins blog and download this handy resource.

Make sure to give your filters and charts the “Personal Space” they need! Rick and Morty aficionados know exactly what I’m talking about.

For the Power BI curious, here is how a similar process is conducted, where the filters (ahem) slicers are hidden at the touch of a button.

If you enjoyed this tip, please like and subscribe on the Anthony B. Smoak YouTube channel.

All views and opinions are solely my own and do not necessarily reflect those of my employer

Do Great Things with Your Data!

Anthony B. Smoak, CBIP

In all seriousness, the world lost an icon of baseball and civil rights as of the recording of this video; Mr. Hank Aaron. I live in Atlanta so I have to pay my respects with a shout out to Hammering Hank. Rest in Peace #44.

Drill from Region to State Using Parameter Actions in Tableau

When the data goes high, you can go low; to misquote a common saying. In this video I’ll show you how to start at a region level on your Tableau map and then drill into the State.

If you’re using the Tableau Superstore data set, make sure the Region and State fields are assigned to a geographic role. Most likely you will need to change the Region to a geographic role, which is created from the State field.

At a high level we’ll have a dual axis based upon the latitude, with the top latitude displaying the regions and the bottom latitude displaying the state. When we layer them on top of each other, we begin to create the illusion of the drill.

We’ll use a parameter creatively named [Region Parameter] which contains all of the regions. From there we’ll create a calculated field named [_States to show] as follows:

If [Region]=[Region Parameter]
Then [State]

In order to institute the drill, we’ll create a worksheet parameter action that will change the value of the region parameter on user selection. This causes the clause (If [Region]=[Region Parameter]) to evaluate to TRUE which then causes the display to show the states for the selected region.

It sounds more complicated than it is, so just make sure to watch the video for understanding and clarity.

As a bonus, I’ll show you how to achieve this effect where the selected region does not cause the other regions to gray out. Notice on the second map how all the non selected regions do not lose emphasis; this is not the default effect. It’s the little “show-off” details like this that can up your Tableau game. You’re welcome!

You can thank me by watching, liking and subscribing:

All views and opinions are solely my own and do NOT necessarily reflect those of my employer.

Do Great Things with Your Data

Anthony B. Smoak

How to Filter your Tableau Viz in Tooltip (Top 10 Values)

Visualizations in tooltips, affectionately know as “Viz in tooltip” is a handy feature available in Tableau that enables “details on demand” functionality. As the user hovers over a specific mark or data point, additional details are revealed that are filtered specifically for that mark from another worksheet.

In the example above, as the user hovers over a bar, they obtain additional details about the three most profitable products associated with the respective bar.

As I learned in a very informative Tableau presentation for tooltip wonks (myself included), the underlying architecture is built upon action commands and shares many commonalities with action filters. For viz in tooltip performance considerations, use smaller and fewer visualizations. Also try to avoid maps and other complex visualizations that have significant mark density.

If your tooltip responsiveness is greater than 2 seconds or the height and or width is greater than 600 pixels, then consider rethinking your approach. According to Tableau best practice, users are not willing to wait more than 2 seconds hovering over a mark for a reveal.

Since the viz in tool tip passes filters between worksheets, this means we can make use of context filters (click this link for a fantastic overview) to limit the number of marks returned and help improve performance.

This is the Section You are Here for

Context filters also help solve the problem of returning the Top N records associated with a mark. When you assign a viz in tooltip on your source sheet, a set filter is applied on the target (i.e., viz in tooltip) worksheet. If you’re a frequent watcher of my videos you know that the Tableau order of operations prevents the default set filter from returning a proper Top N.

By adding the set filter to the context on the Order of Operations skyscraper, the data is pre-filtered by your dimension first (e.g., State) and then the Top N filter is applied. When the set filter turns gray, you know it’s working.

Notice that the Context Filter box is above the Sets entry; which means that the Context filter is evaluated BEFORE the set. Make sure to watch the video to learn how to limit to the Top 10 cities based upon a hovered state.

Check out the video for details and may all your viz in tooltips be context appropriate!

All views and opinions are solely my own and do NOT necessarily reflect those of my employer.

Do Great Things With Your Data

-Anthony B. Smoak

Create Tableau KPIs Quick and Easy (Profit vs Budget)

In this video you will learn a quick and easy approach to putting together KPIs that illustrate how profits perform in relation to a budget (i.e., targets vs actuals). Of course the KPIs will be interactive thanks to help from parameters.

Now the dashboard that I built around the KPIs will definitely form the basis of additional videos. There are several techniques here (filtering viz in tooltips, show/hide container, bar in bar chart, reset all filters button, etc.) that form the basis of a good intermediate level dashboard.

Inspiration comes in many forms. I have to give a shoutout to Keith Dykstra for offering his original dashboard for reverse engineering. The idea for the KPIs and bar in bar chart are inspired by Keith. I added additional elements such as the reset all filters button, filtering by states via treemap, parameters in lieu of hover over images.

Shoutout to the Kevin Flerlage for his great PowerPoint button workbook. I modified the on/off toggle button based upon a template from Kevin’s workbook.

Finally, I was watching an Oregon vs UCLA football game one Saturday and was impressed by Oregon’s latest uniform combination. I had to throw that grey and green combination together for use on the dashboard. Inspiration can come from many places! Here’s a little Oregon football and my “Saturday Night Lab” tweet.

Make sure you watch this video to learn and hopefully get inspired yourself!

If you’re interested in KPIs you can check out these other videos:

All views and opinions are solely my own and do NOT necessarily reflect those of my employer.