Bring rich reporting into your applications with Power BI
Published Mar 27 2020 07:33 AM 2,556 Views



Whether you are a citizen developer creating a mission critical application for your department, or a ISV building and selling direct to consumer applications, or somewhere in-between, providing a rich interactive reporting experience can make all the difference for adoption of your application.


Building rich reporting and visualization capabilities can be very time consuming, especially when you seek to include what many consider baseline requirements:

  • Quickly generate and share reports
  • High level security, low level security, row level security, and conditional access
  • Data protection
  • Easily connect to multiple data sources
  • Provide users the ability to filter, slice, and drill on data
  • Display only the data to the user that they have permission to see
  • Logging and reporting of consumption of data

When developing an application or a line of business tool, visual reports can come as an afterthought because it doesn’t necessarily provide core application functionality.  Visual or data based reports are typically for the managers of the adopters of the applications, not the userbase. Most of the time this is so management can get metrics out of the tool as opposed to people using it.


Turning to a plug and play solution that can provide all of those features out of the box, can alleviate the need to build a custom reporting and visualization solutions and can pay may other dividends at the same time.






As an example: A device manufacture creates and sells devices to offices and labs across the country.  These devices send data back to the device manufacture where the data is collected, curated, and built into a report that is sent to customers on a regular cadence. 


What if the manufacturer simply built a website or web application, connected it to the incoming data repository, built some canned reports in Power BI, embedded those reports into a website or natively into the manufacturer’s app, threw some authentication in front of it, and handed over that solution to the customer? Wouldn’t that be simple and amazing?  It can be argued that this might seem daunting at first, but, with the Microsoft cloud it is easily achievable with many hidden benefits.




Collecting Data


Leveraging Azure, the manufacturer can implement IoT or even non IoT devices and have the devices feed data directly into Azure. Current topical data can be stored in more high-powered database and analytics services while historical data can be achieved in data warehouses for higher volumes and\or record keeping, enabling cost optimization by prioritizing current data to take advantage of the more premium storage needs.


Leveraging Azure services also provides the ability to build multiple scenarios for different customers.  The manufacture can have one overall contract with Microsoft, a single Enterprise Agreement with a master Azure tenant, and can then have multiple sub tenants and sub agreements.  There can even be a sub tenant for each customer.  This sub tenant structure allows tenants to keep data and the sub tenant itself within a specific Azure geography.  This allows a multi-customer approach to remain compliant with geographic data restraints due to regulation. The sub structure also allows for the tracking and itemization of costs on a per tenant and per service basis.




Building the application and visuals


Building a cloud native application would be the ideal case here, and Azure has all of the tools to do that.  However even if the application is still tied to the manufacture’s on-premises infrastructure, Azure’s hybrid capabilities work just as well with that scenario.


With applications consumed via the web (Locally hosted, or hosted in Azure), the manufacture then has options for how best to the bring in the rich reporting functionality.  Leveraging Power BI, reports can be generated to show the specific metrics and data exactly how the manufacture wants to display them.  With those components built, these reports can be embedded into a website or application easily and there are many options to do so. 


First, for people within the manufacturer’s organization, Power BI Professional (User based licensing what an all you create and view approach) can be used to generate and review the reports.  This is a user-based license and therefore must be tied directly to the user consuming the report. The identify of the user must have the license attached to it, much like how you apply an Office 365 license currently.  


Second, for the external customers, the manufacturer can still use user-based Power BI Professional licensing, but this becomes difficult as the identity of the users within the customer then need to have licenses applied to them.  Instead the manufacture can choose to leverage Power BI Premium which is capacity (CPU Cores and RAM) based licensing model and apply it to the reports directly for the customer.  Using the sub tenant structure, the manufacture can purchase and leverage Power BI Premium and then apply it to the subtenant for use by the customer or to an application that runs across customers.  This gives the manufacturer the ability to dedicate Power BI resource capacity to specific customer\solutions and it all rolls up into the same cost itemization strategy laid out by the sub tenant structure.       


The third option is to leverage Power BI embedded.  Much like Power BI Premium, embedded enables capacity-based licensing and allows for the manufacture to apply it to the reports directly for the customer.  There becomes a decision of whether to use Power BI Premium vs. Embedded and both have their strengths and weaknesses. Refer to the FAQ for a quick reference on which to use. Regardless of which Power BI method is used (Premium or Embedded) the benefits for the overall solution and the manageability of the licensing are the same.






By leveraging the Azure tenant and sub tenant structures, the data collection processes in Azure, and a variation of Power BI licensing vehicles, the manufacturer now has multiple options on how to handle authentication for their application.  The very first being a hybrid approach.  The manufacture can use on-premises identity technologies such as AD with directory synchronization and can create and maintain individual identity objects for customers. Using a cloud only strategy, Azure AD structure is also an option now and can handle all authentication if desired.  In fact, each sub tenant can have its own AD structure that is unique to it, providing customer isolation and a different identity strategy for each unique customer.


B2B and B2C options can also be implemented.  Using this strategy, the manufacture now has options to build either B2B or B2C authentication methods into their application to allow customers to manage their own identities either through centralized enterprise management or self-service sign up. Again, each sub tenant can be completely different with unique authentication possibilities now.




But wait, there’s more!


Aside from all this flexibility and custom tailoring to multiple scenarios, and all of the other advanced capabilities from Power BI, including augmented analytic features, come along for the ride including:

  • Natural Language Query (NLP)
  • Quick Insights
  • Explain This, Analyze That, and Analyze in Excel
  • Forecasting
  • AI&ML in Power Query
  • Key Influencer visual
  • Dashboards
  • Mobile apps
  • Data Lineage
  • Performance Analyzer

Leveraging a fully fleshed-out BI tool and embedding easily created visual reports into amazing application provides tremendous flexibility to a team that is developing an application and allows them to focus on performing the core of their job, while not having to worry about how to also create an entire reporting engine at the same time, thus dramatically increasing speed to value. Not to mention the fact that it comes with some of the most advanced and impressive data and analytics features available.

Version history
Last update:
‎Mar 27 2020 07:33 AM
Updated by: