Dashboard Drama - From Flat to Fabulous!

Anya A’Hearn & Noah Salvaterra

Link to workbook on Tableau Public.

If we consider ourselves storytellers of data, then we should always strive to make those stories more engaging. Taking a cue from movies, photography, and stage, lighting can draw attention to the most critical components of a story. Directing focus is often relegated to minor visual cues such as a dot at the end of a sparkline, or an up and down arrow colored by good vs bad.  Instead of being adornment that distracts from the story, this use of “white space”, focuses attention. We hope this lighting technique adds an enhanced user experience by conveying the drama of a KPI’s deviation from the target’s impact on your organization.

The tried and true recipe of:

  • what are your KPI’s current values?

  • where are they vs target?

  • is this a trend?

  • what is this attributable to?  

is very effective, but a bit basic.

BasicWG Dash.png

This post is the evolution of a previous post Lighting as a pre-attentive attribute in KPI dashboards.  At the time, there was no sheet transparency in Tableau, and so the initial iteration was only the KPI’s with lighting.  In the new version, freed from the dual axis limit, the lighting follows the most current value on the KPI sparkline instead of just being fixed behind the KPI and allows for a more detailed dashboard in the foreground.

TurnerLighting.png

To rehash the premise a bit, in a typical dashboard, there is no indication of how a metric’s deviation from a target has an impact on the business. Is it critical or not? All KPI’s fluctuations are not the same, and so an increase in one emergency call is more critical and has a larger impact than one call center employee being on idle for a few minutes.   From a usability standpoint, in traditional dashboards, we are asking the user to look at the KPI, its deviation from expected, and interpret the impact of that deviation based on learned or derived subject knowledge usually not present in the dashboard.  Our dashboard with lighting takes into account the level of critical impact and adds the visual cue to look here and care about it now.  Stuff is going down!!!

BWG Comparison.png

User Interaction:

  • The user sees an indicator of a good or bad value (mark color/position). The user looks at the value of KPI, how far away it is from the target, and if it is sudden or has been trending that way.

  • The user bases knowledge of KPI acceptable rates to interpolate the criticality of the current state of the KPIs.

  • The user Investigates further and takes action.

Initial Setup:

  • The user defines KPI’s, their target values, and if a KPI is above or below the target it is “good” or “bad”.

Lighting Compare.png

User Interaction:

  • The user’s eye is immediately directed to something of critical importance. There is an emergency call demanding my attention, quick react now! The Staff on calls is low as well and that could affect the ability to handle the emergency.

  • The user Investigates further and takes action.

  • In the absence of any values that are defined as critical, the dashboard would be a single color or have minimal lighting letting the user know with a simple glance that all is going okay.

Initial Setup:

  • The user defines KPI's, target values, and the impact of that KPI being at different deviations from that target. This could be linear, curved, stepped, both in the negative or positive direction. Based on one or multiple KPIs in conjunction being far away from the target.

  • Calculating where the KPI for that time slice is on the grid on the background sheet to use as the center of the lighting for each metric.

Who wouldn’t want a dashboard that tells you where to look? It’s beautiful, engaging, and is easy to scan and understand and react to what is critical. Here is how to:

Modifying the previous lighting post, we needed to change the location of the lighting to follow the end of the sparkline instead of being fixed. To do this, create a duplicate sheet of the background lighting and float it over the dashboard. Now if you hover over the chart, you can get the Min and Max X and Y values for each of the charts locations on the grid of points that will be in your background creating the lighting.

FindXY.png

The Min X and Y are added to the source file as the origin points for each of the metrics. We used Alteryx to capture the Min and Max values of our time ranges (the X-axis) to create a timespan, and the range of values for each KPI (the Y-axis). We also use the workflow to calculate the criticality metric of the KPI’s deviation from the target.

Lighting Alteryx.png

Back in Tableau, we can determine where our point is on the sparkline by interpolating the X and Y values relative to the fixed Min and Max X and Y’s as shown below:

Pixel Grid 2.png

We then determine where the point is on the grid using the slope of the line to make it the center of the lighting.

Time Span.png

The colors were selected were for the maximum drama to make a point. They were inspired by Spider-Man: Into the Spider-Verse, where the colors were simply jaw dropping the entire film.    

Spiderverse2.JPG
SpiderVerse.JPG

But this works as well for more subdued colors.   The below uses the out of the box Blue-Turquoise Tableau colors. Even this subdued version of this lighting adds the ability to draw the user to focus on the critical KPIs instead of being flat.

No lighting

No lighting

With lighting to indicate criticality

With lighting to indicate criticality

After the original lighting post, many people tried to replicate it with using an increasingly transparent .pngs to create the lighting instead of creating a calculated radius based on the criticality of all KPI’s.   It simply does not look anywhere near as good. Good luck trying to get a png to work to match this lighting magic :-).  

We hope you enjoy and want to enhance your dashboards with drama! DataBlick is excited to help you take your dashboards from flat to fabulous.

"Off the Grid" - building Lo-Fi dashboards to create use and value

"Off the Grid" - building  Lo-Fi dashboards to create use and value

I recently had the opportunity to help organize and present at the first Tableau “Kenya Day for Data”.  In addition to great talks from powerhouses organizations like the World Food Progamme, and PATH, I ran a hands-on workshop on “How to Build Dashboards of Use and Value”.  What was unusual about the workshop is that it took place entire using flip boards, stickies, and markers, instead of in Tableau.  Without a pixel being pushed by the participants, they were able to walk away ready to build effective and powerful data tools. 

Here is the nitty gritty so you can hold a similar workshop at your local TUG, or office.

Read More

Extensions for Tableau

Extensions for Tableau

As you probably already know if you have followed some of my content over the past couple of years, I am pretty excited about the release of the Extensions API for Tableau. This blog is an overdue follow up from #TC18, where Tamás Földi and I presented on Extensions, demoing a number of extensions covering both advanced visualization types and capabilities (like write back). This post provides some of my own perspectives on Extensions in Tableau as well as the content presented during TC18, along with some new stuff.

Read More

Small Multiple Flows in Tableau

Small Multiple Flows in Tableau

Small Multiple Flows live up to their name, combining small multiples and flow elements in a single viz. This allows us to combine a set of events, providing an intense data visualization about these events, while also connecting one event to the next via the flow element. This technique does need a viewer to invest some time into understanding the various pieces of the visual. There is a lot going on, thus it will definitely require effort and a little time on the viewer’s part (and why I put detailed legends on both visualizations).

Read More

Layering data for custom Tableau visualizations

Layering data for custom Tableau visualizations

This post outlines a method that has been shared before in the Tableau community. I was initially introduced to it by Noah Salvaterra’s Chord Diagram a while back. 

I am going to walk you through a layering technique, which allows use, and re-use of a single axis in Tableau. This can be done at different levels of granularity, different fields entirely or completely synchronized throughout, thus it can adapt pretty well to various use cases. Need to create a dual-axis in a single axis? This technique can enable this for us (as long as you need the same mark type that is). 

So What? With this technique you can build more detailed and very customized visualizations directly within Tableau (without the need for extensive data prep).

Read More

More options for your Tableau Sankey Diagram

More options for your Tableau Sankey Diagram

A quick look around Tableau Public can often lead you to a Sankey diagram at some point. I can only speak from my experience, but the majority of these visuals (including mine thus far) leverage the sigmoid function. This technique has been posted about and presented on (including by me) quite a few times across the Tableau community, I first found it on Jeff Shaffer’s Blog and this has of course morphed many times and ways, for example, some of the great work done by Olivier Catherin to build a Sankey leveraging polygons (also found on Jeff’s Blog).

Not so recently, Tableau came out with some improved dashboard spacing capabilities in version 10.4. I had been awaiting this feature for a while and could not wait to update some of my Tableau Public work in order to take advantage of it (granted it took me a while to do so). Now we can get rid of those annoying spaces which have been forced into our (tiled) visuals to date.

Read More

Talk to your Tableau Dashboard

Talk to your Tableau Dashboard

Shouldn't an author be able to explain their Tableau Dashboard to every person who views it? Of course they should! This capability should be available to authors and accessible to their end users, regardless of the end user's abilities. We should also make Tableau's awesome interactive capabilities as accessible as we can as web users have vastly diverse abilities.

We noodled around some ideas of how we could enable the Tabitha project for those who did not want to write any code. This blog is the (hopefully) first step toward that effort…

Read More

Easy as Pie React + D3 Chord Diagrams in Tableau

Easy as Pie React + D3 Chord Diagrams in Tableau

… We are going to be integrating with and leveraging Nivo, which is self described by Raphaël Benitte (it's creator) as “supercharged React components to easily build dataviz apps, it's built on top of d3.” Nivo is one of many react component libraries that work on top of D3, each are different and bring their own features and focus to their projects. Here are a few more worth checking out (in no particular order):

I am going to assume you know how to leverage create-react-app and npm install to get up and running locally and import all the component libraries you will need. If you have not gone through this install process yet Chris’ blog walks you through some key steps you will need to complete, and Google is of course your best friend here. Here are the commands to run:

  • Create-react-app nivo_int

  • Cd nivo_int

  • Npm install tableau-api

  • Npm install nivo

That is it, if you run npm start at this point, your project will be bundled and rendered locally on your machine... Magic!

Read More

Visualizing MLB pitch location data with Alteryx + Tableau

Visualizing MLB pitch location data with Alteryx + Tableau

This project started with some really interesting reading on the work done by brooks baseball (Dan Brooks and several others) and fastballs (by Mike Fast) sites. There are references to these sites throughout this post. 

Data gathering & preparation work

I used the Perl script from the fastballs - build a pitch db page to download the data from this MLBAM site. Then I leveraged Alteryx to parse the 2.47 million XML files (no, that is not a typo) over the 8 years I pulled data for. Here is a summary of files and their combined size by year.

Read More

Where's DataBlick at #data17?

Where's DataBlick at #data17?

We're saddened and outraged by the tragedy in Las Vegas and offer our sympathies to those affected. And we are determined to help make the Tableau Conference a place of connection, community, and support for the attendees and those who were affected. Please check the #data17donates hashtag for how you can help out yourself, the Tableau community is already responding!

We've got a smaller crew than usual at #data17—it might be hard to believe, but babies and little ones can be even more fun than the Tableau Conference. No matter what, though, we're going to rock some new tee shirts, here's a sneak preview:

Read More

Lighting as an attentive attribute in KPI dashboards

Lighting as an attentive attribute in KPI dashboards

I have been mulling over his technique of using broadly applied atmospheric washes of paint to draw focus and create intensity, and how to apply it to data visualization.  We usually use the attentive attributes of color, size, shape, position, etc. to draw focus in dashboards.  

I have been spending a lot of time pondering the UX of things not related to data viz and asking how to apply those design ideas to visualization work, as with my widget post.  Outside the sphere of data viz, in everything from photography, to video games, and interior design, lighting is a powerful way to draw focus and create emotion.  I wanted a Marks card with a "Lighting" shelf.

Read More

Dataviz Fun for #Datakids

Dataviz Fun for #Datakids

As we all get ready for back to school (or are already back in school), whether it be Kindergarten or 8th grade its always fun to get vizzing and to get your kids involved!

Recently, the one and only Anya A’Hearn posted her inspiring quantified self project “Consumed”. My daughters are quite young, in the womb, 3 and almost 6. The thought I had was to have them build this type of viz with something they have way more of than they need. For us, an easy candidate for this was their (ridiculous) stuffed animal collection.

Since the kids are so young, having them document this in Excel and then create a Tableau viz wasn’t really going to happen (yet I made sure it did), so we embarked to create our dataviz on the floor of their room. First things first, we took all of the stuffed animals and tossed the into a one big pile…

Read More

Step lines and supported bars in Tableau

Step lines and supported bars in Tableau

Step Lines

I am a big fan of step lines (here is a good example from datasketch.es) so I was really excited to see that line type announced at last year’s Devs on Stage. While we wait for that feature to be provided directly within the product, we have two choices: (1) don’t use them, or (2) build them ourselves. Choice two is much more the DataBlick way, so I have tried to provide you with a few steps that you can follow to build this chart type yourself. You can also take a look at Tim Ngwena’s post here which details another method that you can look into for your use case.

Step lines are just lines at the end of the day. When I started looking into how to plot their points accordingly, the prep work reminded me quite a bit of the data prep needed for Jump Plot. We basically need to take our list of points and add an additional mark for each point, and potentially one at the origin (0,0) if that is desired for our viz (as it was in this case). I will be using step lines to help analyze the scoring to par across PGA tournaments this year.

Here is a small sample of the data we will be working with going forward, this is an aggregated data set, looking at the average score to par for pros on the PGA tour this year. We are going to plot “hole” on the x-axis and “Avg Score” on the y-axis to make our viz.

Read More

Weighted Medians for Weighted Data in Tableau

Weighted Medians for Weighted Data in Tableau

There are two ways weighted medians get talked about in Tableau: The first type of weighted median is the one we covered in our earlier Padawan Dojo: Weighted Averages and Weighted Medians post where we’re aggregating a data set and we want to make sure the median is computed over the underlying records. This post is about the second type of weighted median when the data itself has a weight, for example in survey data where each respondent has an assigned weight and we want to find the weighted median value of responses.

Read More

Padawan Dojo: Weighted Averages and Medians in Tableau

Padawan Dojo: Weighted Averages and Medians in Tableau

This is the first of two posts on weighted averages and medians, this one introduces a problem we've seen multiple times where reference lines aren't properly weighted. We need to use a different set of options in Tableau to get the desired results and are helped by an understanding of the different levels of detail that Tableau uses to aggregate measures.

Read More

4th and 5th Grade Girls Help #VisualizeNoMalaria

4th and 5th Grade Girls Help #VisualizeNoMalaria

Over the last couple of months, I was fortunate to have the opportunity to meet with the 4th and 5th Grade Girls Club at a San Francisco school and get them excited about all things data visualization and mapping. In a couple lunches and after school workshops we learned about cartography, map construction, and design, built our own outrageously fun custom maps of San Francisco using Mapbox, and finally contributed to the #VisualizeNoMalaria project by tracing buildings for Humanitarian OpenStreetMap.  My presentation for all the lessons, as well as the instructions for the building tracing are below.   My hope is to help data viz and map practitioners to get involved with children in their local schools to inspire the #DataKids of tomorrow.  Get Mapping!

Read More

Consumed - A study of consumptive malaise

Consumed - A study of consumptive malaise

I think of this viz as a dystopian Harold and the Purple Crayon.  Harold had the power to create a world by simply drawing it.  In this viz, my consumptive malaise draws the world around me.  By sifting through the pile, I discover meaning and conflict in the mountain of banal objects that I interact with daily, and ponder why I use so many things.

The idea was simple - to log every “thing” that I used throughout the course of the day and visualize the “pile”.  Then, categorize and group all the things and see what story they tell.

Read More

To Animate or Not To Animate

To Animate or Not To Animate

Context

Previously I wrote this post around analyzing the predictions generated by 538 during March Madness each year. At the end of the post, I briefly discuss the possibility of telling the same story using animation in place of vertically scrolling through a static set of charts. I believe that, if used correctly, the ability to animate from one chart to the next can greatly assist the reader in understanding your analysis process. 

Read More

Building SVG Paths in Alteryx + Tableau

Building SVG Paths in Alteryx + Tableau

Background

Recently my family watched Disney’s Moana for the first time. We all really enjoyed the movie, especially my two young daughters. After the movie was over, my five-year-old noticed the spiral in the title on the movie case and asked me whether I could build it on the computer. I figured this was as good an opportunity as any to show her the power and possibilities of math. 

Read More