Search code examples
mdxolapolap-cube

How to do OLAP analyse after building the Data Warehouse?


We have built a data warehouse which contains multiple fact tables and multiple dimension tables (on a MySQL server).

What is the next step to do the OLAP operations? I read an answer says that OLAP operations are often expressed in MDX expressions. (https://stackoverflow.com/a/18923809/7887590)

Where could I execute my MDX expression to produce the report?

BTW, is OLAP an outdated technology? Because I have seen fewer and fewer discussions on this topic in recent years.


Solution

  • 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)