One of the most common issues with Tableau and Power BI deployments are performance issues with their dashboards and reports. It is not uncommon to see dashboard loading times of 30 seconds or even minutes and this is for organisations that do NOT have terabytes of data. In these situations, with such small volumes of data a loading time of over 10 seconds is NOT acceptable for anyone, particularly time poor business leaders and their teams.
In order to “work around” their performance issues, there are a number of tactics that can be employed:
For dashboards over 100,000 rows load no data and force the user to filter to get a subset of data
Limit the data size by excluding rows you might not need or aggregate the data
Drop columns in the data you might not need
Work with users to “adjust” their expectations
Each of the above approaches brings with it a compromise, that in my opinion is unacceptable.
No data displayed on load
I don’t want to load a dashboard without any data displayed, and then force a user to pick a subset of the data, without first seeing the overall situation. Think about it from the user perspective. For example I’m a business owner. I want to see the overall performance of my business, then I want to start to investigate based on what I’m seeing. I might want to drill into a specific month's sales figures when I can see a drop or a rise that stands out from the rest. I need to see all the data first to know what I want to investigate.
Limiting and aggregating data
I don’t want to see aggregated data or be missing data rows completely. It’s not OK to be looking at quarterly or even monthly data, when there are events happening on a weekly or daily basis that I should be acting on. Aggregating data is simply hiding the detail and we all know the devil is in the detail.
When I drop columns I am guessing that something is not important. Now I might have a lot of experience, and my guessing might be quite good. But what about when I drop something that was actually having an impact, or maybe I just thought the user wouldn’t be interested when in fact they are. As the user this gets me to a situation where I want to slice my data by a field and it’s just not available. I’m blocked and I can’t follow my train of thought and the insights I might have gained are lost.
Adjust users expectations
Is this just not a more polite way of saying “you get what you get and you don’t get upset”? I mean we all want to be customer centric, so this is just a straight “No” from me.
So what is the answer?
If we have a slow dashboard and all the fixes are bad compromises, is it time to consider a solution that doesn’t force you to compromise? It’s time for a platform that completely pivots our approach. A platform that is built for modern datasets with billions of rows of data and lightning fast response times. The way to achieve fast performance on billions of rows of data is through search. Search that uses simple language and allows users to ask any question of ALL of the data, at the most granular level and get an answer back with Google-esk speed. To be able to slice my data by any field, because we didn’t have to decide to drop or aggregate data upfront, before we even knew what we were looking for. The answer is to take a new approach to an old problem.
"I have never seen any analytics solution deliver the ease of use, the depth of insights, and the speed at massive scale that ThoughtSpot delivers" Jaya Kolhatkar, CDO Hulu