Thursday, 5 July 2018

TC18 London How Tableau solved a life crisis - Bethany Lyons

Bethany Lyons

Don’t try to be good at Tableau - try to be good at solving (and generalising) problems in Tableau

Meta Points
  1. Optimising performance
  2. Progressing your career
  3. Building teams
  4. Making software recommendations

The crisis
Spending 180 days in the UK to warrant the Permanent Residency status in the UK
From passport stamp data, you can work out days in the UK
Level of detail calcs can give you the days in then UK by trip ID
Bethany had 189 days abroad in 2014 (building the partner ecosystem in France)
Data captured on 7th Jan 2018 but showed 11 days for 2018. This showed the days abroad had been allocated twice

Bethany tried to work out how to split and allocate the years
Step 1. Identify the years
Step 2. Allocate the right number of days to the year (chunky IF statement to work out Start date to end of year, and end date from start of year)
Step 3. There is double counting as trips can have multiple legs
Step 4. Use a sequence value and only bring back max sequence value
...but there are easier ways to solve this

Don’t hard count your calcs for the data you have, think about the use cases which will break your hard coding

Issue - immigration years were rolling year based on your application date

Types of temporal data tables
  1. Event - a record represents a state change at a moment in time
  2. State - each record represents state during a period of time
  3. Calendar - dense time range bounded by event time domain
  4. Time - each record represents a state in a moment in time

Event table was what Bethany used for the original data
State table had a value for a property
Calendar - is a dense time range
Time table - for a dense range of time, a property of an entity has a value (ie for each day, there is a specific value)

Time tables are created by joining calendar date to state table (ie scaffolding as it is more commonly known)

Bethany needed to create a state as to whether she is in the UK or not. To do this she needed a start and end date - you can use aggregation in Prep to do this
Calendar date - use the idea that calendar is <= end date and >= start date (to not bring in any unnecessary date

By adding an appointment date parameter, Bethany could then create a rolling year bin. Take the integer of the date / 365 (minus 1) to work out which year it is

Bethany was fine but then she wants to release were there dates when she would have hit the 180 day limit?

If you want to have a record for everyday, you can join the calendar date to the Data source by using a calc join (1 = 1...see Bethany’s session from last year) to create the rolling year calc

Like all Bethany sessions - watching the recording to get all the value from the techniques but it will hopefully capture some concepts to go away and learn (or Google)!

Complexity arises from incrementally and reactively solving a problem (walk away from the desk before solving the question)
Get a clear understanding of what is, work out the semantics of your question and then it’s over to you as the analyst

Meta summary
Performance problems arise from complexity -Holistic thinking is the best solution. Iterate but then don’t be afraid to rebuild.
Progressing your career - visual design and data design is very different. There is a massive shortage of data designers.
Building teams - get both visual and data designers
Software recommendations - all principles discussed are unique to Tableau. Most companies look at features and price, this leads to examples in the first convoluted feature. Great software helps you escape these elongated builds as it will have features that compose well (VizQL is a language and you can communicate in many different ways)

1 comment:

  1. This blog gives very important info about Tableau Thanks for sharing Tableau Online Training

    ReplyDelete