Introduction
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.
Background
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.
The Test
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.
Tableau Results
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.
Results
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.
Future Work
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!
Thanks Ken–what versions of Tableau and Power BI were you using for this test? Is there an improvement in data engine processing from Tableau 9.2 to 10.0?
Hi Gary,
The Power BI version is used is October 2016. The Tableau version I used was 10.1. I didn’t run the comparison on Tableau 9.2 or 9.3. If you want me to do that, I will tonight. Just let me know.
Ken
For performance with the “data engine”, the claim is about the in-memory engine once data has already been imported and not anything with regard to data ingest. In various resources, you might see references to xVelocity / Vertipaq, “storage engine”, and attempts to optimize DAX so that it uses the storage instead of formula engine as much as possible. The guys at http://www.sqlbi.com/ have some of the best resources available for this type of comparison on the Power BI or SSAS Tabular side. Your test obviously has strong value, but for the 10x claim, it may be more appropriate to compare a TDE with some different advanced Tableau calcs alongside some (highly optimized and well-written) comparable DAX calcs or measures.
Who knows? The details of Microsoft’s benchmark might have been 10ms versus 100ms too…
David,
Awesome comment and insights. I especially liked your follow-on comment – LOL! Well, now you’ve given me an idea to pursue. My buddy Ben, who has been a co-conspirator in this work, just dropped a Tableau LOD calculation on me the other day that looked like this:
//datablends.us/wp-content/uploads/2016/11/ben_correlation.jpg
The resulting dashboard was so beautiful that I asked Ben to recreate it in PBI and he told me the reasons why he couldn’t do it. Well, maybe the db cannot be made, but maybe I can use the mathematical context (calculating correlations) across a giant sampling of data. I can program it in DAX and let Tableau have at it. Let the best man win. It’s time for me to learn DAX. Thanks for the idea, the clarification of the the meaning of the “data engine” and your overall insights and expertise on PBI. I really enjoy reading your work.
Thanks,
Ken
It would be great if you did this test on as many BI tools as possible and rated the performance. I would say you would get a lot of interest in that because there is no benchmark measurable speed / performance test out there. The gartner quadrants are very qualitative.
Hi David,
If I could find the time to do something like that, I would. I don’t write this blog for traffic, however. I write from the heart about products I use and love. I used to do the type of work that you suggest, way back in the days of when I wrote numerical solution techniques for partial differential equations. I did all kinds of tests of compilers, algorithms, and other miscellaneous things. It can wear you out. To do what you suggest would be a monumental task because of having to get the software installed, learn how they work, and then do the testing. For now, I’m sticking with testing Tableau, Alteryx and Power BI. It’s about all that I can handle.
Thanks for writing,
Ken