Tableau Desktop - Why & Why not?
Overall Satisfaction with Tableau Desktop
Tablea Desktop Overview
Tableau Desktop is used to visualize and analyze data, create workbooks, visualizations, dashboards and stories.The way it works is the developer creates a data source, bring in the data inside Tableau from the corresponding data source, create visualization, grid or dashboard and finally publish it to the server. Once it is published to the server the end users will be able to go to Tableau online and view the visualization or dashboard. With correct permission end users will be also be able to slice and dice the data to get more insight. Apart from developers the business users/end users generally don't have permission to change the underlying data.
Use Case 1
Cooking the data is very important & this is one of most general use case
Here are the steps of creating own data model/data warehouse & reporting via Tableau Desktop
i) Create your own bus matrix to make sure the you are clear about the requirement. Bus matrix gives you an overview about how each fact and dimensions is associated with each other
ii) Extract, transform all the data either using the ETL tool or using SQL in the database
iii) Build your facts and dimensions using the best practices (Build a star or snowflake or hybrid schema based on the requirement)
iv) Bring those facts and dimension in a separate tool for creating the relationship and associate them( for example SSAS). Basically create a SSAS cube and deploy it in server and push it to EDW or DataMart
v) So now the data is residing in a organized way in EDW or DataMart. It is cooked and ready for reporting and visualization
vi) Open Tableau Desktop and connect the cube using the Microsoft SSAS connector
vii) Build your own datasets, visualization, workbooks, dashboards
viii) Once done deploy them to Tableau server for online access
Let me give a perfect scenario where Tableau shouldn't be used -
If you are planning to ETL the data, create your fact and dimensions and bring them inside Tableau for creating your relationship and hierarchies then you are wrong. Tableau doesn't support any sort of data modeling options inside it. If you are ETLing the data and creating your relationship and hierarchy in a separate tool and pushing them to EDW and are expecting to report and visualize out of a reporting tool, then Tableau would be a perfect tool to do that.
- Creating visuals are very quick. Doesn't need much training. Anyone who can handle Excel can also handle Tableau visualization. The interface is well organized and everything is possible with less clicks. The default color layout & representation of graph & grid is very attractive. So excellent use experience.
- Data Source Connectivity- It provides lot of data source connection options. Tableau provides an option to connect to a file (Excel, Text, Access, CSV etc. ), connect to DataBase (Microsoft SQL Server Oracle, Amazon Redshift etc.), ODBC connections, Google Analytics, SAP HANA and many more.
- Excellent mobile support. Tableau put a lot of effort into developing a robust mobile client. Sensitive Control & Reports are pixel perfect.
- There is no concept of Change Management or versioning. The way it works is -i) Connect to your source ii) Build the reports in Desktop iii) Publish them online. Now for example if you did some modification & republished it, Tableau Online would always show the latest version. There is no way to retrieve the previous version of report.
- 3D Charts are not available
- Connecting live to Hadoop via ODBC driver is still painful because of its performance.
- Cost is high,this means you need to buy a Desktop license and server separately. The cost is a major factor desktop - $2000 with yearly maintenance paid upfront. This combined with maintenance of - $200, which you need to pay every year. This is per user.
Based on the use case we use different tools. Here are the pros & cons
i) Suits perfectly for SQL Environment( not big data). We have created the maximum of our dashboard against SQL Server Database. They are perfectly designed, fast while retrieving data, and has very efficient online manipulation.
ii) I prefer using Tableau Online if I want to drill down.
iv) Unlike SSRS Tableau Online helps us to create on the fly calculations in the web browser. So no manipulation is needed every time in the dataset
i) Report Scheduling Options are not the best in Tableau. If we see new a requirement of a report with email distribution, mobile distribution we don't prefer Tableau
ii) Big Data (Hadoop) Live Interactions are slow. You need a special approach and extra implementation using middleware to make data retrieval faster
iii) Architect mode is not available
- Tableau provides an excellent range of options to connect to data sources . It is possible to connect to file (Excel, Text, Access, CSV etc. ), connect to DataBase (Microsoft SQL Server Oracle, Amazon Redshift etc.), ODBC connections, Google Analytics, SAP HANA and many more & Big Data environment
- It easy to merge multiple data set
- It is possible to write SQL query in the backend & get the result as data set
- Data Can be real time using Tableau Live Deployment
- Data Blending is another Tableau innovation that has gained tremendous adoption by business users. Data from any source can be combined on the fly without any modeling, scripting or extensive projects.
ii) One of the major aspects of reporting is access control.
For example the business intelligence team interacts with lots of business in finance, product, marketing etc. Each and every of these businesses consists of their corresponding employee hierarchy starting from executives in the top of the pyramid to the developer who is at the bottom of the pyramid. But everyone in the hierarchy shouldn't have access to view or modify the report. That ia why access control is required. Also if the company is part of an IPO they would like to restrict a lot of key metrics from the employees who are at the bottom of the pyramid.
Tableau provides great access control facilities so that we can control sharing capabilities. We can define group and assign members to each and every group. Now we can configure each and every group to have specific privileges which is really helpful. So we restrict not only permissions for viewing a report but also different tool access capabilities.Tableau has to improve a lot in its sharing capabilities if they want to stick to the top.
One thing to keep in mind is if the company is very small and has less of a budget to spend on tools for each ETL layer, architect and visualization layer then Tableau won't be a good choice. It might be expensive for them. Also you can't bring in facts and dimension inside Tableau Desktop to create relationships and logical model like MicroStrategy.