Another client project and my first exposure to SQL set up the week for an interesting week.
SQL
Structured Query Language is a programming language for storing and processing information in a relational database. This means information is store in tables with rows and columns that represent data attributes and relationships between data values. This week we got a quick crash course and worked through the fundamentals.
We covered the basic terminology and order of query statements in SQL which is;
- Select - query to obtain data
- From - which database and file to obtain data from
- Where - where the column name matches something [Filter]
- Group by - groups aggregations by dimensions
- Having - filter by aggregations [Filter]
- Order by - orders information based on column specified, ascending or descending
The next day focused on Sub-Queries and CTEs, which help to modularise code in a format that is easier to read and write with both having similar functionality. They are similar to using a Level of Detail calculation in Tableau, being useful for complex queries that rely on the condition of another query. We then moved on to using Pivot, Unpivot and Unions in SQL, which took some time to adjust to the different syntax required. Finally, we learnt how to create tables and insert values into them. If you would like more information on the basics of SQL, read here and here.
Commercial
This session focused on understanding our role as consultants from a commercial perspective. It involved thinking about the why, what and how The Information Lab conducts itself as a business. It provided an opportunity to not only adjust from the mindset of training and client projects, but understand our role within a larger system and how we can contribute to the company whilst we are here. There was time for our website bio's to be reviewed, and unsurprisingly found that there were points to improve upon.
Client Project
We had a different type of task this week with a focus on optimising an existing dashboard. It had been various different questions it was trying to answer, with stakeholder's requests being fitted in without a plan as to the consequences from building a dashboard without a scope for optimisation. This provided us an opportunity face a reality that is common on placement; being handed dashboards built by others that was focused on short term satisfying rather than long term planning.
It proved a difficult challenge for our cohort. We discovered hard coding of different values instead of calculated fields that could dynamically change, a fiscal year created out of a list of numbers instead of using the fiscal date option in Tableau, and charts that had been split into multiple sheets for the line chart, dates and red/green header. Due to the size of the dashboard and number of calculations, a large portion of the time was spent investigating what was used for the charts and why. We were able to produce a dashboard that investigated one of the areas the charts focused on in the overview, but allowed more exploration as to the reason for the improvement or reduction in interaction. A dashboard focusing on daily performance condensed the charts used from 4 down to 2, which improved the load time and visual clutter.
Whilst we were not able to deliver as many dashboards or refinements as we would have liked to, we were able to satisfy the client with our deliverables. The focus on providing improvements that can be implemented in the short-term, such as the Tableau performance optimiser and recorder helped provide immediate solutions. With the set of suggestions and examples we provided, alongside the new and refined dashboard, we hopefully provided the client a platform to further improve the performance of their dashboard.
Looking forward...
Next week has no client projects, but full training with Alteryx Macros, and Tableau Exam Preparation.
