Blending Secondary Data into Primary Without Linking Data In Primary

Tableau is a Swiss army knife for data visualization, with a bunch of component tools – the view types, calculated fields, table calculations, custom SQL, mapping, performance optimization, etc. As I’ve been learning Tableau I’ve been mastering new bits. Lately I’ve been exploring Tableau’s Show Missing Values feature, otherwise known as “date padding” or sometimes “domain padding”, and made an interesting discovery.

Here’s a not uncommon problem with blending on the Tableau forums: there’s data in the primary data source, and linking fields in the secondary, but some values in the secondary that don’t exist in the primary. For example, there might be extra dates recorded in the secondary data. Historically, the only ways I’ve known around this have been to pad out the primary by reworking the data source or using Custom SQL in Tableau. I got curious as to whether Show Missing Values would pad the data sufficiently to do a blend, and yes, it does:

 

At first glance, this is extremely cool, and takes Tableau version 8’s new feature of not even needing the linking field to a new level – with date padding, you don’t even need linking values to blend!

However, this is getting deep into the territory of undocumented behavior: For example, if you take the text table from above and use Show Me to turn it into a line chart, the blend goes away:

What happened here (among other things) is that Show Me turned Show Missing Values off. We can turn Show Missing Values back on, but in this case that doesn’t bring the padding back unless we add a table calculation to the view that has the Compute Using on Date. There is a logic here to how Tableau works that I don’t completely understand yet, I’m filling up workbooks with test cases, asking questions of and trading ideas with Joe Mako (who gave me some awesome feedback on this post), and looking forward to sharing what I find and learning from others. If you’re diving into domain padding yourself, let’s talk!

 

12 thoughts on “Blending Secondary Data into Primary Without Linking Data In Primary

  1. Toby

    I’m getting a dark grey background with medium grey text…not pleasant to try to read to at all. Is this how you have it set up?

    Reply
    1. Jonathan Drummey Post author

      Thanks for noticing this, I’ll have to get into the CSS. Though I’d rather be writing table calcs!

      Reply
  2. Toby

    Okay, weird. After the reply the background turned white – which is good – but the browser automatically went into Compatibility mode. Hrm. So just a heads-up for IE 8.0 users.

    Reply
  3. James Wright

    Good thought and fun trick Jonathan! The differences between discrete and continuous are interesting, and I wonder if they’ll be consistent in V8. (Edit) – I answered my own question, it does work in V8. The interesting thing to note here is that the technique (not surprisingly) only blends in dates less than the maximum value in the Primary dataset, since those are the only ones that get filled in with the ‘show missing values’.

    Reply
  4. Pingback: Creating a Dynamic “Parameter” with a Tableau Data Blend | Drawing with Numbers

  5. Pingback: Tableau Data Blending, Sparse Data, Multiple Levels of Granularity, and Improvements in Version 8 | Drawing with Numbers

  6. Pingback: An Introduction to Data Blending – Part 4 (Data Blending Design Principles) | Michael Sandberg's Data Visualization Blog

  7. Pingback: An Introduction to Data Blending – Part 4 (Data Blending Design Principles) | Michael Sandberg's MicroStrategy Tips & Tricks Blog

  8. Charles Wiese

    This is great stuff. I am trying to blend to datasources, a order header and an order line item…however it seems I can not use the dimensions from the Order Line datasource. It that right??

    Reply
    1. Jonathan Drummey Post author

      Hi Charles,

      Tableau data blends cannot make the granularity of the view any finer than what’s in the primary data source. So, presuming the order header is some sort of roll-up of the order line items, then the order line item would be the primary and the order header source would be the secondary. Does that make sense?

      Reply
  9. Suguna

    How to accross Global filtesr does not parameters it have only checkboxes then apply global filters on multiple data sources

    Reply

Please add your thoughts and perspectives