My first few months with Tableau Prep: What I learned and loved

Discover the learnings and features that customer Josh Milligan loves about Tableau Prep.

Editor’s note: Today’s post comes from Joshua Milligan, Tableau Zen Master, Principal Consultant at Teknion Data Solutions, and author of the VizPainter blog. Joshua participated in the pre-release program for Tableau Prep (previously known as Project Maestro).

I started my career at Teknion Data Solutions as a software developer. After a few years, I transitioned to Business Intelligence doing data modeling and ETL work. I liked working with data, but I found much of the process of building out ETL packages to be fairly tedious and time-consuming. And testing could be a nightmare! After hours of development and more hours running a process, I might find that half the values were missing or wrong. Then, I’d have to track down the point of failure, hopefully fix it, and test again. Please don’t misunderstand; I loved helping my clients and it wasn’t a bad way to make a living. But then I discovered something that changed my world.

That something was Tableau.

Tableau was magical! Here was an application that was seamless, transparent, and intuitive. I could drag and drop fields of data and instantly see visual results. I could ask questions, get immediate answers that would raise new and deeper questions and then quickly find answers to those. And it didn’t just change my world—it allowed me to serve my clients better and drive deeper insights much more quickly.

But it didn’t entirely eliminate the need for structuring the data. Certain types of analysis require certain types of data structures. “From now on, let other team-members build those structures!” I thought. I was hooked on Tableau and visual analytics and wouldn’t do much structuring of data outside the Tableau data connection screen again. Or so I thought.

The magic of Tableau

Here’s a secret: the magic of Tableau isn’t features. I get as excited as anyone about the newest version of Tableau and the latest features. But in itself, that’s not the magic. The magic is that all the features work together in a seamless paradigm. The magic, in one word, is flow!

Flow means that I can focus on a task or question and work towards a solution or answer without breaking my train of thought. I don’t have to leave the application to complete a certain step. I don’t have to wait so long between actions that I’ve forgotten what I was doing. Instead, I get instant feedback and iterating through various options is quick and easy.

Here’s another secret: Tableau Prep has the same magic!

Discovering the Tableau Prep paradigm


I started using Tableau Prep (previously Project Maestro) in the first alpha release. At that point, the fundamental engine was in place but the interface was not very fleshed out. My experience would be different today, but with that first iteration UI, it took me a while to really grasp the paradigm of Tableau Prep. Then, after a bit of little trial and error, everything suddenly clicked!

And at that point, I fell in love with Tableau Prep as much as I had with Tableau. Just like other Tableau products, Tableau Prep is hands-on with the data. It has flow:

  • I’m connecting, cleaning, joining, and transforming the data with drag-and-drop and clicks of the mouse.
  • I can see the data transformations taking place in real time, right before my eyes! No more waiting hours to find that a join failed because of my bad assumption.
  • I can go back to previous steps and instantly see what the structure looked like at that point.
  • I can make adjustments to the data flow and iterate through various options very easily.
  • I see data issues that I would have missed before and I’m seeing them instantly. “Wow! Over half the rows have null values. I need to fix that before doing the join...”
  • I can fix the issues that I find right away and see the results of the fix.
  • I can concentrate on one task at a time. I may have an ultimate goal in mind, but I can focus on the data issue that needs to be fixed first before I move on to the next issue. And I can know that I’ve solved the issue before moving on.
  • At any point in the flow, I can output to Tableau so I can visualize it to gain deeper understanding as needed.

Taking off with Tableau Prep

After discovering Tableau Prep’s paradigm, I was excited to take some recent real-world data challenges I’d faced and tackle them with Tableau Prep.

In one such case a client had some data in SQL Server for employee airline travel. But one particular airline used a different booking system, so periodic files were dumped in a directory. Additionally, the client wanted to see one of those amazing flight path maps in Tableau—which is great! Except that I knew it would require an additional source of geocoded data and a restructuring of the data to separate origins and destinations into separate records to visualize them using the Path shelf in Tableau.

Creating the flow was, just like using Tableau, incredibly fun! In fact, I had so much fun, I thought I’d share my experience building a similar flow here:

I could bring in the data and then focus on one step at a time:

  • Union together SQL Server data with a wildcard union of flat files.
  • Cleanup mismatched data and remove irrelevant fields.
  • Lookup the traveler from a Person table.
  • Split out the route into origin and destination.
  • Pivot the data so I had a single row for each origin and destination.
  • Lookup geocoding from another data source.
  • Do some final cleanup.
  • Export the final data structure. I chose a Hyper extract, but I could have also exported to .tde, .csv, or even published to Tableau Server!

At the end I had a very useable data set in Tableau where I could analyze employee airline travel and help the client make decisions about cost savings, travel patterns, airlines, when to purchase, and even create the flight path map:

I’m excited to start using Tableau Prep in production. And while I can’t wait to see what new features come with each new release, the magic is already there!