Categories
How-To Tableau Tips

Quick Tip: The MAKEDATE Function in Tableau Desktop

It’s time for another Quick Tip in Tableau Desktop!

Have you ever had a pesky data set in Tableau that has Year, Quarter, Month, Day, Minutes as separate fields? This structure can be useful for certain analyses, but a pain-in-the-butt for other analyses that just need a single regular date field.

Have no fear! There is a simple fix for this.

It’s called the MAKEDATE function and it helps you make a date out of the fields you have.

Build the new date by inserting your year, month, and day fields.

It’s as simple as this: MAKEDATE(year, month, day). That’s it. Now you have a continuous date field that behaves how you would want your date data to behave.

A Final Note

Tableau can actually “MAKE” a bunch of useful calculated fields that enable tons of analyses. I like to call these the MAKE-it-happen family… mostly because I can’t think of a better name (suggestions are very welcome). They include:

  • MAKEDATE
  • MAKEDATETIME
  • MAKELINE
  • MAKEPOINT
  • MAKETIME

They’re transformative both literally and figuratively by enabling developers to convert data directly in Tableau. Things like MAKEPOINT and MAKELINE had to be done outside of Tableau back in the “good ole days”. But fortunately, it turns out that we’re in the good ole days right now and they keep getting better! Queue a great The Office quote…

Pssst, I’m letting you know you’re in the good ole days of Tableau right now. Enjoy it!

Thanks for reading!

Categories
How-To Tableau Tips

Quick Tip: Hide the Null indicator in Tableau Desktop when you don’t want to filter the data

Sometimes Tableau’s UI can be misleading. If you’ve had the NULL values indicator pop up in the bottom-right corner of one of your worksheets, then this is one of those misleading times.

A simple click on the indicator would suggest there are two options to handle NULLs. The first would be to filter the data. The second option is to show data at the default position.

Clicking on the Null indicator will pop up this option box

This window is standard for non-geographic worksheets. Geographic worksheets will instead show this window:

https://help.tableau.com/current/pro/desktop/en-us/datafields_specialvalues.htm

But there are actually other options available outside of these!

The Quick Tip

Let’s say you want to leave everything as-is, but don’t want to have that ugly NULL bubble in the bottom right corner of your worksheet view. The way you can do that is LITERALLY THE EASIEST THING EVER. Yet I didn’t learn this until a couple years until my Tableau journey. Ok, now don’t be mad when I tell you this…

Right click the indicator and select Hide.

Yup. That’s it. Here’s a gif of me doing it:

Seriously, it’s that easy.

Be aware that Tableau will choose the specific behavior of hiding the indicator. This means that for something like line charts, it could hide the indicator and keep the line connected. But if you wanted to control that behavior and break the line instead while hiding the indicator, you can use the method described below.

Another NULL Formatting Tip

There’s an additional method to handling NULL values in Tableau. This involves changing the formatting of the specific field.

  1. Right click any field, and select Format.
  2. Click on the Pane tab of the Format window.
  3. At the very bottom you’ll have a Special Values section for Text and Marks. Here you can enter an alias for the text values or select from one of four dropdown options for the Marks.
Right-click on any field you want to modify Special Values for.

That’s it. Hope this tip helps! Please send me an email (dan@mywebsiteURL) if this post helps or if there are other topics you’d like covered!

Categories
Meta Tableau

The hardest part about making dashboards for Tableau Public

Tableau Public is great. It’s a free option for data visualization developers to publish their Tableau work for the world to see. No matter if you’re a fresh, new developer or a seasoned expert.

Publishing to Tableau Public is great because it does a few things:

  • Let’s you work on you Tableau skills at home without spending $$$ on licenses
  • Gives you a community to participate in
  • Is a great way to help share and learn best practices and tips & tricks
  • Helps build a portfolio for potential employers or customers

I publish to Tableau Public every so often. Oftentimes I’ll share my works to LinkedIn and/or Reddit to get feedback and hopefully give new insights to viewers across the world. Doing this has often reminded me of a very important fact.

Feedback is a critical part of development.

This doesn’t just apply to Tableau Public. It applies to nearly all work. You need your alone time to brainstorm, develop, tinker, and fail. But you also need some sort of collaboration and feedback in order to make the best version of your product.

That’s why the lack of feedback while developing for Tableau Public can make development difficult. In an ideal development world, you get a few rounds of feedback. Without these iterations of feedback, development can be like a brutal empathy exercise. Trying to figure out what the opinions and thoughts of the end users without actually ever talking to them! Let’s break this down.

Challenges of feedback

  1. Knowing how often and when to get feedback.
  2. Finding experienced, truthful and knowledgable people to provide feedback.
  3. Understanding which recommendations to ignore and which ones to take action on. Experience helps with this one, but so does finding a great person for point 2 above.

Some ideas on how to establish a feedback loop for Tableau Public projects

Getting some sort of feedback loop can bring your dashboards to the next level. A great part of Tableau Public is that you can always open a dashboard you’ve published, edit it, and republish with the changes. I do this all the time when I want to make changes or test how something renders on different devices (**cough** **cough** fonts). So how can we establish a feedback loop so we can take advantage of this editing capability?

  • Get your spouse/roommate/friend/coworker to review your dashboard. Find out what they found hard to understand, if it was easy to use, and what they liked/didn’t like about the visual aspect. In person is great, at lunch is great, over video chat is great, any time and place it great! Just make sure your dashboard is configured for mobile if you’re doing it on the go.
  • Have regular chats with a mentor. If that mentor has Tableau experience, that’s awesome. But they don’t have to! A thoughtful mentor can give valuable insights regardless of their background. If you’re looking for a mentor, reach out to me. If you’re looking to mentor someone, also reach out to me (we all need mentors)!
  • Post your work publicly and ask for critique. This one you have to be careful with! Random internet strangers can be hit or miss. Some will type out “criticisms” without much thought or understanding. These should be ignored. But smaller communities and communities of respected colleagues, feedback can be invaluable. Think of places like LinkedIn, Meetups, small Facebook groups, etc.

Here’s my ideal feedback cycle (when to get feedback)

The first round of feedback is before you even start. It’s talking and asking questions with your target audience in order to nail down the KPIs, metrics, or business questions you want to answer with your work.

The second round is ideally after you’ve completed several mockups/potential solutions. Your target audience tells you what they like, what isn’t clear enough or useful, and you can gauge whether the audience is actually seeking what they’re asking for. (or really something tangentially related instead).

The third round would be after building the narrowed-down solution from the second round of feedback. In short, this is a post-beta version feedback round.

In the final round, this is where the least amount of changes would be requested and honored. At this point things should be pretty close to the desired outcome. Small changes might be done, but nothing drastic. If drastic changes are requested, then this is truly a new project and should be treated as one. That’s when you start back at round 1!


That’s it, thanks for reading!

Categories
Dashboards Data Tableau

Fails to Deliver and GameStop – A Look Inside

Note: Like what you see? I’m available for contract work! Reach out to me (407-906-6902) if you have an analytics project you’re looking to complete!

Click here to jump straight to the dashboard

You probably haven’t heard anything about GameStop in the past few years. Nope, nothing. Just a defunct retail chain where you used to be able to trade in your used video games for $3 a pop.

Sarcasm aside, the world was taken by storm a few weeks ago when GameStop stock went on a rally. With an exceptionally meteoric rise paired with high short interest, panic ensued for short sellers and smaller brokerages. This led to a rise in failures to deliver. In the most basic definition, this is one of the parties in a transaction did not deliver cash or the asset before the settlement date of the transaction.

Check out Investopedia’s definition below, and definitely read the page if you want to learn more about failures to deliver.

Whenever a trade is made, both parties in the transaction are contractually obligated to transfer either cash or assets before the settlement date. Subsequently, if the transaction is not settled, one side of the transaction has failed to deliver. Failure to deliver can also occur if there is a technical problem in the settlement process carried out by the respective clearing house.

https://www.investopedia.com/terms/f/failuretodeliver.asp

The SEC publishes data on failures to deliver twice every month. At the time of this posting, they had data released up to January 15th, 2021 (update: on Feb 16th I updated this with the SEC data up to January 29th, 2021). This unfortunately doesn’t capture the most extreme part of the GameStop stock price explosion, but captures other volatile periods in the stock’s history. I’ll update the visualization when the data becomes available.

In this dashboard, I wanted to see the correlation between price increases and fails to deliver. Also I was interested in seeing what the comparison was between the average of all stocks reported fails to deliver versus GameStop. Check out the visualization below to see what I came up with. It’s interactive and best viewed on desktop (but has a mobile configuration as well).

The Dashboard

p.s. if you know what stonks are then you know it’s not a misspelling. If not, don’t worry about it and enjoy the ride 🚀🚀🚀

One last note is that this project was a great way for me to practice my Python skills. SEC.gov provided the files in two week chunks, each as a zip file. I made a quick Python script to download all of the data for the last year, unzip the folders, append all of the text files to each other, and output a nice csv to use in Tableau. Python is a semi-frequent skill for me so it’s always nice to have a quick touch-up project like this.

If you’re looking to learn Python, a project like this is a simple way to learn a real world use. Don’t be afraid to jump into projects like this. Break it down into tiny steps and complete one at a time.

Thanks for reading. Any questions or comments? Feel free to reach out to me via email on my contact page.

Categories
Tableau Tips

My Top 5 Quick Tips for Speeding Up Development in Tableau Desktop

Making the leap from beginner to intermediate, and intermediate to expert in any skill requires attention to small details. This includes paying attention to nuances in the way the skill is conducted. Tableau development is no different. What are some ways that a Tableau developer can hop into the next echelon of skill? I’ve compiled five of my favorite quick tips to speed up your workflow and take development to the next level.

1. Using a template workbook for common formulas, dashboard layouts, etc.

Unfortunately (or fortunately), you’ll be doing a lot of the same type of stuff while building different workbooks in Tableau. Certain things are done in many dashboards, things like:

  • Certain calculations
    • Year-Over-Year
    • Year-To-Date
    • Month-To-Date
    • Percent difference
    • INDEX( )
  • Certain views
    • BAN (Big Ass Numbers)
    • Highlight tables
    • Customized maps
  • Dashboard layouts

There are a couple methods you can use with template workbooks to be more efficient. First, you can swap out the data source and replace fields with your desired data source fields in order to use the template workbook exactly as it is. Secondly, you can copy and past specific calculated fields, parameters, sheets, dashboards, and more from the template workbook into the target workbook.

This methodology really comes in handy when building more complex visualizations. Things like radial bar charts, Sankey diagrams, waterfall charts, etc. These can be time-consuming builds that aren’t frequently created, meaning it’s difficult to get efficient at building them.

2. Using the control key (or command key for Mac) to duplicate things and select multiple objects instead of the context menu

Did you know Tableau let’s you duplicate and select pretty much anything using the control/command key?

  • Press and hold it while clicking and dragging a pill in order to duplicate it.
  • Press and hold it while clicking and dragging a pill onto one of the marks cards (color, size, etc.) in order to duplicate it as a different mark attribute.
  • Press and hold it while clicking and dragging a worksheet to duplicate it.
  • Press and hold it while clicking and dragging a dimension in the data pane to the measure area in order to create a count of that dimension field.
  • Hold control/command while clicking on worksheets, fields, or pills to make bulk actions

3. Utilize context menus instead of the menu bar

You might be tempted to create and edit calculated fields, format specific fields or elements, and do other things using the menu bar. It’s more efficient though to use context menus in their localized areas.

For example, right click on a field in the data pane and then click “Calculated Field in the “Create” menu in order to have the context field inputted into the calculated field formula window. A parameter would be similar in function. Basically a contextually created parameter would be automatically configured with that field’s relevant values as the list of values for the parameter.

4. Drag and drop things instead of using context menus

This tip is usually targeted at beginners. To remove pills from the view, there is no need to right-click each pill and then click remove. Instead just click and drag the pill out of the view to remove it. Use control/command to select multiple elements (or shift to select multiple sequential elements) and drag them off the view to remove them.

On a similar note, you can drag and drop fields onto specific parts of the view (columns, rows, marks, filters, pages, etc.) in order to get the desired visualization. Double clicking a field to add it to the view and then moving the field around can be much less efficient.

5. Copy and Paste Formatting

Make a change to one of your bar chart views? Need those changes in all of your other bar chart views in the workbook? Don’t event think about repeating the formatting manually!

Tableau offers a great functionality to copy and paste formatting, just like in Excel. Simply right click the target worksheets.


That’s it, thanks for reading!

Categories
Dashboards Everything Else Tableau

2020 Presidential Election: Florida early and mail-in voting participation

Election day is closing in! Let’s take a look at one of the swing states current voting stats: Florida. Florida releases early voting and mail-in voting statistics on their Division of Elections site. I used that data to build a visualization of current trends.

I’d recommend using the visualization below by opening the 2016 Presidential election results (Trump vs. Clinton) and comparing the county results versus the voter participation so far for each party. Voters aren’t guaranteed to vote strictly along party lines, and small deviations from parties can have a big impact in small margin states like Florida. That being said, it can be telling to compare the current votes for each county by party to the results in 2016.

This next part is using numbers from October 30th. For example, Miami-Dade in 2016 had 623,006 votes for Clinton and 333,666 votes for Trump. Currently Democrats have 352k votes and Republicans have 269k votes in 2020. 225k unaffiliated voters have cast a ballot as well. This could mean several things (if we irresponsibly assume people 100% vote along party lines):

  • Republicans have already voted around 81% of their vote total from 2016.
  • Democrats have already voted around 57% of their vote total from 2016. Democrats have about 200k more registered voters in Miami-Dade, but if their participation doesn’t increase significantly, this could indicate an overall negative change in demographic voting for the party across the state.
  • If Republicans keep voting at this rate and the county gets around 75% voter participation, Trump will significantly outpace his 2016 total for Miami-Dade. In 2016 Clinton won Miami-Dade county by a margin of 29 points, but decreased Democratic turnout could narrow that margin significantly.
  • It still all comes down to the voters with no party affiliation. These voters make up 26% of registered voters in Florida, and nearly 33% of voters in Miami-Dade county.

With that in mind, take a look at my viz below! Make sure to hover and click to see additional information.


Interested in getting more posts like this? Subscribe below (I never share my email list with any 3rd parties).

Processing…
Success! You're on the list.
Categories
How-To Tableau Tips

Quick Tip: Filtering and Searching in Tableau’s Data Pane

Did you know that Tableau Desktop has the option to filter the data pane by field types on top of just their names? With the introduction of data models in Tableau Desktop, I see a lot of users frustrated with the seemingly crowded data pane. Before the data model, you used to have dimensions and measures in separate sections in the data pane, but now everything is grouped by tables of your data source. The good news is that Tableau actually still has an intuitive way to quickly see the fields you need.

As of 2020.3 you can filter your searches by 4 different queries:

C: filters for calculated fields
M: filters for measures
D: filters for dimensions
F: filters by comments

By typing C: or any of the other options at the beginning of your search, you’ll filter all of the fields based on that category. After the type filter, just put the field name you’re looking for to filter further.

There are technically two ways to filter your searches. You can manually type in the values above, or you can use the filter button located to the right of the search bar. Take a look at the GIF below to see.

Here we manually select the filter type using the button to the right.

That’s all there is to it! Tableau has some great documentation on further things you can do in the data pane as well, take a look: https://help.tableau.com/current/pro/desktop/en-us/datafields_dwfeatures.htm

This has been a quick tip that will hopefully make your Tableau Desktop development workflow a little easier. Make sure to check out the other quick tip articles to level up your development!


If you found this post helpful, subscribe below! I’ll be releasing some tutorial videos soon, and my subscribers will be the first to see them!

Processing…
Success! You're on the list.
Categories
Meta Tableau

Some awesome new features announced at Tableau Conference-ish 2020

This post will be relatively short. There were a few announcements at Tableau Conference-ish over the first couple days that are a huge deal for Tableau Desktop developers. These new feature announcements are certainly not exhaustive but are in my opinion, the highest impact.

Big map changes

Unlimited map layers

This means you aren’t limited to a single analysis that depends on size and/or color of map marks. This really opens up the number of options developers have in creating impactful and insightful maps.

This new feature might raise the question; how can you have multiple layers and a good user experience due to Tableau’s standard interactivity on worksheet?

You can now disable selections on maps

No more inadvertent highlighting and unwanted interactivity. Turn off selections in maps in order to provide a better user experience. This will greatly improve mobile UX due to the tapping and scrolling nature of mobile devices. This will avoid some common frustrations associated with the maps UX.

Reorder layers

With multiple layers, you’ll want to be able to control which one appears on the top. Tableau will be providing an easy way to drag and reorder map layers so that the desired layer order can be achieved.

Not map related, but probably the biggest news for beginner and intermediate developers: Tableau Desktop will write your LoDs

You read that right! If you’ve had trouble building level of detail calculations, Tableau is going to help out with that. You’ll be able to select dimensions and measures by holding control, right click, and click on “Create Level of Detail Calculation”. For more complex LOD calculations, this won’t be too big of a deal. But for people struggling to build these calculations, this functionality might bridge the gap between knowing about LODs and understanding LODs.


Enjoy the article? Subscribe to get notifications of new posts and visualizations.

Processing…
Success! You're on the list.
Categories
Tableau Tips

Quick Tip: Create and use custom color palettes in Tableau

Looking to speed up your dashboard development and add a personal touch to your dashboards? I’ve got a quick and easy tip for you. Make your own custom color palettes! Tableau Desktop allows you to modify the preferences file (found under My Tableau Repository and named Preferences.tps). You can open this file and modify its code to set up your own color palettes. Check out Tableau’s great documentation on how to set up these palettes here: https://help.tableau.com/current/pro/desktop/en-us/formatting_create_custom_colors.htm

You can set up categorical, sequential, and diverging palettes to fit any type of dimension or measure you’re looking to add a specific color to.

This will take forever to set up a custom palette, how can I do this faster?

I’m glad you asked! If you have your color palette defined, skip this section. Otherwise, check out two awesome tools that help you generate Tableau tps files with custom palettes. These generators can take images, have predefined palettes, or allow you to build the palette one by one. Just keep in mind, there is a limit of 20 colors on a palette as of 2020.3.

All you’ve gotta do is download the generated tps file, replace your existing one in your “My Tableau Repository” (just make sure you don’t have any existing customizations in there).

Bonus tip: Set the default palette to dimensions or measures in the data pane.

For both dimensions and measures, you can set the default colors for each field so you don’t have to reconfigure it on each worksheet. By right-clicking on the field, you can go to the default properties and select “Color”. Check out the short GIF I created below to see that process.

How to set the default color property for a field

That’s it, hope you enjoyed the post!


I hope this makes your development a little more efficient and enjoyable. If you enjoy the content, subscribe below to get notifications of new blog posts. I might do a giveaway soon, who knows…

Processing…
Success! You're on the list.
Categories
How-To Tableau

Fixing Empty Spaces in Tableau’s Layout Containers: Part Two

You might’ve come across my previous post about fixing empty layout containers in Tableau. That post was about fixing a specific bug when everything else is configured correctly. This post is about a few common configuration issues that are usually the issue (before encountering the bug I’ve previously discussed). Go through these bullet points to make sure they’re configured correctly before trying other solutions.

The Problem

You have a horizontal or vertical layout container. But the elements don’t automatically size correctly. Either a gap is left at the end of the container, worksheets don’t swap like they’re supposed to, or the worksheets don’t fill up the container.

The Solutions

1. Make sure the elements aren’t set to Fixed Width or Fixed Height

By activating the objects inside the container, you can see if the width or height is fixed. The little push-pin will be filled in white if width or height is fixed, or have no fill if it’s a dynamic width or height.

Click on the push-pin to fix or unfix the width or height. You can use the dropdown menu below the push-pin icon to toggle this feature as well.

Something to keep in mind: You might not see the Fix Width or Fix Height option depending on your dashboard layout, and settings for the container. If you have “Distribute Contents Evenly” checked, these won’t show up. If your container is nested in other Tiled containers or multiple other containers, they might not show up either.

2. Activate each sheet in the container and set the sizing to Entire View, Fit Width (if a horizontal container), or Fit Height (if a vertical container)

Make sure each worksheet object is set to fit to the appropriate dynamic option. There are two places you can do this on the dashboard.

In the dropdown menu of the worksheet object:

The object’s menu has tons of useful configurations

Or in the bar at the top of the window:

This dropdown will work too

The following points are relevant if you’re doing a sheet swap

3. Hide all the titles of the worksheets

Right click all of the sheet titles in the container and hide them. If you need them to be there, create a text box with dynamic text based on which sheet is visible.

4. Make sure there is a discrete field on either your rows or columns for the sheets involved in the swap

Go back to the individual worksheets that are in your container. Make sure they have a discrete pill on rows or columns. This should be a static field with a single value and should be set as discrete. I use a static field with the value MIN(0) set as discrete. Then right click the field and deselect “Show Headers”. This will make the field disappear from the view.

Right click the pill and deselect “Show Header”

Processing…
Success! You're on the list.

If none of these options work for you, feel free to check out the older post that goes through the bug fix. And if that doesn’t work, reach out to me and I’d be happy to help you troubleshoot!


Did you find this content useful? Join the email list to get notifications of new posts.

Processing…
Success! You're on the list.