Microsoft Power BI is the latest in Data Insights and Reporting, providing a service in which users can get data and build compelling dashboards and visualisations. Recently Microsoft opened up their Visualisation framework and asked the community for entries (here’s ours – http://community.powerbi.com/t5/Best-Visual-Contest/Advanced-time-slicer-brush-chart-by-Cambridge-Technology/cns-p/7698). The Power BI Team also announced new additions to the API – an element of the API that we’ve been eagerly awaiting is the ability to embed parts of dashboards into other applications.
So, with the beta API endpoints announced, we got to work. Microsoft already provided a sample Web App, showing you how to embed a tile into an existing Web Application. So we began tinkering with that in order to understand the order of events and the flow of information. Ultimately, our goal was to put together a small proof of concept app which could be further utilised in different web platforms when the requirements fit.
Here’s the Example App from the Microsoft Power BI team and here are a few points that explain how I thought I could improve upon it.
Things I did differently:
- Where as the Web App provided by Microsoft relies on the click of a button to show a Tile, i’ve made it all dynamic with cascading dropdowns and an auto-refreshing iframe, determined by the tile that’s selected.
- I’ve placed a TextBox on the page to show the JSON that is returned from the API calls
- User guidance! Partly the idea of this was to demonstrate the capabilities to lesser technical people in order to better explain concepts and sell benefits.
Here’s how the extended version looks:
Get your hands on it
Feel free to grab it and try it out – of course, not forgetting about the all important setup steps required in order to set it up in your environment::
- Register your Web App in Azure AD – what this does is two things, provides an authentication mechanism and acts as a security broker for the Power BI service
- Authenticate Your Web App
- Once cloned, you will need to use Nuget to restore the packages/references, otherwise it won’t build
I’m not a developer and it’s likely that a lot of my code does not follow what’s considered ‘best practice’ 🙂
Never miss an update by following us and subscribing to our monthly newsletter!