"Above all, show the data." - Edward Tufte People Are Smart.   Deliver Value Early And Often.   All BI is local.  

TWIS — The Tableau Workbook Inventory System

What's in your Workbooks?

Once Tableau has been in use for a while, this question always comes up: "What's in there?"

Even for the person who has authored them, the contents of a bunch of Workbooks tends to become hazy and confused. What was clear and obvious in the heated rush of data illumination becomes a bit cloudy when the pot has gone off the boil.

This is partly due to the extreme ease with which Tableau allows one to explore and investigate their data. Worksheets and Workbooks get created, and seem almost to breed among themselves. After a while it becomes difficult or impossible to remember what's where in the Workbooks.

There's no end to the meaningful questions one can ask. Some of them are:

What data am I analyzing?

  • Where is the data coming from?
    Oracle, SQL Server, Teradata, CSV files, Excel files, ...
  • What databases (and tables) are being reported on?
  • What fields are being reported?
  • What fields are not being reported?

How am I analyzing it?

  • Where are the data being reported, and how?
  • Are my calculations consistent?
    • Is Profit calculated the same everywhere?

What Workbooks do I have?

  • What Dashboards?
  • Which Worksheets are in which Dashboards?
  • Which Worksheets are not in any Dashboard?
  • Do I have any orphaned Worksheets?
    If so, where are they?
  • Where and how are Parameters being used?
  • Where and how are Actions being used?

And so on and so forth and such like...

Just like all BI, there is no limit to the question horizon.

Why TWIS

One of the first challenges when faced with an existing body of work is to wrap one's head around it, gain an understanding of it from as many perspectives as possible.

TWIS was created to help me address the questions I had to answer about the Workbooks I was encountering and creating when helping my clients. It's the result of my investigations into understanding these Workbooks.

The challenge in creating TWIS was to distill Tableau Workbooks into a data form that Tableau Workbooks can digest.

Since Tableau is the pre-eminent tool for analyzing data, it seemed natural to use it to help me understand what I was dealing with when coming face to face with Tableau Workbooks out in the wild.

Tableau Workbooks contain lots of parts, but they are at heart data structures. Workbooks contains Worksheets and Dashboards. Dashboards normally contain Worksheets. Worksheets contain fields, which may be data or calculations.

Tableau's Workbook internal data structures are multidimensional, multipath, recursive, and cross-referenced. They're interesting.

What TWIS does

How it works.

TWIS operates upon a set of TWBs located in a single directory; this approach was chosen to avoid the inevitable name conflicts that occur if multiple sources are accessed.

 

Each of the identified Workbooks (and there are ways to specify which ones) is analyzed in turn; the essential characteristics are distilled and extracted.

What it produces.

TWIS is designed to deliver immediate value as well as provide a platform for extended self-exploration. To this end it exports the raw data it discovers in addition to creating some manufactured artifacts, i.e.

Data

Links go to simple Tableau Public Workbooks loaded with the data.

  • Worksheets.csv
    Every Worksheet in every Workbook.
  • Dashboards.csv
    Every Dashboard in every Workbook, and the Worksheets in every Dashboard.
  • WorksheetFields.csv
    Every field used in every Worksheet, and the details thereof.
  • DataSources.csv
    The data sources identified in the Workbooks.
  • Parameters.csv
    The parameters identified in the Workbooks.
  • TableauWorkbooksInventory.csv
    from TWIS 1.0, the original data set, before multiple data sources per Worksheet.

Workbooks

Links go to the Workbooks published on Tableau Public.

A number of Workbooks have been created to present the views of the subject Workbooks that are the most helpful and revealing. These include:

  • Workbooks and Worksheets.twb
    Identifies all of the Worksheets, including orphans.
  • Worksheets and Dashboards.twb
    Identifies all of the Worksheets, Dashboards, and the relationships between them.
  • TableauWorkbooksInventory.twb
    The original, Swiss Army knife Workbook, provides the most comprehensive set of Workbooks.

Maps

Maps are really handy for identifying the conceptual/spatial relationships between the Workbooks' major elements. TWIS generates each of the maps in these formats: PNG, PDF, SVG. The SVG maps in particular permit easy customization (I use Inkscape).

The maps show these Workbook elements:

TWIS Workbook Map Header

The relationships between data sources and the Tableau Workbooks is difficult to determine by walking through them in Tableau. Experience shows that the effort usually ends up creating a map that shows what data sources are being used, and where, in which Workbooks. Handcrafting these is fun. Avoiding the handcrafting, and ensuring accuracy, was the motivation behind building these maps into TWIS.

This is the TWIS-generated map of the Tableau Variety.twb Sample Workbook click on it to see it in high resolution PDF TWIS Map of Tableau v6 Variety.twb Sample Workbook

The full story of Tableau Workbook Maps is here including maps of Workbooks from:

 

About TWIS

Conventional wisdom holds that Tableau is ideally suited for publishing high quality Dashboards. This is an unarguable truth, but it's an incomplete truth. Even more than its exemplary publishing abilities, Tableau is an unparalleled, fantastic tool for establishing intimate analytics—conducting data analysis experiments, achieving novel insights, and discovering hidden truths.

During the course of working with Tableau Workbooks, those I've created and those created by others, there inevitably comes the time when the number of Dashboards, Worksheets, Data Sources, and Workbooks grows so large and their contents and interactions become so complex that it's easy to lose track of what's where and what connects to what.

As a Tableau consultant, one of the imperatives when working in an unfamiliar environment is gaining an understanding of it, including the contents of existing Tableau Workbooks. Getting up to speed on the data being accessed, and how it's being presented, is essential.

I created TWIS to parse Tableau Workbooks and tease out of them the critical information necessary for understanding and ultimately managing them. From its simple beginnings as an ad hoc set of grep, awk, and sed scripts, with a little added special sauce, it's grown into a fully formed Workbook mining application, delving deeper, resolving more complex and complicated Workbook relationships, and pulling out more information.

As TWIS grew the ability to map the Workbooks emerged as a natural outgrowth. I started out hand-drawing maps tracing the relationships between Dashboards, Worksheets, and Data Sources. It became clear that these relationships could be modeled and mapped with the data TWIS was obtaining from its Workbook inventorying, after which it was simply the nest step to find a way to meaningfully interpret this data and then render it as graphs, or in layman's language, maps.

As it turns out, the TWIS-generated Workbook maps have proven to be far more useful than originally thought. There's a great deal of information contained in even a relatively small map, and the ease of cognition and depth of understanding of the identity and relationships between the Workbook elements that TWIS maps support is always impressive and sometimes astonishing.

For more information about TWIS, see here.

 

How to get TWIS

TWIS is free for evaluation, educational, and noncommercial purposes.
This means that you can't make money with it, including selling it or its products and outputs, or from using it in a for-profit activity, unless you license it appropriately.

The evaulation version of TWIS is available here.

Inquiries about TWIS can addressed to Chris Gerrard, email me here. (subject: TWIS inquiry).

TWIS' audience is experienced Tableau users familiar and comfortable with Tableau and its organizational scheme.

The relationships between the elements of Tableau Workbooks can seem unintuitive, e.g. a Workbook can have many data sources, some of which may not be used anywhere; Dashboards may contain many Worksheets, or none; a Worksheet may appear in many Dashboards, or none; parameters are global to the Workbook, and may be used across all the data sources.

It's very helpful to understand many of the technical characteristics of Tableau's data schemes, including: the distinction between rows and columns; the use of filters, global and local; the variety of aggregations available via the menus and in field calculations.

In its current form, TWIS is a command-line application. The effort has been put into deciphering Tableau's Workbook internals and creating reliable, accurate data from them. Putting a nice front end on it is in the works, and is waiting its turn.

TWIS is written in Java and employs the GraphViz open source library for generating its maps. Because of this, it requires that Java be present in order to run. The GraphViz libraries are required for map creation, but not for generating the Workbook data.

TWIS is beta software. It is continually being extended, upgraded, and fixed as time permits.
No warranty is expressed, and no guarantees offered.