Power BI – A developer’s perspective

By Richard Sharpe - BI Team
Last updated: 19.09.2017
Power BI

What is Power BI?

Power BI is Microsoft’s Business Intelligence (BI) visual presentation offering released in July 2015. It is part of the Office 365 cloud based suite and available as a desktop application.

The product is Microsoft's presentation layer technology.  It essentially brings together other previously existing tools, Power Query to extract data and transform, Power Pivot to model and analyse and Power View and Map to visualise data.

The licensing costs and options are simple with Microsoft focusing on offering a low total cost of ownership (TCO).

There is a free version called just Power BI and a paid version Power BI Pro.

  • Power BI doesn't require an Office 365 subscription and is intended for personal use with restrictions on data capacity, data refresh frequency limitations, streaming limits and collaboration with others.
  • Power BI Pro (Enterprise version); from $9.99 a month without any of the restrictions.

Power BI has a desktop tool and subset of that tool available as a cloud based solution. As its name suggests it is powerful, with a large selection of data source connections, regular updates to functionality and is well supported with an ecosystem of online help in the Power BI community.

Who is it for?

The product is aimed at bridging the gap between IT owning and developing all the content and the end power user answering their own questions from the datasets on offer.

As a result the UI is heavily simplified, with a bit of an Office feel to it. If you are an Excel power user Power BI will likely be of great benefit to you however if you haven't had much exposure to Excel then you may find it challenging.

Ultimately what can be achieved, as with all similar products aimed at enabling the end user is based on the quality and accuracy of the database structures being used.


What can it do?

Users can create device specific reports for desktop/tablets/phones supported on Android, iOS and Windows and can publish these to the cloud.

In the cloud UI any visual from one or multiple reports can be pinned to dashboards which are then made available to user groups.

The dashboard is the top level and clicking a tile takes you to the containing report for more detailed analysis. Reports can be embedded in users' own apps using REST api calls or added into Excel using an Excel plug-in.


What are my initial thoughts on Power BI?

I first got involved with Power BI as a developer at the start of this year (2017) with a project I was asked to deliver on departmental support performance, systems outages and application speeds.

The first task in getting started was to install the ‘Enterprise Gateway’ as it was called, now called, ‘On Premise Gateway’ which allows a connection from the cloud to your own on premises data sources, straightforward enough just entering a few credentials.

My first impression in opening and looking at the development suite, was that it was very different to other products that I had used previously. 

My expectation was to have something up and running in no time, however I initially found the product over-simplified to the point it was hard to cross over to from having used other enterprise BI products.

Frustrations arose from the simplest things I wanted to do such as formatting a datetime to show as a date, an option on the ribbon like Excel.


Patience, persistence and a few hours later my frustrations reduced once I was used to the Power BI desktop UI where I was developing the report and the online cloud based tool used to publish the reports, pin objects to dashboards, manage data sets and data set refresh schedules.


When considering what data to import I did find that I had to simplify the data structures I was developing with although I don’t think that is the fault of Power BI because my data structures were relational and I think Power BI works better in a data warehouse star schema environment.

I found things like adding a formula to a table I had brought in from a data source to be difficult due to the native formula syntax Power BI employs which I hadn’t come across before.


Visualisations are easily downloaded from the Power BI site and installed by adding the visualisations as a file to the pallete already available out of the box.

I have found that the choice available is impressive, plentiful and being added to regularly.  The powerful visualisations lend themselves to having multiple slicers and to be able to drill down into the data.


Half baked?

Some functionality I found to be missing when trying to create a drill-down to the underlying data row.

On investigation there are currently two types of drill down.

  • There is drill through which is drilling from a dashboard to a report.
  • Several visuals support drill-down which  take you to the next level down in your hierarchy. For example in a sales report a visual could contain sales revenues by geography and the drill-down would be to increasingly more specific areas.

I was asked to give the ability to drill-down from an aggregated figure to the data row underpinning it and that doesn’t seem to be something which would work as I expected at the time of developing the solution, something that in other products is a mainstay allowing users to check the integrity of the data and query values at the lowest grain of data.

When I looked in to this on the community site it was confirmed that this wasn’t possible.


Power BI Community


The Power BI Community is one great feature of the product.

On the Power BI site users can vote up problems they would like to see in the product to get them developed, which is the first time I have seen a product being led by user feedback in this way. It seems a good way to get more of what you want and less of what you don’t need.

Like any relatively new product through it's development life it 's content will become richer and more refined.


Little niggles

Some of the drawbacks of the visualisations are around formatting and wanting to make the visualisation do something you think it should do as you've seen in other products but then finding out that what you had envisaged can not be done.

Formatting can be restrictive and simple things like the resizing of the visual may not be as required – the visuals like drop-down combos, date/time pickers etc in my opinion could not be made small enough without losing some of the visible area. In my case the spec I was working from was an excel report which contained all the graphs/kpi's and how they should be formatted, formatting options available in Excel I couldn't find an equivalent for in Power BI.

Like other visualisation products I feel that what they lack is the ability to combine pixel perfect reporting and the high level dashboard visual reporting.

Dashboards and reports can only be shared with users who have the same email domains or email domains listed with your Office 365 tenant.

Power BI will not accept files larger than 250 MB. Power BI files - .pbix – are actually a type of archived zip files so they do compress the data until it's needed by the xVelocity in-memory database engine, but the maximum accepted file size may still limit Power BI to subsets of enterprise data warehouses.


Microsoft Power BI is still in its early days but because of its attractive licensing cost and the continuous development, offering and support from the community it is a major player in data visualiation, however for most companies it probably won't replace your enterprise BI data warehouse solution but will likely instead compliment it leveraging the power of data visualisation.