Improving Tableau Server Meta Data Collection with Colibri Tableau Dashboards

Improving Tableau Server Meta Data Collection with Colibri Tableau Dashboards

Our free Tableau Dashboards Colibri gives every person around the world a chance to see a new way of building Tableau dashboards. Using Colibri you are able to begin seeing how you could create your data product to be more successful.

A foundation of meta data tracking is important to understanding the user journey in a given Tableau Dashboard. Colibri is built how enterprise companies have asked us to generate data products with Tableau desktop.

We hope in this article you will learn to create more successful data products and how to generate more meta data while developing Tableau data products.

Tableau Dashboard development and end user usage dictates meta data creation or lack thereof.

How you use Tableau desktop has a lot to do with how much meta data you can collect and often Tableau data products suffer because lack of understanding of what Tableau server or Tableau online tracks.

When you’re in a Tableau Training, they never mention the importance of meta data creation, rather they show you features that consolidate user experiences. These features often generate more work and lower the amount of traffic you could be building down an A or B path.

If product managers or directors overseeing the build of a Tableau data product have little to no experience seeing a Tableau dashboard in Production or post development, your data product may be suffering. Similar to Tableau developers with no experience building websites for clients and increasing the conversion from one page to the next are not going to be as good as a web developer who understands they want to track the usage of these dashboards so that they can understand the conversion.

The end game of a Tableau data product completed means your team now has access to meta data for further discovery.

Meta data usage, planning, and coming up with a strategy should be discussed prior to the creation of the data product.

If your team has no experience using Tableau beyond building charts and fun dashboards, there’s a good chance you will not know about what data is being tracked from an end user perspective because they have never been in a project where this is relevant.

Knowing about meta data captured gives you bonus points when building dashboards in Tableau. When creating data products for large audiences you will want to be sure to capture as much data as humanely possible.


If you don’t know what data is tracked, you don’t know what data is not tracked.

If you’ve never generated a dashboard using this data, you’ve never made a decision on tableau usage.

If you’ve never made a decision about user experiences in a flow of a dashboard, it’s hard to be responsible for creating a dashboard that helps you capture the unknown.

Not understanding this information or fundamentals of Tableau will limit your dashboards possibilities.

Three examples; 1) opportunities to optimize the user experience, 2) improving the most used user experience, and 3) the opportunity to architect a product that works without manual intervention.

Not knowing what meta data is being tracked about end users will lead to a good data product suffering unnecessarily.

Once you understand what Tableau is tracking and not tracking your dashboards will start to look very different. We have found that clients will stop consolidating dashboards once they understand that consolidation isn’t always the best use case for every visualization or dashboard.

Is your Tableau data product suffering?

We found teams will face these six problems while creating Tableau data products.

  1. We are seeking to improve our tableau dashboards, but the Tableau dashboards are all crafted in a way that makes this difficult to comprehend.
  2. We look at the Tableau Server user meta data but ultimately we only know if people are viewing a dashboard or not viewing a dashboard.
  3. We enjoy using our dashboards for data discovery but we do not know what the users care about.
  4. We think our end users like our data product but we do not know unless we ask questions or they point out a mistake/bug.
  5. We created a data product but the only time we hear from our end user is when it breaks.
  6. We need to support and remediate but we know it will take a long time.

If everything is consolidated, how do you improve?

One quick way to generating a healthy data product is considering the user data. Once you get into that meta data it will teach you more about what to build in the future.

If your team consolidated everything into one view, how does your team know what’s being used most? What if ten of the options on the dashboard are never used but generate a lot of work for the team to support?

Interviewing end users and your Tableau developers is important to creating great data products, however what if there’s hundreds of thousands of end users, and ten thousand of them are Tableau developers? Using Tableau meta data is important and views on each dashboard offers instant access into what’s being used most.

User experience tip; By tracking what user “learn more” you can study their user journey. Learning more or “navigation drilling” offers a window into understanding what’s important to your end users.

A navigation button in Tableau and moving the end users from one dashboard to another will teach you what users care about.

Use navigation buttons to learn more about measure values, dimensions, and ultimately discover the questions they are asking from the data.

Then it’s up to your team to capitalize on that knowledge to make that data or knowledge easier to access.

navigation object in tableau dashboard

Features in Tableau Dashboards used Incorrectly.

If Tableau dashboarding features are used incorrectly, everything will be more difficult to support or easier. The future of support will depend how you use the features and your ability to build content that is easy to reuse; copy and paste.

Over using features in Tableau is a negative and there’s a large hurdle to jump each time you need to edit or make a simple fix.

Now, the simple fix, is not a simple fix. The simple fix requires everyone to fix the feature you implemented everywhere..

Understand the user experience.

Take this website for example, how do we know people are making it to the bottom of the page without a feature that allows them to jump to another page and then tracking that page?

In web tech things are different, in Tableau server you’re fixed to their platform tracking system.

Unless you embed the Tableau environment, however this will start to get technical very fast.

If you’re trying to implement technology that isn’t native, like implementing heatmaps, then we would know if users make it to the bottom of the page. However this feature slows down the speed of the entire website and may not fit for your Tableau Server environment.

Report consolidation and migration.

We know there’s a lot of demand for consolidating reporting and migrating to different SaaS products. We found once that ‘phase’ of business intelligence ends, companies start to see the reason consolidation is a negative or positive.

Consolidating dashboards using features is a big selling point because Tableau trainers choose to show these features in training and a lot of Tableau developers choose to build dashboards with features to help consolidated, however this is not a good usage of developer time if you’re unable to uncover meta data from the usage of the data products.

Consolidating user experiences in Tableau when building a data product limits your ability to understand what a user is using the most and forces interactions with end users beyond your data product.

This dashboard can work for profit, sales, and everything that can aggregate can be a fun dashboard to build, and insightful for many, however what if people are only using the profit pie chart of the dashboard? Building a user experience to uncover these questions from the end user will help you improve your tableau product development beyond report consolidation and migration phases.

A solution, using Colibri Tableau Dashboards

Our founder Tyler crafted Colibri after 10 years of building Tableau data products. Tyler, founder of dev3lop, worked at Tableau Software as a Full time employee before leaving to create Dev3lop.

In Tyler’s words;

I added what I feel is an important aspect to generating meta data that will help you understand what is important to your end users who use the product, and it will tell you what data structures are being accessed the most. Drilling into a chart, better screenshots of the chart, and drilling into the data of a chart is the KEY of the entire solution. This amount of navigation gives you a huge foundation of clicks completed. Colibri can be your “template” and it doesn’t need to be tailored to Google analytics.

I passionately believe Colibri Tableau Dashboards enables any team the ability to quickly to create smarter paths for end users VS questioning the Tableau environment and making gut decisions.

Flexibility in your tableau dashboards is great for making a flexible solutions but when used incorrectly we are unable to find a user friendly tracking capability surrounding the solution. Colibri allows better user level tracking, and goes above and beyond, to ensure you understand what the end users are using the most.

The google analytics tableau dashboard crafted is built to avoid consolidating user experience into feature rich dashboards and also manages to use many of these same functionalities in a sensitive manner to ensure anyone seeking to generate these features are not needing to build the tools from scratch.

This tableau dashboard gives you a chance to optimize your end user journey VS looking at one single dashboard viewership view in Tableaus meta data views.

With colibri, you won’t be left thinking “everyone comes to this tableau dashboard, but what are they using?” The dashboards offer the ability to remediate not knowing what people are using by offering deep user experiences.

I found using Colibri Tableau dashboards is a good starting point or foundation, which will help any team offer a single user experience, which can easily be added to anyone’s environment.

Simple rule, “just because you can build it doesn’t mean you should.”

DEV3LOPCOM, LLC does not sell data products, we build them.

Our team uniquely specializes in advanced analytics consulting, custom software development, and Tableau consulting services. Our free data product Colibri Google Analytics Tableau Dashboards offers a great window into several major pain points we see when creating Tableau Dashboard Data Products with our clients.

New Colibri Google Analytics Tableau Dashboard is Now Available from Dev3lop

New Colibri Google Analytics Tableau Dashboard is Now Available from Dev3lop

The Software, Which is an End to End Solution for Everybody to Use, is Available at No Cost

Dev3lop, a tableau consulting services company, is pleased to announce the launch of their new Colibri Google Analytics Tableau Dashboard.

To learn more about the Google Analytics Tableau Dashboard and how it works, please visit

As a company spokesperson noted, the new tableau dashboard that helps users visualize Google analytics was invented out of necessity.

“When the team at Dev3lop first started blogging on,, and other websites, everybody quickly realized that their data was disappearing and that they were not tracking it collectively,” the spokesperson noted, adding that this inspired Dev3lop to begin building out a process to bring all of their data into one dashboard.

“Also, because the free reporting tools that are available are a bit limiting in terms of helping people understand their traffic collectively, the new tableau dashboard was created to allow people to see everything at once, without having to swap tabs.”

The new analytics tableau dashboard is a free download that is readily accessible to anyone who would like to use it. The Colibri end to end solution will allow people to research their end user website patterns, which in turn will help them to better understand the major search engine’s analytics properties.

The measure values used in the Colibri Google Analytics Tableau Dashboards includes the time, in seconds, that a user spent on a particular page, as well as unique page views, which is the number of sessions during which the specified page was viewed at least once. The total duration of user’s sessions, total number of sessions, and time on screen are also measured thanks to Colibri, along with other values.

Dev3lop is excited about the recent launch of the Colibri analytics tableau dashboard-which is Spanish for “hummingbird.”

“Just as the hummingbird is essential for plant reproduction and genetic diversity in the plants they help pollinate, as we improve the tableau dashboard, we will continue to release new and alternative versions to help people improve the diversity of their reporting ecosystem,” the spokesperson noted.

About Dev3lop: is a grassroots tech startup based out of Austin, Texas. They offer tailored consulting solutions to their customers across an array of services, with a major focus on data analytics and tableau consulting service engagements. They have also launched a new task scheduler software called Canopys. For more information, please visit

8416 Selway Dr.
Austin, TX 78736

Media Contact:

Tyler Garrett

SOURCE: Dev3lop

Solution: The ability to connect to Google Sheets greater than 10 MB is currently not built into the product.

Solution: The ability to connect to Google Sheets greater than 10 MB is currently not built into the product.

When building a data source on Google Sheets in Tableau Desktop 10mb is the max per Google Sheet. However, what if we could connect to more than one Google Sheet at the same time?

Intro video found here.

Google Sheets works wonders with Tableau Public because it allows for Tableau Public to read data from Google Sheets once per day. This enables everyone the capability to use an online cloud data source to update their Tableau Desktop dashboards.

  1. Introduction.
  2. Error explained & screenshot of error.
  3. Technical explanation.
  4. A workbook example and setup.
  5. How to use Tableau Union Wildcard feature.
  6. Helpful related resources and documentation.

Introduction; In this blog, we will discuss connecting to multiple Google Sheets in one connection and an alternative solution to the purposed workaround found in this knowledge based article provided by Tableau. If “large sheets removed” is not sufficient, and you’re willing to break apart your sheets into multiple sheets, we hope you find this article helpful.

Error explained, If you begin connecting to a Google Sheet in Tableau Desktop >10mb, you will see various popups, depending on your operating system, explaining an error has occurred with Google Sheets.

Unable to complete action
The Google Sheets service reported an unrecognized error when processing this request.
This file is too large to be exported.

An error occurred while communicating with Google Sheets, <10mb Google sheets error message in Tableau desktop.

A good question to start asking, “will my data split into other sheets easily?”

In the example below we are going to speak towards an 80mb Google Sheet that will not work in Tableau.

Will my 80mb big Google Sheet split in eight little Google Sheets?

Tech Workaround explained; The Tableau Desktop Wildcard (automatic) feature will capture Google Workbooks (contains google sheets) and google sheets in a workbook(s). It will “automate” building connections to multiple 10mb workbooks or sheets, by establishing a stack of data that will resemble your end goals. Similar to using Union All in SQL.

Stone working analogy; If you’re unfamiliar with union in SQL, think of your data stacking on each other like bricks on a brick wall. Data engineers and brick wall experts have similar jobs. They are solving a problem by stacking side by side or on top of each other.

We will focus on a “workbooks” example, where we will stack bricks of data on each other.

Using a matching pattern(xxx*), we are able to union similar named data storage.

Example; there are four regions in our data, each region is <10mbs, about 80mb total.

Four regions:

  • SOUTH 10mb
  • NORTH 10mb
  • EAST 10 mb
  • WEST 50 mb*

Adding west 50 mb* to generate a specific usecase.

Step 0; union means the sheets need the same column headers. Thanks for learning about unions!

Step 1; build 8 googlesheets… (new workbooks, not new sheets, this works with sheets however I’m using workbooks for now)

Step2; name each google sheet workbook “Table-Demo_EXAMPLE” etc… and you will have the following.

  • Table-Demo_SOUTH
  • Table-Demo_NORTH
  • Table-Demo_EAST
  • Table-Demo_WEST_1
  • Table-Demo_WEST_2
  • Table-Demo_WEST_3
  • Table-Demo_WEST_4
  • Table123-Demo_WEST_5


Protip; Table123-Demo_WEST_5 will not be included in this exercise because it’s not named Table-Demo_. Wildcard allows you the ability to filter to the things you need. If you name your Google Sheets “Table-Demo_” our wildcard solution automates connection to that google sheet, there’s no need to connect to the extra google sheet if you’re setting up the solution as explained.

Now that we have an understanding of how a wildcard will work, let’s discuss the end to end.

How to setup >10mb union to increase size of google sheets insights in tableau desktop.

Connect to the googlesheet. Tableau desktop made this workflow a one click button on left side of opening screen. Requiring two clicks in total.


Walk through the Google authentication, choose which email with many similar tables for wildcard. This means you need to go and change the names of the Tables you wish to put together.

Data Structure tips; Here’s a good time to start making sure column headers are the same. If not it will continue to make a column, which will lead you down the path of learning how to solve for dynamic parameters due to string values being many to many.

Convert to union…

This workaround allows you to connect once, VS connecting to all the different google sheet workbooks. This allows you to remove many data sources and transition into one data source.

Using Tableau union feature, you’re able to connect to more than one <10mb google sheets.

Tableau offers a feature to union more than one google sheet together, which enables users to quickly build large cloud data storages on Tableau public, or internally.

Example; Tables-Demo_* will find anything with Tables-Demo_ as the start of the sheet name.


Helpful related resources and documentation.

Below are documents, notes, and community posts from other Tableau authors.

The 10mb limit with Google Sheets is ambiguous when testing the number with true CSV file sizes and better to determine a way of “stopping” the data before it gets big.

We found 7mb, 10.3mb, 12.9mb, and 19.1mb CSV files coming from single Google Sheet connections and no popup error stopping Tableau Desktop from connecting to the data.

Screenshot demonstrating various CSV files downloaded from Google Sheets – Tested Oct 28, 2021

This is the size of the csv when downloaded via the Google Sheets/Data/

Thank you for reading.

Researched & Written by, Tyler Garrett founder of dev3lop.

The Min(1) Paradigm for KPI Charts in Tableau

The Min(1) Paradigm for KPI Charts in Tableau

Today’s blog is about the min(1) paradigm for KPI charting in Tableau desktop, and how to make advanced KPI charts without needing slow table calculations to do the computations for you. Rather we will show you how to utilize tableau features to generate a better KPI solution.

The blog will teach you how to;

  1. effectively design advanced KPI charts
  2. without developing slow tableau workbooks
  3. and without table calculations

When I first learned this, it was called a “trick.” But the more I use it, the more I realize it’s a native feature and should be utilized because it isn’t complicated.

Maximizing Data Processing Speeds through Relational Theory and Normalization

At times developers think they need to generate many visualizations to move forward and float them in a specific way to generate a dashboard, however as data sizes increases enterprises are finding these dashboards to be inefficient.

Making a lot of visualizations to generate at KPI chart is not the right answer because it will slow down your Tableau Workbook! Instead, we have discovered decreasing the amount of visualization is the best path to optimization and easier cycles of support or additional features. The lack of visualizations means you’re able to do more within the same workspace and keep track of less due to it being all consolidated into 1 chart. 

A lot of charts means making a lot of data extract requests, a lot of live data requests, a lot of file data requests, a lot of tool tips, a lot of filters,… Filters do a lot of performance degradation, also known as damaging the user experience due to generating technology inefficiently.

If you have ever been in a position where end users need a faster dashboard and the KPI dashboard is moving slow, then you have found a great wiki on building kpi charts in Tableau.

Learning how to make optimized Tableau KPI Dashboards is a path to building an operationalized Tableau solution you can utilize with any data source in the future, when you’re done building this one time, you’re able to easily copy and paste this Tableau win into more workbooks.

This is a screenshot of many KPI charts, on 1 visualization, pause here to see how this is possible.

What is the minimum value of 1? (min(1))

What is the minimum value of 1? What is X when computing min(1)=x?


Finding the minimum of 1 isn’t rocket science, however we need to ensure we understand this logic to take advantage of the functionality in the product. Also, did you know min(1) is faster than max(1) or attr(1).

Finding 1 is important. You can “fix” a value behind the scenes to a static value, this keeps the axis from moving, giving you a conditional background to edit with the color marks card and the text marks card is now available to build conditional text or colors on text or text images.

The Art of Storytelling through Data Visualization

Number Of Records or the value of 1 in a calculation will handle the generation of your kpi chart.

By the end of the Tableau min1 kpi charts article…

  1. you will know how to make a KPI charts without having to make multiple visualizations per user request
  2. you will know how to keep it simple and easy to support
  3. you will understand what we are doing, why it works, and how to build it
  4. you will have code to copy and paste and screenshots to follow along

Developing a good understanding of how to keep Tableau simple, will eliminate the unnecessary bloat and server strain. By removing unoptimized development, you’re removing a wait time per interaction on your development. Most environments will not be happy with less than split second or second response times, therefor it’s intuitive to understand how to improve the speeds of your workbooks without having to rearchitect the data.

“I recommend as data grows, you begin adding relational theory to your data pipeline, ask your data engineers to work through the atomic pieces of your data, bring the data to a 1nf, 2nf, or 3nf state until the data moves faster or vastly decreases in data sizes. It’s not unusual to aggregate second data into monthly data if your end users only need monthly data.”

Tyler Garret, Founder of Dev3lopcom, llc

Keep it simple when crafting your tableau dashboards, the more simple the development the easier it will be to maintain solutions in the future.

The entire solution is generated to help save time. Also to save time; Try to use the auto type feature in Tableau, try to avoid making a new calculation when you do not need to create a new calculation. If you’re unfamiliar with the new feature that allows you to start typing calculations in a viz adhoc, I will explain how that works below.

Exploring Four Important Python Libraries for Enhanced Development in 2023

Using Min(1) offers an easy way to learn the product, However you need to learn the product!

If you’re new, or experienced making it simple, Tableau will work incredibly fast. However it’s easy to build slow workbooks and it’s often why clients hire Dev3lopcom, LLC for tableau services.

Learning the min(1) solution from end to end will change the way you solve problems. It will teach you Tableau desktop too.

“I gravitated to the min(1) solution because it offers a simple playing field for edits, support isn’t a nightmare, and it’s easy to conditionally color. Mostly, I enjoy that my complexities turn into calculations, the calculations I can either duplicate or copy paste back into the workbook, understanding the difference between these two or whether they nest into each other based on these single click is a large difference when generating calculations that need to be connected or not connected. Before getting too far in this tutorial, I recommend you understand the differences between duplicating the calculations and copying the calculations, and also understand the product has two spaces this becomes a negative development path or positive development path. The two places are calculations and dashboards/visualizations. Test the right click copy and duplicate as you evolve because it will define your speeds in the product for a long time.”

Tyler Garrett, Founder of Dev3lopcom, llc

Begin building your first min1 kpi bar chart

Thanks for taking the time to start this min1 kpi bar chart tutorial. If you have any questions or get lost in the tutorial, please contact us or leave a comment. Happy to help.

To begin, start your tableau product!

Open a new visualization, and begin building a min(1) bar chart.

a simple bar chart, min1 generates an axis length of 1

Okay, min(1), always 1. Build it.

Start typing min(1) – hit ENTER!

min(1) on sheet2

Not sure how I’m typing in this area? Double click in the rows or columns, or below your marks card. First double click, then you will see an input appear. If you want to harden these and not have them become “viz only static calcs” then you can drag and drop them into the workbook. I like this method because it’s all up front, it names the calculations the name of the code, and it makes life rather fast compared to not understanding this functionality and always building calculations, which leads to always needing to find those calculations, open those calculations, and edit those calculations. Also, when you need to delete the calculation it takes longer because you have to find it in the workbook, and it’s not sitting in the rows bucket because you made a calculation. Based on this paragraph, you should have a better understanding of options and even the best path for you, it’s dependent on what’s fast for you.

In short, lets walk through these features.

Pro TIP: Tableau desktop offers a quick and easy user experience when adding content to the visualization or SHEET.

In a couple places, you can double click and type. Rows, Columns, and here… on the bottom of the marks card.

marks card is free to double click below the squares. then you move it to the mark square of your preference.

Once you have your min(1), let’s play with the axis, and there’s a few quick things to learn here.

Exploring Four Popular Visualization Products for Data Analysis in 2023

Making a KPI Chart in Tableau using Min(1)

You have your min(1) bar established.

Make 3, hold ctrl+mouse1 drag and drop to duplicate min1 across columns 3 times. Command+mouse1 click drag and drop for MacOs.

Open up the axis on each and change the Fixed end to 1. Zero to One will be the end goal.

Click okay, and you will have your simple min(1) mark covering the entire pane.

Complete the next two similarly. You’re changing the value of the axis so that you can build a background on your KPI. This background is now easy to conditionally color. If you do a dual axis and make it a shape, now you have a background that can be conditionally colored, and a shape that can be conditionally colored or changed. Welcome to a world of “smart kpi building” and the removal of all the strange multi chart dashboards created due to not knowing these solutions.

Once completed, let’s add profit, sales, and a count of customers on the last KPI Chart.

Drag profit on your first min(1), sales on your second min(1), and generate a calculated field for the final customer name count. I want to see the distinct count of customer names, to understand the count of customers doing X.

Once you have these measure values on your KPI charts, you should start to see everything forming, and you can see we have some formatting ahead of us now.

Of course profit is the far left, and sales is the middle, but by the time you open this solution again, you will not understand what we are offering the end users. As a part of offering this solution to the end users, we need to make it sensible.

Making the KPI Chart sensible.

Often times, KPI charts come with an explanation, so don’t forget to explain what the number or chart means.

Also pretend your end users are not super technical and can’t read minds.

Do your best to help people make quick decisions, let’s fill in the blanks with sensible labels!

You can click on any of the three, to open the correct mark card.

The next steps are rather self explanatory, fill in the rest of the labels, make the font be subtly bigger, or bold kpi chart will work for some people.

Think SMART in these steps. Don’t spend 5 hours making a KPI chart look a certain way. Don’t spend 10 hours making tooltips look cool. Ask end users for feedback before wasting time.

Open the ALL marks card, change the color to white.

If you’re not playing with the font formatting, you will have the text color automatically update to black. Which helps the obvious white on white from previous screenshots. Tableau is smart this way if you’re keeping it simple. If you clicked around a lot, reset all the formatting, or start a new sheet. Clicking ahead is cool, ctrl+z is infinite.

The Basics of Natural Language Processing (NLP)

Cleaning up your KPI charts

Cleaning up the KPI chart is all about “simple clicks” not “hard clicks.”

Hiding headers may hide a label, so let’s discuss.

Hiding headers may help remove the axis, but it may remove the title of your axis too. Play with Tableau!

Some charts work great with the axis as the label, other times it’s more complex, feel free to play with different labeling methods.

I prefer labeling in the text pad editor, per marks card because it offers an endless amount of options. I enjoy formatting each marks card globally with the sheet formatting tools OR twiddle around with the mark level edits. Depends on what the end goals, which I enjoy designing on paper or whiteboard before I begin. Drawing pictures and steps is my method of visually seeing the algorithm.

by tyler garrett

Hide headers with a right click on the axis, and uncheck show header.

Center the text on the “all marks” card because it will update across all marks cards! Work smart not hard!

With text aligning in the middle, our KPI chart is starting to form.

These are personal preference changes, let your end users decide.

The key of utilizing the min(1) is the ability to augment Tableau to a kind of style that fits your formatting needs. KPI charts have lots of variations, this particular one gives you full flexibility to a text editor, which gives your as much flexibility as you can write a calculation. The text can be conditionally colored based on logic, and so can the box or min(1) bar in the background.

I prefer the min(1) bar VS a “square mark” sized large because a min(1) bar is predictable and fixable within editing the axis. As you need two marks colored in 1 mark card space, you can use a dual axis or conditionally color the text.

Right click what you want to format.

Right click what you want to format, is what I ask people to repeat when I teach them Tableau desktop, “right click what you want to format.”

Today, we right click the chart. Because… “we right click what we want to format in Tableau!”

We drive to the “lines” because those are pesky and someone in a meeting will likely ask you to remove the boarders!

Boarders, dividers, tomatos, potatoes, try and HIDE these and see if it’s the right path. It’s easy to get frustrated finding the right edit, I’m not saying I haven’t gone mad and turned everything off, only to find the bar chart had boarders turned on.

Sometimes digging around these formatting menus is easier than telling someone the exact right buttons to hit because no one will memorize all of these clicks. You will get better as you use Tableau more, keep clicking!

Open these, click none. Yay!

Notice, we almost have it complete. We are still showing the zero line. Boo!

Removing the zero line, seems like it gets most of it

Instead of wasting your time, be sure to double check a few more things… zero line, axis ruler, maybe your min(1) has a boarder around the bar?

Axis ticks, zero lines, and grid lines..

Tired of clicking yet?!

Luckily at the end, you’re developing your way into a tool that allows anyone to filter this sheet, and give them blimp view aggregates! Might as well never build this again, you can swap out measures easily or build a 3 by 3 with a simple duplication of your sheet.

omg, kpi charts without boarders.

You now have 3 aggregated measures and a bar to conditionally color + tooltips.

Okay, we have simple KPI charts down. Let’s jump to looking at more advanced functionality and how to do it with copy paste calculations!

Dynamic kpi charting in Tableau, building an on/off flag using dates and parameters.

Duplicate your sheet and let’s begin our Dynamic KPI charting in Tableau! If you don’t already know, we are using the super store sample set of data that comes default with every installation of Tableau.

It’s easy to build these dynamic charts or KPI charts, if you understand the min(1) steps we explained above, and excited about making on/off flags.

Also, if you’re learning, be willing to start thinking outside of the bucket! Read about our date bucket or period over period date solution in our other blog. Because we will use that code to deep dive here and make our KPI chart more flexible and user friendly.

We steal the code from our date buckets to generate 3 different buckets of data.

DATETRUNC('month', [Order Date])>
datediff('month',{MAX([Order Date])},today()))
, TODAY())
then "Current Period" //make this 0
DATETRUNC('month', [Order Date])>
datediff('month',{MAX([Order Date])},today()))
, TODAY())
then "Previous Period" //make this a 1
else "Filter" //make this a 2
//[Order date] = date
//[x] = parameter

With this new code implemented, you will only need 1 parameter to begin seeing period over period data.

Build a parameter.

  1. call it x
  2. data type integer
  3. current value 1
  4. OKAY

Drag and drop your new period over period calculation on the visualization. Exclude Filter.

After you exclude filter, you’re left with two distinct periods of time. Which is now set by your parameter.

Show parameter control by right clicking the parameter.

show the parameter on the sheet.

The parameter is an input into your period over period algorithm. Which takes the number of parameters inputted as months.

When you add more numbers to the input, you’re increasing the months. Because we don’t love static solutions, let’s optimize the date bucket solution too!

Let’s dive back into the period over period calculation and make it better for end users. Start with generating another parameter!

Show parameter and open your calculation.

Update “month” with your new parameter d, which stands for date part.

Notice we change the notes on the bottom of the calculation, leaving comments at the bottom or top is a great way to tell other tableau consultants what you did.

We can further simplify our life by removing the “logical looking text values” and cut it back to only an integer! Rename your calc to a single letter to simplify your future development.

At this point, your calculation is rather efficient and utilizing many parameters. When you save calc or hit OKAY, the settings on the filter will change, check out the popup that follows.

We expect an error because the previous filter on “p o p” calculation or period over period calc – was only filtering on a condition. This condition is no longer possible.

The previous condition was excluding the “Filter bucket” from our period over period solution.

filter 2.

Filter 2! And we are now showing 0, as current, and 1 as previous.

This will save a lot of time when generating calculations like;

(if p=0 then (profit) else 0 end) –
(if p=1 then (profit) else 0 end)

VS calculations like…

(if [p o p]=”Current period” then [profit] else 0 end) –
(if [p o p]=”Previous period” then [profit] else 0 end)

And understanding how slow Tableau works with “strings” is a key to making this calculation fast too.

Rename your sheet, call it “KPI-1” and let’s begin discussing how we can use this pop calculation to show dynamic coloring.

Finding the difference or change without Table Calculations

Table calculations are powerful for ad-hoc analytics, but often times can be out smarted with basic logic or SQL. Out smarting the need to use Table calculations means your workbook will be faster. Everything below shows you how to generate the difference or change variation for color variations, including an in-depth look at how to develop the solution yourself.

Having two sets of numbers and two sets of dates generates a difference or change in the data. A trend because we have an archive of data, archive data is like saying “past data, or historical.”

Whether you’re hunting for a percentage difference or a subtraction difference, finding these are relatively easy with dates.

Next steps:

Write two quick calculations.

These calculations offer two simple drag and drop values that represent X amount of days!

Now we can quickly see how these will start to be utilized.

0 = current period

1= previous period

If current period is greater than previous period, is that a negative or a positive? What we are saying here logically is an algorithm to show a HOT or COLD coloring, aka GOOD or BAD.

Sometimes measure values are not all black and white…

It may seem obvious more money is a positive or GREEN, but realistically an up tick or down tick maybe green or red.

It’s always best to ask what end users first.

For sake of this demo/blog, let’s begin using the concept that current period profit being higher than previous period is a green, we should celebrate our successes and use green to share this win across our dashboard but without generating a Table calculation, we need to generate a difference between two values.

Check your work!

using dashboard to verify calculations work.

Final steps, make a calculation for sum([0])-sum([1]).

We need to understand what value is a positive or negative.

Do your best to follow along, feel free to use our Live Chat if you’re stuck at any point.

Build another min(1) chart!

Use the parameters and your new difference calculation to build the KPI values!

Bonus points if you generate this KPI-3!
showing an increase of 9,679…

We will simulate a user experience by dragging and dropping [Container] to see shipping container options on to the visualization.

Notice in our chart, we don’t have any colors showing Green or Red. However we have logic.

If the Profit value is less than zero dollars, the value is negative. If it’s greater than zero dollars the value is positive.

Let’s rename our calculation to save us the pain in future calculations. Rename it to “C” for change.

Now, if C>0 then positive else negative! We don’t want to pretend writing an if statement here is wise, study about boolean calculations and how they are superior to if statements when the time is right.

Generate one final calculation.

You can add this to your visualization and quickly visualize the difference between periods.

  1. Add GreenRed to your Color Marks card
  2. you’ll see it populate your visualization
  3. change the colors to green & red

Maybe you’re familiar with this kind of color, well here’s why I enjoy this kind of KPI charting! With the calculations we have, and logic developed, we can build an advanced color chart within 1 single KPI mark card, without having to do a dual axis.

Using text editor for conditional coloring using simple logic

Using text editor you are given a lot of flexibility in a user friendly space. Trying to explain dual axis to give an up/down arrow can be more confusing and complex to support for new users.

▲ up arrow

▼ down arrow

By generating two more calculations, you can offer two different things to color in your text editor.

Remove the “containers” dimension and drag it to filters. Convert to a single value list, aka radio buttons.

omg green

Radio buttons helps us simulate a typical KPI experience. Our end user has a couple filters, charts are likely below, filtering this way in the visualization gives us the ability to debug immediately.

Swap to Jumbo Box. Notice negative background. What if our end user says, “we don’t want a red background.” Or maybe the end user want’s 3 conditional coloring variables and Tableau can only do a dual axis to show two.

omg red

Remove the color GreenRed from the visualization. Drag our two new positive and negative calculations with the text arrows. Put those on the Text mark card.

notice the positive arrow is missing…

Where is the positive arrow?

The positive arrow missing can be a complex few steps to figure out, you need to find each arrow, color it, and the end user will see green or red.

That’s why I rather enjoy this method. Also, using the container filter, it gives us the ability to see both positive and negative.

This process avoids needing to figure out where the green arrow is located. For what it’s worth, if you’re not familiar with this step, I encourage you to try and build the arrows without these steps.


IF you’re experience, you may enjoy the fact that you’re not having to edit the color marks card, and you can rest assured your workbook will not break as easily as before.

Re-arrange everything according to your “design requirements.”


Okay, now you’re on the way to understanding how you can

  1. effectively design advanced KPI charts
  2. without developing slow tableau workbooks
  3. and without table calculations

Below are a few final remarks about making your min(1) kpi charts easy to maintain in the future. Not advanced, rather more for easy support.


Lots of min(1) becomes hard to support after X many…

Eventually min(1) has a max and it becomes harder to support. Once you get there, these steps will help.

I try to explain to end users,…

Hammer meet nail, hammer meet glass door, hammer meet hand.

Eventually using the same hammer over and over it feels like, “this shoe doesn’t fit.” You can’t take this one trick and make it your life, eventually you will need to swap to a visualization! With that said, here’s the future of min(1)…

lots of min(1) which is what though?

Notice the layering of “more fields”… does it ever look like this when you’re developing your KPIs?

Let’s chat about what’s happening in Tableau world.

Before we begin, let’s swap axis.


Unless you want a vertical KPI chart! Go back.

Okay, because we are using sheet level calcs, let’s discuss what happened.

When we double click on columns or rows, and type min(1), we can see we are typing a calculation, that calculation is a SHEET level only calculation. It doesn’t live anywhere else in the workbook, but it does live in the workbook. from an optimization perspective, don’t bother stressing yourself out or testing what’s best, just consider what’s easiest to support…

Moving on. Type //something on your min(1) calc…

This may not seem easy at first, but here’s what happens!

You type //TheNameYouWantToSee (hold shift, then hit enter), it drops you to a new line, and then you can type min(1)… Or you can open your typed calcs by double clicking, and start from the front of the calc.

End goal, we want our field to show up right meow.

making the new line is all it take

By adding the //comment, and a new line, you can leave a note to help you dig through your min(1)’s. A nice trick to avoid “more fields” becoming Min(1) over and over. Never fun to support min(1) over and over in heavy kpi charts!

Create a Trailing Period over Period logic in Tableau Desktop

Create a Trailing Period over Period logic in Tableau Desktop

Today, I’d like to feature Date buckets or period over period analysis in Tableau Desktop. It’s a tool that crafts XML files on a users local computer. Tableau desktop is a business intelligence tool used to help people automate insights and discover things in their data.

I’m a lazy expert and enjoy making complex requests simple, automated, easy to share, easy to support and remediate because I get bored if I’m stuck supporting the same solutions.

Many years age, there was a large group of executives, and the backlog request was “create an easier between dates.”

Executives did not want a “between dates” happens often! When creating a date filter, you may lead down the path of needing to input the amount of days, months or quarters used in each period.

This blog is about a period over period date calculation that automates finding the last two periods in the data source.

between dates filter

In Tableau this between date filter will create two calendar inputs, most executives don’t want to click anything.

They said “make it simple.” The between dates filter was complicated for these executives.

And I said, “Ok. happy to help.” A few hours of whiteboarding later we came up with the following calculation.

Below, please find my period over period automation to build self generating date buckets. It’s easy to share, wins without any hassle, and is flexible.

It only takes 3 steps to build self generating, automated, date buckets in tableau desktop.

lol, type this stuff or paste the code coming from this tutorial.

Below please find my quick win tutorial as a means of quickly winning… on any Tableauworkbook with a date and a parameter.

We will be using the SuperStore Subset of data.

Which comes with every license of Tableau Desktop. In your data, you probably have a date. Use that date and follow along with these next two steps.

To begin, you need a date, and a parameter.

Step 1, make a date variable named W.

Create a new calculated field in tableau desktop, call it W.

make a simple variable W in place of your date. your date goes in this calculated field.

Now make the parameter.

Step 2, make a parameter variable named X. It’s an integer.

This will be the number of ‘X’ per period of analysis.

make a simple variable X in place of your parameter.

Paste the calculation below in any workbook with a Date and Parameter.

Above, if you followed along, you will not need to make any major changes to the calculation.

DATETRUNC('month', [W])>
, TODAY())
then "Current Period" //make this 0
DATETRUNC('month', [W])>
, TODAY())
then "Previous Period" //make this a 1
else "Filter" //make this a 2
//[W] = date
//[X] = parameter

Drag drop this on to the view, right click filter, filter filter…

Now, only two buckets of time are available. You’re welcome!

Automated period over period analysis in Tableau

You just made automated date buckets in Tableau, and the end user can drive the visualization with the bucket generator. I prefer running this tool with days VS month, but month lets you add a nice “bucket” around dates coming in and out, and a day granularity offers a cool view to keep it simple for today.

So, it’s nice to have a quick date divider or BUCKET automation because it gives you the ability to visually show a difference between two date periods, or use the calculations for more logical flagging, subtracting from each other, finding differences without depending on the software to automate building it with window calculations.

hello & happy holidays from my family to yours. care to learn more? cool i got a bunch of extra smart stuff below this picture of my family.

Optimization to your date buckets in Tableau

You don’t need to continue. You don’t need to optimized this quick win solution for it to work and solve problems… Unless you want to know what else is possible, from an optimization perspective because you think everything can be optimized and want to know if I put in the due diligence beyond solving the problem above.

Optimization #1: remove LOD calculations

Nothing against LOD calcs, except they are slow and built to help users who don’t know SQL.

{max(W)} seeks to find the max date, you can find it easier using a subquery in your select statement. If you don’t know what that means, ask your data architect supporting your environment to add the max(date) as a column, and have it be repeated per row too. They will know what to do or you need a new data architect.

Optimization #2: stop using % difference or difference table calculations

Nothing against table calculations, except they are slow and built to help users who don’t know SQL.

Optimization #3: change strings to integers.

Nothing against strings, except they are slow and built to help users who don’t know integers are faster. Not entirely true but I don’t think you want me to explain what strings are for… Classification of data & not meant to aggregate unless you know how to chop chop chop the smart axe and want to pretend you’re going to throw sentiment analysis at me in this thought process and throw me off, but no, very diligent. That’s another blog…The Basics of Sentiment Analysis & Sentiment Automation
Let’s discuss the basics of sentiment analysis and sentiment automation because mining opinions offer instant insights…

It’s likely not your fault that you’re using strings in 2018 with if statements, it’s probably because someone taught you who also did not know how to write optimized Tableau calculations.

Optimization #4: ‘month’ date part… add a swapper.

The Datetrunc is used to round the dates to the nearest relative date part, that’s just how I explain it easily.

Date part can be a parameter.

DATEPART(date_part, date, [start_of_week])

NO I Don’t mean the Function Datepart.

DATETRUNC(date_part, date, [start_of_week])

YES I Mean Date_part, which is scattered in the calculation and easy enough to replace with a parameter full of date_parts. Now end user can play a bit more.

Optimization #5: remove max(date), add an end date parameter…

Remove {max(date)} or the subquery of max(date) explained above because you can give your end user the opportunity to change the end date. But tableau doesn’t let you update that value, which is a HUGE HUGE HUGE no no in eyes of anyone who cares about the analytics and NOT wasting time on clicking stuff. So, you can give them an end date to change the end of the bucket of time, but that is also another thing an end users now needs to start doing, where-as this follows you.

You made it this far? Still learning? Me too!!

Here’s the solution to the number one most requested product limitation @ tableau software. They call it “dynamic parameters”…

And I solved this with basic sql, so when I make jokes about you not knowing sql. Now you know it’s more directed to people who are missing out on making automated solutions which is technically only impacting their future revenue capability.

Typos by tyler garrett

A Tableau consultant.

Tableau Pricing | Three New Tableau Prices Explained!

Tableau Pricing | Three New Tableau Prices Explained!

Tableau Pricing has simplified to 3 different user purchases.

The Tableau price is broken into the users ability to access the Tableau Desktop product, exploring dashboards built by Tableau desktop users, or viewing reports.

  • Tableau Creator – Creators are anyone in your organization who connects to sources of data and crafts that data into something useful for themselves and others. In your organization today, they likely create reports and distribute them through email or a share drive. They are performing ad hoc analysis to answer deeper questions of their data. They are your data power users.
  • Tableau Explorer – Explorers are your modern business users – your mobilizing force for change. They may not have analyst in their title, but they’re comfortable with data. They’re looking to move their businesses forward and need to probe deeper into the data to find answers to their own questions. These answers are often outside the confines of pre-built reports.
  • Tableau Viewer – Viewers use data to inform and improve the decisions they make. Tableau Viewers can be anyone from team members who need data to perform many of their daily tasks, to people managers who need to see how their teams are progressing on important projects, to the CEO, who needs high-level metrics about the health of the business.

Tableau Creator gives business analysts, VPs, data architects, office admins, and rock stars the agility they need to build ad-hoc data discovery visualizations or self-service analytics.

The latest Tableau pricing w/ Tableau Creator comes with a new light weight ETL tool.

The explorer and viewer roles offer everyone the ability to see work being published online.

Opening the door to everyone asking and answering questions, without the lengthy delays of a traditional centralized BI model.

Removing the back and forth email chain of a common report/dashboard development.

Tableau Pricing is now bundled into 3 simple plans.

We recommend you work with your Tableau Software sales manager if you are looking to implement Tableau Server. You have 15 days to get your work completed, let them know about your installation, and if it will take longer than 15 days, tell them upfront.

The cost of Tableau is an annual purchase, not a month to month purchase, and they bundle in a Tableau Server user with every purchase too.

Using Tableau Creator or Tableau Desktop is a minimum cost of $909.30.

Tableau Creator Pricing $70

Every deployment requires at least one Creator.

The major difference with pricing moving to the latest versions of Tableau desktop is that you’re gaining prep & blend software with your purchase.

$70user/month | billed annually 

Discover insights with a powerful suite of products that support your end-to-end analytics workflow.

Includes: Tableau DesktopTableau Prep Builder, and one Creator license of Tableau Server.

There’s no alternatives. You can’t get desktop solo.

Tableau Explorer Pricing $35

$35user/month | billed annually
min. 5 Explorers required

Explore trusted data and answer your own questions faster with full self-service analytics.

Includes: one Explorer license of Tableau Server.

Tableau Viewer Pricing $12

$12user/month | billed annually
min. 100 Viewers required

View and interact with dashboards and visualizations in a secure, easy-to-use platform.

Includes: one Viewer license of Tableau Server.

The pricing on tableau has recently taken off into monthly licensing!

It’s important to understand the executive overview of this business intelligence product because it’s one of the most heavily used reporting tools in the industry!

working from home with my MSI gaming laptop
Tableau Desktop looks great on this MSI laptop.

The cost of Tableau in the long run…

We built our company on Tableau consulting services, and we use all other competitor products for our internal analytics because some applications offer different flexibility – different functionality – and depending on the needs and requirements… our choice varies.

The long run has to do with your “desktop users.” Tableau price will vary based on usage, best to chat about it with an expert.

We have experience with installing tableau server & building first time KPI dashboards across the following logos & many more. We know we can help you sort through your Tableau Pricing journey and happy to help you build your first visualizations too.

If you have any questions regarding the price of Tableau or if it makes sense for your environment, contact us.