This is test 4 in a series of real-world examples where Tableau capabilities are compared to those of Power BI (PBI). Once again, a completely random example was selected for this test with no pre-conceived notion of how each tool would perform during the test.
This test represents a challenge in which PBI claims to have an advantage over Tableau. I remember reading a couple of months ago that Microsoft claimed that the PBI data engine was reported to be 10 to 100 times faster than the Tableau Data Engine.
I suppose that this claim should specify what is meant by the “data engines”, but to me as a user of these tools, the speed of working with data is what is important.
The question I want to answer is this: How long does it take each tool to connect to a csv file to generate a time-series chart. This is a simple test that is easy to document and understand.
I have a pretty good feeling for how fast Tableau reads and processes structured data. I have this knowledge since I’ve been testing it extensively over many years, although it has been several years since I last benchmarked Tableau. Here is an article that discusses Tableau benchmark testing and results from exactly three years ago today (at the time of this initial writing).
I really don’t have a feeling for the speed of PBI data reading and processing operations because I haven’t used it enough. I guess I will find out soon….
Ten days later.
I performed a simple test to demonstrate speed difference between the tools. I took a 25M csv file I had created last month for the use case. There is nothing special about this file. I just felt like using it because it was big enough for me to discern speed differences between Tableau and Power BI. If you pick files that are too small, you may not be able to document performance differences from one tool to the other.
OK. Now it is time for the games to begin.
Video 1 describes the test I just completed for Tableau. In this video a stop watch was used to record the time needed to complete the job starting with data reading through the completion of the target graphic. Video 1 was recorded at the time the work was completed a few minutes ago. There was no preparation completed for this test.
The total time required for me to complete the test was 4:03 (243 seconds). The target graphic is shown as Figure 1. Notice that this figure has basic default formatting applied (other than data labeling) because this was intended to be a speed test, not a test for creating pretty figures and I wanted to check for uniqueness between the solutions.
The Power BI Results
Video 2 shows the Power BI performance on the same test I previously conducted. The same computer was used just a few minutes after the Tableau test was conducted. This example represents a fair comparison for these tools because the data file is agnostic and the conditions used for the test was as close to identical as possible. There was also no preparation completed for this test.
The total time required for me to complete the test was 5:58 (358 seconds). The target graphic is shown as Figure 2.
As shown in the videos, Tableau completed the test in 4 minutes and 3 seconds. Power BI required 5 minutes and 58 seconds, for a difference of 1 minute and 55 seconds. A large portion of this difference resulted from the time needed for the programs to ingest the data file. I do not think there was a very big time difference in creating the charts.
The time ratio for this test is (243/358) = .67. This means that Tableau finished the test in roughly 2/3 rds the time needed by Power BI. Stated differently, Power BI was about 50% slower than Tableau in completing this task. Tableau wins this competition. The monthly aggregations displayed in each figure were unique.
Reading one type of file like a simple csv file represents only a very small part of the complete capabilities for tools like these. Tableau and Power BI are both versatile programs that can connect to dozens of different data sources.
This work could be made much more interesting with additional testing, including using a Microsoft SQL database, an Oracle database, and a Teradata database at a minimum. I am interested in determining the circumstances in which Power BI data engine outperforms the Tableau data engine. In other words, I want to uncover for myself the conditions in which Power BI can beat Tableau by a factor of 10 to 100.
If I can find some time over the next few weeks, I might complete more comparisons in a networked environment to test the robustness of each program for reading big files and performing more advanced ETL operations.
A Couple of Things I Like About Power BI
The more I use Power BI, the more I seem to like it. It is a bit sneaky in this regard, although I still don’t use it enough to feel in command of it. The DAX and M environments are probably my next frontier. The desire to improve my skills is one of the reasons I am continuing this series.
As shown in video 2 and in Figure 2, I like the moving reference line that shows the data values from each data field in the graphic. I believe Tableau is planning a similar standard feature in an upcoming version. I know that this can already be done, but it requires some work. It will be nice when it becomes a standard feature.
I also like how Power BI displays the number of records for each item in a filter, as shown in Figure 3. Tableau should make this at least an option in their filter settings. As soon as I recognized what this represented, I instantly knew this is a great feature.
Finally, I really like some of the thoughtful and interesting comments I have been receiving while writing this series. Everyone has been patient with me and Ben and have been complimentary. As I learn more about Power BI, I promise to ramp-up the complexity of these comparisons without writing articles the length of novels. I predict that things will get more interesting as time goes by.
Thanks for reading!