top of page

Power BI Embedded Analytics: Complete Implementation Guide

  • doramadhusudan
  • Jul 30
  • 7 min read

Updated: Aug 6

Embedding analytics into your application transforms how customers interact with data moving from static dashboards to interactive, contextual insights embedded directly in your product. Power BI Embedded Analytics enables SaaS vendors, ISVs, and enterprises to white-label Microsoft's enterprise BI platform into their own applications.


This guide covers Power BI Embedded Analytics architecture, pricing, implementation patterns, and licensing considerations to help you decide if Power BI Embedded is right for your use case.


What Is Power BI Embedded Analytics?


Power BI Embedded Analytics is Microsoft's offering that lets you embed interactive Power BI reports, dashboards, and visuals into web applications and portals. Unlike Power BI Pro/Premium (designed for internal business users), Embedded is built for:


- SaaS vendors embedding analytics into their product for end customers

- ISVs white-labeling BI capabilities under their own brand

- Enterprises embedding departmental dashboards into internal portals without requiring Power BI licenses for every viewer


Key capabilities:

- Fully interactive reports with drill-through, filters, slicers, and bookmarks

- White-label branding (no Power BI logo, custom themes)

- Row-level security (RLS) for multi-tenant data isolation

- Programmatic report generation and parameter passing

- REST APIs for embedding, authentication, and lifecycle management


Power BI Embedded vs Power BI Service


Factor

Power BI Embedded

Power BI Service (Pro/Premium)

Primary Use Case

Embed analytics in external-facing applications

Internal business intelligence and reporting

Licensing Model

Azure capacity-based (hourly)

Per-user licenses ($10–$20/user/month)

Branding

White-label (your logo, no Power BI branding)

Microsoft Power BI branded

Target Audience

External customers, partners, and public users

Internal employees and organizational users

Authentication

App-owns-data (service principal) or user-owns-data

Azure AD organizational accounts only

Row-Level Security (RLS)

Multi-tenant RLS (isolates customer data)

Internal RLS (department- or role-based access)

Cost Model

Pay for compute capacity (scale up or down as needed)

Fixed per-user licensing cost

When to use Embedded:

- You're a SaaS vendor embedding analytics into your product

- You need white-label branding

- Your users don't have Microsoft 365 / Azure AD accounts

- You want to monetize analytics as a product feature


When to use Power BI Service:

- Internal BI for employees

- Users have organizational Azure AD accounts

- Self-service BI and collaboration are priorities


Power BI Embedded Pricing


Power BI Embedded uses capacity-based licensing purchased through Azure. You provision a capacity tier (measured in v-cores), and billing is hourly.


Pricing Tiers (2026 Azure Pricing, US East)


Tier

v-Cores

RAM

Cost/

Hour

Cost/Month (24x7)

Best For

A1

1

3 GB

$1.00

~$730

Dev/test, small pilots

A2

2

5 GB

$2.00

~$1,460

Small production

(< 1,000 users)

A3

4

10 GB

$4.00

~$2,920

Medium workloads

(1k-5k users)

A4

8

25 GB

$8.00

~$5,840

High concurrency

(5k-15k users)

A5

16

50 GB

$16.00

~$11,680

Enterprise scale

(15k+ users)

A6

32

100 GB

$32.00

~$23,360

Very large deployments

Cost optimization strategies:

1. Pause capacity when not in use: Only pay for active hours (e.g., business hours only)

2. Autoscale: Use Azure Automation to scale up during peak hours, scale down overnight

3. Start small: Begin with A1 or A2, scale up as usage grows

4. Monitor usage: Azure Monitor tracks query times, refresh performance, and user concurrency


For most SaaS applications, A2 or A3 tiers handle production workloads cost-effectively. Clients typically start with A2 ($1,460/month) and scale to A3 as user adoption grows delivering 30–50% cost savings vs. per-user Power BI Premium licensing.


Architecture Patterns


1. App-Owns-Data (Most Common for SaaS)


In app-owns-data mode:

- Your application authenticates to Power BI using a service principal(Azure AD app registration)

- The app retrieves an embed token and injects it into the user's browser

- Users see data based on row-level security (RLS) you define in Power BI

- No Power BI license required for end users


Architecture flow:

1. User logs into your SaaS app (your own auth system)

2. Your app backend authenticates to Azure AD as service principal

3. App calls Power BI REST API to get embed token with RLS context (e.g., `CustomerID=123`)

4. App returns HTML page with Power BI JavaScript SDK + embed token

5. User sees Power BI report filtered to their data


Use case: Multi-tenant SaaS where customers should only see their own data.


2. User-Owns-Data (Less Common)


In user-owns-data mode:

- End users authenticate directly to Power BI using their own Azure AD accounts

- Your app facilitates the embed, but users bring their own Power BI access


Use case: Enterprise portals where users already have Power BI Pro/Premium licenses.


3. Hybrid: Internal + External Embedding


Some organizations use [Power BI Premium](/power-bi-consulting) for internal users and Power BI Embedded for external portals:

- Employees access full Power BI Service with Pro licenses

- Customers/partners see embedded reports via app-owns-data

- Single semantic model serves both audiences (with RLS for isolation)


Implementation Steps


Step 1: Provision Azure Capacity

1. Create an Azure subscription (if you don't have one)

2. Provision a Power BI Embedded capacity (A1-A6 tier)

3. Assign the capacity to a Power BI workspace


Step 2: Create Service Principal

1. Register an Azure AD application

2. Grant it Power BI Service permissions

(`Report.ReadWrite.All`, `Dataset.ReadWrite.All`)

3. Add the service principal as a workspace admin in Power BI


Step 3: Build Reports with RLS

1. Design Power BI reports in Power BI Desktop

2. Define row-level security roles in the semantic model

(e.g., `CustomerID = USERNAME()`)

3. Publish reports to the Power BI workspace assigned to Embedded capacity


Step 4: Embed Reports in Your App

1. Use the Power BI JavaScript SDK (or REST API for server-side embedding)

2. Authenticate as service principal, generate embed token with RLS context

3. Render report in an iframe using the SDK


Power BI Embedded RLS Example
Power BI Embedded RLS Example

Step 5: Handle Refresh & Data Sources

- Schedule dataset refresh in Power BI (or use Power BI REST API)

- Connect to data sources (Azure SQL, Synapse, Fabric, Snowflake, APIs)

- Configure gateway (if on-premise data sources are used)


Aptocoiner Analytics delivers [Power BI implementation services] including row-level security design, embed token lifecycle management, and autoscale capacity optimization clients report 30–50% faster dashboard load times through optimized semantic models and incremental refresh.


Row-Level Security for Multi-Tenant Applications


RLS is critical for SaaS applications. Without it, all customers see all data.


Best practices:

1. Design roles in Power BI Desktop: Define filters like `[CustomerID] = USERNAME()`

2. Pass identity at embed time: Generate embed tokens with `identities` parameter

3. Test thoroughly: Verify each customer sees only their data

4. Audit access: Log which users access which reports


Power BI Embedded Custom Theme
Power BI Embedded Custom Theme

When the embed token is generated with `username: 'customer@example.com'`, the report automatically filters to `CustomerID = 'customer@example.com'`.


White-Label Branding


Power BI Embedded supports full white-labeling:

- Custom themes: JSON-based theming for colors, fonts, borders

- No Power BI logo: Remove Microsoft branding entirely

- Custom navigation: Hide Power BI navigation, use your app's nav

- Custom actions: Intercept filter changes, bookmark selections, drill-throughs


Power BI Embedded Embed Token Code
Power BI Embedded Embed Token Code

Apply the theme programmatically via the JavaScript SDK or set as default in Power BI Desktop.


Common Challenges & Solutions


Challenge 1: Slow Report Load Times

Solution:

- Use incremental refres for large datasets

- Optimize DAX measures (avoid calculated columns)

- Pre-aggregate data in the [data warehouse layer](/data-warehouse-consulting)

- Upgrade to higher capacity tier (more v-cores = more query parallelism)


Challenge 2: Capacity Scaling

Solution:

- Implement Azure Automation runbooks to scale capacity based on time-of-day or load

- Monitor CPU usage via Azure Monitor; scale up if sustained > 80%

- Pause capacity during off-hours (for non-24x7 applications)


Challenge 3: RLS Complexity

Solution:

- Use [Microsoft Fabric] or Azure Synapse for centralized RLS logic

- Build a mapping table (UserID → CustomerID) in the semantic model

- Test RLS with `View as Role` in Power BI Desktop before embedding


Challenge 4: Token Expiration

Solution:

- Embed tokens expire after 60 minutes

- Implement token refresh logic in your app (regenerate token before expiry)

- Use event listeners in the JavaScript SDK to detect token expiration


Power BI Embedded vs Alternatives


Platform

Best For

Pricing Model

Learning Curve

Power BI Embedded

Microsoft stack, Azure-native apps, white-label SaaS

Capacity-based (hourly)

Moderate (DAX, RLS, embed SDK)

Tableau Embedded

Cross-platform, design-heavy dashboards

Per-user or core-based

Steep (LOD expressions, server config)

Looker Embedded

Cloud-native, API-first BI

User-based or platform fee

Moderate (LookML, API)

Metabase

Open-source, lightweight embedding

Free (self-hosted) or SaaS

Low (SQL-based)

For organizations already using [Microsoft Fabric], Azure, or Office 365, Power BI Embedded offers the tightest integration and lowest total cost of ownership.


Frequently Asked Questions


Q: Can I use Power BI Embedded without Azure AD?

A: Yes, in app-owns-data mode. Your application authenticates via service principal; end users don't need Azure AD accounts. You control authentication (username/password, SSO, OAuth) in your app, then pass identity to Power BI for RLS.


Q: How do I estimate the right capacity tier?

A: Start with A2 (2 v-cores) for < 1,000 concurrent users. Monitor CPU usage in Azure Monitor. If queries slow down or CPU sustains > 80%, scale to A3. Most SaaS apps fit comfortably in A2-A4 range. Aptocoiner's Power BI consulting includes capacity sizing based on expected concurrency and query complexity.


Q: Can I embed paginated reports (SSRS-style reports)?

A: Yes, but only with Power BI Premium capacity (not A-SKU Embedded capacity). If you need paginated reports, use Premium Per User or Premium capacity (P-SKU). Alternatively, switch to Premium Per Capacity (EM-SKU which supports both interactive and paginated reports.



Ready to Embed Analytics Into Your Application?


Whether you're a SaaS vendor building embedded analytics from scratch or an enterprise modernizing internal portals, Aptocoiner Analytics brings certified Power BI expertise to every engagement. Our Microsoft-certified engineers have delivered proven Power BI Embedded implementations for US and UK software companies, with measurable outcomes: 30–50% faster dashboard rendering through optimized semantic models, autoscale capacity management, and multi-tenant RLS design.


From [Microsoft Fabric data platform integration] to white-label dashboard design, we architect embedded analytics solutions that scale with your business.


[Schedule a free discovery call] to discuss your Power BI Embedded project.


 
 
 

Comments


bottom of page