Best known for being very easy to get started, you might expect it to be skin deep. Not so; not only is the graphical modelling environment very powerful, its DAX (data analysis expressions) formula language has a rich set of powerful functions.
The engine can process data at different abstractions – either row by row or in a single pass at the level it’s displayed in a visualisation. The latter being faster, the former letting you evaluate and control the data more finely, so it gives me a lot of control over how I turn the data into meaningful information.
Behind the scenes sits an in-memory database into which your data is loaded when you import. It makes it super fast to interact with and analyse the information.
In addition to the modelling environment and language, Power BI includes a data load environment with decent (although not ETL level) transformations and a mashup query language.
BI solutions are built on layers of logic. With Power BI you have access to all the different layers of logic within one tool, removing the frustration of needing to do something that is outside of your control.
The layers within Power BI being visualisation, DAX calculations, data model and relationship, data load and transformation.
You can import data from any of your Power BI sources into the same model, where they are stored as tables in Power BI’s own in-memory storage, so can be joined through the modelling environment without the network lag and incompatibility of joining across sources.
It doesn’t assume the source data will be perfectly modelled – you can choose how many queries to import the data with, which becomes tables to be joined in the Power BI model. You can create the queries graphically or with custom SQL. It can use foreign key relationships in your database to flatten the data into a single table, making it (even) faster to query. The transformations you apply to the data you import will be pushed down to the source query if possible, meaning there is less data to transfer and less to do with it once loaded.
It’s rare that I am completely familiar with the source data when I start working with it. The data load facility has column profiling & quality built in so I can see what I’m working with and what will be possible to achieve.
The ease of creating interactive visuals in Power BI is well known, one thing I do find particularly appealing though is the ease with which you can set interactions with one visual to control the information displayed in another. This makes it easy to maintain context and provide a coherent analytic experience.