I Love Parameters

I spent time with a couple of co-workers yesterday going through revisions on an existing dashboard and received valuable constructive feedback. One person said the visuals are great and you built exactly what I asked for but I find it hard to answer questions – I end up having to do the work in Excel.

The thing they struggled with the most was looking at before and after a specific date. They needed the ability to pick the date to pivot off of and the ability to select the number of days back and forward to look at.

This was a good challenge for me and after thinking it over for a while I thought that parameters were exactly what I needed.

My idea was to create a parameter for the X date (the date to look back and forward from) and then create a parameter for the days back and the days forward and use those to limit the dates in the chart and use them to calculate the before and after measures they were looking for.

My Parameters are:

  • Selected Date – date to pivot back and forward from (date)
  • Days Back – # of days to go back (integer)
  • Days Forward – # of days to go forward (integer)

My Calculated fields are:

  • Back Date – [Selected Date] – [Days Back]
  • Forward Date – [Selected Date] + [Days Forward]
  • Custom Date Range – IF [Order Date] >= [Back Date]
    AND [Order Date] <= [Forward Date]
    THEN [Order Date]
    END

I then added the Custom Date range to the filters to exclude the nulls. To exclude the nulls I added the Custom Date dimension and selected Range of Dates > Special > Non Null

I used these fields to create a line chart to show the trend during the custom date range and added a reference line for the selected date. I also create a metric tile to show the before and after counts and changes in those counts. I added a few other charts to help them see what changed by different dimensions.

I love the flexibility with parameters!

I wanted to see if I could figure this out without Googling how to do this. I’d love to know if there is an easier way to do this or if I over engineered the solution.

 

Design Thinking

I was an early Tableau adopter in work and tried to push my end users out of their Excel data dump comfort zone. I would correct people who referred to Tableau as Excel on steroids on a regular basis. I was excited about giving my users a visual representation of their data. But, I kept getting asked to add table view of the data. I would add these views, but, I wouldn’t make them as pretty as the dashboards in hopes that people would use the dashboards instead. But that wasn’t the case, when I looked at Tableau server the most viewed sheets were the boring pivot table views.

I didn’t give up and kept plowing ahead and improving my Tableau skills. I’ve been trying to learn as much as I can about colors, charts, telling stories, LOD calculations, parameters and all the other things that go along with Tableau. I started to convert more users to the visual side and away from the table views. When someone wanted to know how to export the raw data my canned response was what do you need it for. I wanted to make the dashboard helpful for them. I felt like I was making some progress.

My goal with Tableau was to make it easier for the end users to quickly see what they need and allow them to interact and customize the dashboards but I felt like I was missing something – was I really giving them what they needed? Was I giving a solution without really knowing what they needed?

To help me solve that question I attended a Design Thinking Bootcamp class at General Assembly. The class was helpful and gave me a number of ideas on how I can change my approach.

Here are a few of the concepts that stood out to me:

  • ask open ended questions to the end user
  • silence is fine – if you ask a question and the user stops to think – let them think don’t interject other ideas or options
  • pay attention to work-arounds – these are areas the need isn’t being met
  • after you understand the need develop your point of view with the user and their need (not solution). someone who can’t reach the top shelf doesn’t need a ladder they need the item on the top shelf.
  • get the topic and ideas out on paper – make this a free flowing exercise – no judgements!
  • prototype – shouldn’t be a finalized version. It should be used to communicate the idea. be prepared to scrap it and start over – we don’t always get it right on the first go round.
  • build your story – who is the user, what is the challenge they face, how does that challenge impact them, what is the solution, how does it meet the need

It was helpful for me to be reminded that you need to fully understand the need and develop a lot of ideas around the need before jumping to a solution.