We're using an on premises Report Server by Microsoft to host Power BI files, which are using "Import Data" mode as opposed to live connections to their data source.
Our Power BI files hosted on the Report Server have up to 15 million rows (3 or 4 columns with very high cardinality) in their fact tables. They function very quickly and we are finding improvements in speed for distinct count measures in comparison to OLAP/MDX
.
Power BI actually creates an instance of SSAS
on the fly so you are actually using the very same technology as OLAP
.
Power BI is hugely flexible and most things are possible using DAX
- in fact the learning curve for DAX
starts off a whole lot more gentle than MDX
.
So if I have a powerbi file (.pbix) that is using 15m rows of data via "Import Data" I do the following:
- upload the pbix to our Report Server
- add a refresh scheme to the Report Server e.g. 'refresh every hour'
- then what happens is that it will go and get the 15m rows of data every hour but when the user interacts with the pbix the data is inside an instance of SSAS that is integrated into the pbix - so all calculation are carried out internally in-memory with no additional round trips to the server.
(I miss MDX
but I would not recommend it to anyone)