Tableau can be used for businesses to present key performance indicators (KPIs) that indicate organizational health. But KPIs aren’t just for businesses – as part of Tableau’s “quantified self” month, I’ll share how I presented KPIs for my newborn daughter, Ellie, in Tableau.
Tracking Baby Data
At appointments with the doctor, she checked the sound of Ellie’s heartbeat and measured Ellie. The doctor also wanted to know Ellie was eating and needing a diaper change often enough.
To provide this information, my wife and I used an app to track Ellie’s inputs and outputs so that providing the information to the doctor was easier. When Ellie didn't seem to be gaining enough weight, we showed the app to the doctor so she could better determine if Ellie was getting enough food. But, why stop there? I felt the information we were tracking would be much more interesting to look at in Tableau than through the limited app interface.
Defining and Designing the Dashboard
Before doing any work in Tableau, I considered what I wanted to show. I thought it would be most interesting to show how the feeding frequency changes over time and by hour of the day. I also thought that the dashboard would be much more appealing if I put a picture of our baby on there. While Tableau lets you try things out and make changes easily, I still find it helpful to sketch a design beforehand so that I have to make fewer revisions in Tableau.
Creating the Data Visualizations
Once I had my sketch, I started preparing the data for Tableau. The app we used allowed me to export the data, and then I manually parsed it into a format Tableau could use. This meant pasting the data in Excel, filling in the dates, and using Excel’s “Text to Columns” feature to organize each piece of tracked information.
Once the data was in Excel, adding it to Tableau and setting up the graphs was pretty straightforward.
Showing Ellie’s picture, however, was the part of the data viz that I felt was most important – and the part that temporarily stumped me. Eventually, I decided to resize and upload her photos to be hosted online and to create another sheet in my Excel workbook, called “URLs” that linked to the photo for each week. This required me to add a column in my first sheet that indicated the week, which I calculated with a formula in Excel. Then, in Tableau, I joined my new “URLs” table to my “data” table by selecting the “Edit Tables…” option for my data source and adding and joining the new table by joining the “Week” column from both tables, as shown.
When I clicked OK, both Excel tables were listed and the “URLs” table referenced the “Week” column in the “Data” table as a foreign key.
On the Baby Data dashboard, I added a “Web Page” to the screen, and entered the URL for a default image. Then, I added interactions to the dashboard so that hovering on a specific week would show the picture for that week.
As with all data visualizations, the final product is only as good as the completeness and accuracy of the data. For example, the data visualization might have been more interesting had we plotted our sleep or Ellie’s sleep, but when Ellie was born it was more important to sleep than to track our sleep. However, even with the data we had, users can draw conclusions. We were told during the first couple weeks of Ellie’s life that things get better as Ellie gets older and the stats support that: fewer feedings by week, fewer feedings late at night, and a cuter baby.
There will be more changes over the next 18 years – and more opportunities to graph things like the foods she eats, words she says, and report card scores. With Tableau, the possibilities of what we can do with data is endless ¬– unlike, for example, the diaper changes.