Power BI Embedded Analytics — Part 1: Introduction and Power BI Authoring Overview

Power BI Embedded Analytics — Part 1: Introduction and Power BI Authoring Overview

Note: This is a multi-part series exploring Power BI Embedded Analytics. The other parts of the series are listed below:

Analytics is all about making sense of data — finding patterns, uncovering insights, and using that information to make smarter decisions. It involves various techniques and tools to interpret data, create visualisations, and simplify complex information. Whether it’s businesses optimizing operations or researchers making discoveries, analytics is crucial in improving efficiency, productivity, and competitiveness.

Why is analytics important across industries?

  • Smarter decision-making. By turning raw data into valuable insights, analytics helps individuals and organizations make informed, data-driven choices instead of relying on guesswork.
  • Boosting efficiency. Identifying inefficiencies and streamlining processes leads to cost savings and increased productivity.
  • Competitive edge. Businesses use analytics to understand market trends, predict customer behavior, and uncover growth opportunities.
  • Risk management. From fraud detection to market volatility predictions, analytics helps organizations anticipate and mitigate risks.
  • Customer insights. Understanding purchasing patterns and preferences allows companies to tailor their products and services for better engagement.
  • Marketing impact. Measuring campaign effectiveness ensures better resource allocation and maximized returns.
  • Healthcare innovations. Analytics supports diagnosis, patient care, and treatment optimization while improving resource management.
  • Financial decision-making. Banks and investors rely on analytics for risk assessment, fraud prevention, and strategic investments.
  • Optimizing supply chains. Predicting demand, managing inventory, and streamlining logistics keep operations running smoothly.
  • Public policy and governance. Governments use data analysis to shape policies, allocate resources, and improve public services.
  • Scientific breakthroughs. Researchers leverage analytics to analyze data, model complex systems, and drive discoveries in various fields.
  • Real-time monitoring. Industries use analytics to manage infrastructure, energy grids, and automated systems for efficiency and safety.
  • Personal productivity. From tracking fitness progress to managing finances, analytics helps individuals make better personal choices.

In short, analytics is a game-changer — it transforms raw data into actionable insights, helping people and businesses adapt, innovate, and succeed in an ever-evolving world.

Power BI

Power BI is a powerful business analytics tool developed by Microsoft that enables users to visualise data, generate interactive reports, and gain valuable insights for better decision-making. It connects to various data sources, processes large datasets, and transforms raw information into easy-to-understand dashboards and reports. 

Power BI is widely used by businesses and professionals to track performance, identify trends, and make data-driven decisions efficiently. Its user-friendly interface and robust functionality make it a popular choice.

Embedded Analytics

Embedded analytics refers to the integration of data analysis and visualization capabilities directly into business applications, workflows, or software platforms, allowing users to access insights without needing to switch to a separate analytics tool. 

By embedding dashboards, reports, and interactive data visualizations within existing systems, such as CRM, ERP, or customer portals, organizations can provide real-time, context-aware insights to users at the point of decision-making. This seamless integration improves efficiency, enhances user experience, and enables data-driven decision-making across various business functions.

Power BI Embedded Analytics

Power BI Embedded Analytics is a Microsoft solution that allows developers to integrate Power BI’s interactive data visualization and reporting capabilities directly into their applications, portals, or websites. This enables businesses to provide real-time, context-driven insights to users without requiring them to leave their workflow. 

With Power BI Embedded, organizations can customize dashboards, reports, and analytics experiences to match their application’s look and feel while leveraging Power BI’s powerful data processing, AI-driven insights, and security features. It supports seamless integration through APIs and SDKs, making it easy for developers to embed analytics into both internal business applications and customer-facing solutions. 

By enabling data-driven decision-making within existing platforms, Power BI Embedded enhances user experience, improves efficiency, and helps organizations monetize their data insights.

The remainder of the article will focus on Power BI basics and how to embed analytics through Power BI.

Power BI Authoring Overview

The following section provides an overview of Power BI basics and authoring analytics reports in Power BI.

Licensing

To author reports in Power BI, three types of licenses are available to choose from:

Power BI Free

This version is free of charge. Power BI Free allows users to get started with creating reports, dashboards, etc. in Power BI, but is limited in terms of features required for complete authoring. A summary of key features and their availability across licenses is mentioned in the table below.

Power BI Pro

Power BI Pro is available on a subscription basis and typically costs a monthly fee per user. Power BI Pro is the full version of Power BI. It comes complete with the ability to develop reports and dashboards with all the features. In terms of capabilities or the quota of resources available across features (such as data capacity and refresh frequency), it is on the lower side compared to the premium per user (PPU) license (discussed below). 

But since we would be using Power BI specifically for embedding requirements, we already would be acquiring a capacity-based license (which will be discussed in the embedding section below), which will have the required quota of resources to serve our embedded needs; hence, having just the Power BI Pro license for authoring would serve our requirements. 

In the case where Power BI analytics and reporting are to be directly used (without embedding) across internal or external users through Power BI Service (web/saas), then, based on sharing and usage requirements, the choice has to be made between going to Pro or Premium. Power BI Pro is included with a Microsoft 365 E5 subscription. Power BI Pro per-user subscriptions are available for self-service purchase, as well as through the Microsoft 365 admin center.

Power BI Premium Per User

Power BI Premium Per User is also available on a subscription basis, but it is more expensive per user than Power BI Pro. It includes all the features of Power BI Pro but is a premium version of Pro. 

In terms of capabilities or the quota of resources available across features (like data capacity, refresh frequency, etc.), it is more premium than the Pro version. It allows organizations to take advantage of Premium capacity features (akin to capacity-based licenses) on a per-user basis. 

Power BI Premium per-user subscriptions are available for self-service purchase, as well as through the Microsoft 365 admin center.

Feature Comparison

Feature comparison

Relative Pricing Comparison

Relative pricing comparison

Tools

Power BI Desktop

Power BI Desktop is a Windows application that can be downloaded and installed for free on your local computer. Desktop is a complete data analysis and report creation tool that is used to connect to, transform, visualize, and analyze your data. It includes the Query Editor, in which you can connect to many different sources of data and combine them (often called modeling) into a data model. Then, you design a report based on that data model. Reports can be shared with others directly or by publishing to the Power BI service. 

So, primarily for data federation and modeling, we need to rely on Power BI Desktop, and once the dataset is ready, it can be published to Power BI Service, where the creation of visualizations like reports, dashboards, etc., and other operations can be carried out.

Power BI Service (web/saas)

The Power BI service is a cloud-based service or software as a service (SaaS). It supports report editing and collaboration for teams and organizations. You can connect to data sources in the Power BI service, too, but modeling is limited as compared to Power BI Desktop. The report editors in Power BI Desktop and in the Power BI service are similar.

Note: Since data modeling and federation capabilities of Power BI Service are limited at the moment, it makes the usage of Power BI Desktop mandatory. Microsoft Fabric is a unified platform that covers all the data and analytics needs of an organization. It offers DataFlow Gen2 as part of its Data Factory module, allowing data modeling and federation in a SaaS environment with Microsoft Fabric, which can eliminate the need for a local desktop application. Microsoft Fabric is currently in preview; hence, its details have not been analyzed in detail and tried as part of this POC.

Since both the tools (Power BI Desktop and Power BI Service) overlap in terms of the features, here is a Venn diagram that showcases major features and their availability and overlaps across these tools:

Venn diagram showing the relationship between Power BI Desktop and the Power BI service.

The workflow often involves creating and designing reports in Power BI Desktop and then publishing them to the Power BI Service:

Workflow

High-Level Architecture

High-level architecture

Core Concepts

The following are the core concepts or building blocks required to build an analytics solution for an organization:

Containers

  • Capacity: Capacities are a core Power BI concept representing a set of resources (storage, processor, and memory) used to host and deliver your Power BI content. Capacities are either shared or reserved. A shared capacity is shared with other Microsoft customers, while a reserved capacity is reserved for a single customer. Reserved capacities require a subscription.
  • Workspace: Workspaces are created on capacities. Essentially, they're containers for dashboards, reports, apps, workbooks, datasets, and dataflows in Power BI.
  • App: An app is a collection of dashboards and reports packaged/organized together as an application to deliver key metrics. Apps are interactive, but consumers can't edit them.

Data Federation

Data federation is discussed in detail in Part 1.1 of the series.

Visualization

Visuals

Core Visuals: Power BI comes with many out-of-the-box visuals. These Power BI visuals are available in the visualization pane of both Power BI Desktop and Power BI service.Core visualsSome of these are:

  • Card: Displays a single data value or KPI
  • Table: Displays data in a tabular format
  • Matrix: Shows data in a multi-row and multi-column format
  • Pie Chart: Creates a circular chart to represent data as a portion of a whole
  • Donut Chart: Similar to a pie chart but with a hole in the center
  • Column Chart: Displays data in vertical columns
  • Bar Chart: Displays data in horizontal bars
  • Stacked Column Chart: Shows data in vertical columns, with each column divided into segments
  • Stacked Bar Chart: Similar to a stacked column chart, but using horizontal bars
  • Line Chart: Represents data using lines and data points
  • Area Chart: Similar to a line chart but with filled areas under the lines
  • Scatter Chart: Displays data as points on a 2D plane
  • Map: Creates geographical maps and displays data by location
  • Treemap: Visualizes hierarchical data in nested rectangles
  • KPI Indicator: Displays key performance indicators with indicators like up and down arrows
  • Gauge: Creates gauge charts to show progress or ratios
  • Funnel Chart: Visualizes stages of a process or sales funnel
  • Multi-row card: Shows multiple values in a single card

Custom Visuals

Report: A Power BI report is one or more pages of visualizations such as line charts, maps, and treemaps. A report has the following technical characteristics:

  • Contained in a single workspace
  • Can be associated with multiple dashboards within that workspace. Tiles pinned from that one report can appear on multiple dashboards
  • Can be created using data from one dataset. Power BI Desktop can combine more than one data source into a single dataset in a report, and that report can be imported into Power BI Report
  • Dashboard: A dashboard is something that can be created in the Power BI service. It's a single canvas that contains zero or more tiles and widgets. Each tile pinned from a report displays a single visualization that was created from a dataset and pinned to the dashboard. Entire report pages can also be pinned to a dashboard as a single tile. Dashboards serve the following purpose:

    • To see, at a glance, all the information needed to make decisions
    • To monitor the most important information about your business
    • To ensure all colleagues are on the same page, viewing and using the same information
    • To monitor the health of a business, product, business unit, or marketing campaign, and more
    • To create a personalized view of a larger dashboard, all the metrics that matter to youDashboardA dashboard has the following technical characteristics:
    • Is associated with a single workspace
    • Can display visualizations from many different datasets
    • Can display visualizations from many different reports
    • Can display visualizations pinned from other tools (for example, Excel, Web, etc.) Dashboard
  • Relationship between dataset, report, and dashboard: Relationship between dataset, report, and dashboard

Interaction

Filters: Filters are a fundamental component that allows you to control and manipulate the data displayed in your reports and dashboards. Filters help focus on specific data points, analyze subsets of your data, and provide interactivity to your users. There are different types of filters in Power BI:

  • Visual-Level Filters:
    • These filters apply to individual visuals (charts, tables, etc.) on a report page.
    • They can be configured within the visual by selecting fields and choosing filter criteria.
    • Visual-level filters allow you to control the data displayed in a single visual without affecting other visuals on the same page.
  • Page-Level Filters:
    • These filters apply to all visuals on a single report page.
    • They can be configured from the "Filters" pane, and they affect all visuals on that page.
    • Page-level filters are useful for setting a common context for all visuals on the page.
  • Report-Level Filters:
    • These filters apply to all pages and visuals within a report.
    • They can be configured from the "Filters" pane, and they are available on all report pages.
    • Report-level filters are useful for global filtering that spans multiple pages.
  • Slicer: Slicers are another way of filtering. They're displayed on the report page, and narrow the portion of the dataset that's shown in the other report visualizations. Slicers are typically used to:
    • Display commonly used or important filters on the report canvas for easier access
    • Make it easier to see the current filtered state without having to open a drop-down list
    • Filter by columns that are unneeded and hidden in the data tables
    • Create more focused reports by putting slicers next to important visuals
    •  Demo
  • Cross-Filtering: Cross-filtering allows you to filter data in one visual (removes data that doesn't apply) by selecting data in another visual. It establishes a relationship between visuals, such that the selection in one visual narrows down the data displayed in other visuals on the same report page. As an example, if you have a scatter plot that shows sales by product and a bar chart that displays sales by region, you can use cross-filtering to select a specific product in the scatter plot. This selection will then filter the bar chart to show sales for that product in various regions. For configuring cross filtering, check the section "Cross filter direction" documented above. Here's the demo.
  • Cross-Highlighting: Cross-highlighting is a related feature to cross-filtering that highlights the data in other visuals without actually filtering it (retains all the original data points but dims the portion that doesn't apply to your selection). It provides a visual indication of the relationships between selected data points. Continuing with the previous example, when you select a product in the scatter plot using cross-highlighting, the corresponding data points in the bar chart (regions) will be highlighted. This helps you see how the selected product contributes to different regions' sales without changing what's displayed in the bar chart. Cross-highlighting is useful for maintaining context and showing how selections in one visual are related to the data in other visuals. Here's the demo.
  • Drill: Drill-through and drill-down are interactive features in Power BI that allow you to explore and analyze data at different levels of detail, providing a more granular view of your data. These features are particularly useful for users who want to investigate specific data points and navigate through hierarchies or dimensions. Two types of drill interactions are possible:
    • Drill-Down/Drill-Up: Drill-down allows users to explore data hierarchies or dimensions within a single visual. By clicking on a visual element, such as a chart bar, users can "drill down" to a more detailed level of data without leaving the current report page. To implement drill-down in Power BI, you need to create hierarchies in your data model, which can be defined using date fields, product categories, geographic regions, or any other dimension that has multiple levels. As an example, you might have a bar chart showing annual sales by month. Users can drill down by clicking on a specific month, which will expand the chart to show monthly sales by day. Ways to access the drill features:
      • One way is to hover over a visual to use the icons in the action bar. Turn on the drill-down option by selecting the single downward arrow.Select the single downward arrow The grey background indicates that the drill-down option is turned on.
      • Right-click a data point on the visual to open a menu with available options and select "Drill down."
      • Drill down all fields at once: Selecting the double arrow drill-down icon takes you to the next level in the hierarchy. For example, if you're at the category level, you can drill down to the manufacturer level, then the segment level, and, finally, the product level for all categories. Double arrow drill-down icon
      • Expand fields: The Expand option adds another hierarchy level to the current view. If you're at the category level, which shows Rural and Urban, you can expand all current bars at the same time. The first time you expand, the manufacturer is added for both Rural and Urban. Expand again and, in addition to the manufacturer, segment data is added for both Rural and Urban Demo.Expand option
    • Drill-Through: Drill-through allows you to create a path for users to "drill through" from one report page to another, typically showing more detailed information about a specific data point. It's often used to provide context or additional insights when users click on a particular visual element. You can set up drill-through actions by defining which fields or measures users can drill through and which report page they should navigate to when drilling through. As an example, you might have a high-level summary dashboard showing total sales by region. When a user clicks on a specific region, they can drill through to a detailed report page that displays sales by city, products, and other related information for that region. Drill-through can be configured by going to the drill-through target page, in the Build visual section of the Visualizations pane, and dragging the field for which you want to enable drill-through into the Drill Through section. Drill-through in action: Demo.

Security

RLS: Row-Level Security (RLS) in Power BI is a security feature that allows you to control and restrict data access at the row level based on user roles. With RLS, you can ensure that different users or groups of users see only the data that is relevant to them, while other data remains hidden. 

This is particularly useful when you have a single dataset that needs to serve multiple user groups with different levels of access. If the ISV applications store all their customers' data in one large dataset, they can use Row-level security (RLS) to protect each customer's data and achieve multi tenancy. This approach can be convenient for ISVs that have relatively few customers and small to medium-sized datasets. 

Service Principal: A service principal (also known as a service account or app registration) is a security identity that allows applications, services, or automation scripts to access and interact with Power BI resources and data. Service principals are the recommended authentication mechanism for Power BI Embedded use cases. 

Service principals are created in Azure Active Directory (Azure AD), which is the identity and access management service used by Power BI. To create a service principal, you must register an application (also known as an app) in Azure AD. This app represents the service principal and defines its permissions and capabilities. You can assign permissions to the service principal based on what it needs to do within Power BI. These permissions can include read access to datasets, report creation, or data refresh capabilities, etc. To use a service principal and an application ID for embedded analytics, you take the following steps. Subsequent sections describe these steps in detail:

Service Principal Profile: The main objective of service principal profiles is to serve as an entity to help achieve multi tenancy efficiently (detailed below). A service principal profile is a profile created by a service principal. The ISV app calls the Power BI APIs using a service principal profile. Service principal profiles are a feature that makes it easier for you to manage organizational content in Power BI and use your capacities more efficiently. 

The ISV application service principal creates a different Power BI profile for each customer, or tenant. When a customer visits the ISV app, the app uses the corresponding profile to generate an embed token that will be used to render a report in the browser. Using service principal profiles enables the ISV app to host multiple customers on a single Power BI tenant. 

Each profile represents one customer in Power BI. In other words, each profile creates and manages Power BI content for one specific customer's data. Service principal profiles are local accounts that are created within the context of Power BI. A service principal can use the Profiles REST API operation to create new service principal profiles. A service principal can create and manage its own set of service principal profiles for a custom application, as shown in the following diagram.Setting up your Power BI content involves the following steps (all the below steps can be done manually or fully automated using Power BI REST APIs):

  • Create a profile.
  • Set the profile permissions.
  • Create a workspace for each customer.
  • Import reports and datasets into the workspace.
  • Set the dataset connection details to connect to the customer's data.
  • Remove permissions from the service principal (optional, but helps with scalability).
  • Embed a report into the application.

Multi-tenancy: This outlines the strategies used by an ISV or other Power BI Embedded app owners with multiple customers to map and manage each customer's data as part of their Power BI embed for their customers' solutions. It allows for better customer data isolation and establishes tighter security boundaries between customers. 

There are other strategies to achieve multi-tenancy, such as implementing RLS (documented above) based on customer or tenant field information. However, the recommended strategy for multi-tenancy is to have workspace isolation between customers and a separate owner or authentication entity for each workspace. Until now, Power BI Embedded app owners and ISVs were able to deploy the embedded solution to production by using one of the following two options:

  1. Create one service principal for all their customers, where they have a Power BI limit of 1,000 workspaces per service principal.
  2. Create one service principal per customer, where they have the burden of managing thousands of service principals. 

Now, Power BI embedded users have a new method that allows a much larger number of customers per one service principal by introducing a new entity named service principal profile 

Power BI recognizes service principal profiles as first-class security principals. Just like a user account or a service principal, you can add service principal profiles to a workspace role (as an Admin or Member). You can also make it a dataset owner and the owner of the data source credentials. 

For these reasons, creating a new service principal profile for each new customer tenant is a best practice. The application can execute REST API calls by using the identity of a service principal profile. That means it can execute a sequence of REST API calls to provision and set up a new customer tenant:

  • When a service principal profile creates a new workspace, Power BI automatically adds that profile as a workspace admin.
  • When a service principal profile imports a Power BI Desktop file to create a dataset, Power BI sets that profile as the dataset owner.
  • When a service principal profile sets data source credentials, Power BI sets that profile as the owner of the data source credentials.

Let's take an example where we need to set up a customer tenant for a customer named Tenant1. The first step makes a REST API call to create a service principal profile with its display name set to Tenant1. This call is made by using the identity of the service principal. All remaining setup steps use the service principal profile to complete the following tasks:

  • Create a workspace.
  • Associate the workspace with a capacity.
  • Import a Power BI Desktop file.
  • Set dataset parameters.
  • Set data source credentials.
  • Set up a scheduled data refresh.

Management

The Power BI Admin Portal is a web-based management interface provided by Microsoft that allows administrators to configure, monitor, and manage various aspects of Power BI within an organization. It provides a centralized location for administering Power BI services and resources. Here are some of the functions and features of the Power BI Admin Portal:

  • Access Control and Permissions: Administrators can manage user access and permissions for Power BI workspaces, datasets, reports, and dashboards. This includes the ability to assign users to different roles, such as members, contributors, or administrators.
  • Usage Metrics and Auditing: The Admin Portal provides usage metrics and auditing capabilities, allowing administrators to monitor user activity, view dashboards of usage patterns, and assess how Power BI is being used in the organization.
  • Service Health and Notifications: You can access service health and status information to stay informed about any incidents or outages affecting Power BI. Additionally, you can set up notifications to receive updates on service incidents.
  • Capacity Management: Administrators can manage and allocate dedicated capacity resources to ensure optimal performance and data refresh.
  • Content Management: Administrators have control over Power BI workspaces, datasets, and reports, making it possible to organize, move, and administer content within the organization.
  • Gateway Management: If on-premises data sources are connected to Power BI, administrators can manage and configure data gateways in the Admin Portal. Gateways are used to establish connections to on-premises data sources securely.
  • Security and Compliance: Administrators can configure and enforce security and compliance policies, including data classification, data sensitivity labels, and data retention policies.Workspace settings

The next article will dive into the details of Power BI Authoring Data Federation.

Opinions expressed by DZone contributors are their own.

Stay Informed

Get the best articles every day for FREE. Cancel anytime.