Part of our Data Analytics & BI series
Read the complete guidePower BI + SharePoint: Embedding Reports in Your Intranet
SharePoint is the most widely deployed intranet platform in the world — and when Power BI reports live inside your SharePoint pages, analytics become part of how employees work rather than something they must navigate to separately. Microsoft has made this integration remarkably seamless: no iframe URLs, no authentication prompts, no developer setup required for basic embedding.
Yet the deeper integration capabilities — SharePoint lists as live data sources, automatic permission inheritance, mobile-optimized layouts, and Teams channels connected to SharePoint pages with embedded reports — are widely underutilized. This guide covers the complete integration from basic embedding to enterprise-scale SharePoint analytics portals.
Key Takeaways
- Power BI web part embeds reports in SharePoint pages with one-click, no developer setup required
- SharePoint users with Power BI Pro (or Premium access) automatically see the embedded report with their own RLS-filtered view
- SharePoint Lists connect to Power BI as live data sources — track project data, KPIs, issue logs
- Permission sync: SharePoint page permissions do NOT automatically control Power BI access — you must configure both
- Mobile: Power BI's Phone Layout optimizes embedded reports for SharePoint Mobile app users
- Teams channels with SharePoint tabs inherit the same embedding behavior
- SharePoint Online acts as a URL-based sharing layer — use "Publish to web" only for public data
- Power Automate can push SharePoint list changes to Power BI streaming datasets for real-time dashboards
Embedding Methods Overview
| Method | Complexity | User Auth Required | Mobile Support | Cost |
|---|---|---|---|---|
| Power BI Web Part | Low | Yes (Power BI Pro) | Yes | Included |
| Embed URL (secure) | Low | Yes (Azure AD) | Yes | Included |
| Publish to Web | None | No (public) | Yes | Free (public only) |
| Power BI Embedded | High | Service Principal | Yes | A SKU required |
Method 1: Power BI Web Part (Recommended)
The Power BI web part is built into SharePoint Online's modern page editor. No developer setup, no code, no external URLs required.
Step-by-Step Setup
Step 1: Prepare your Power BI report
Before embedding, ensure:
- Report is published to Power BI Service (not just Desktop)
- Report is in a workspace that users can access (with Power BI Pro or Premium)
- Row-level security roles are configured if data isolation is needed
Step 2: Edit a SharePoint page
- Navigate to the SharePoint page where you want to embed the report
- Click Edit (top right)
- Click + to add a new web part section
- Search for "Power BI" in the web part picker
- Select the Power BI web part
Step 3: Configure the web part
- Click "Select a report" in the web part configuration panel
- Browse your Power BI workspaces and select the target report
- Choose which page of the report to display (for multi-page reports)
- Configure web part behavior:
- Navigation: Show/hide the page navigation bar
- Filter pane: Show/hide the filter pane
- Bookmarks: Which bookmarks to expose
- Report height: Fixed (px) or dynamic
Step 4: Set web part visibility
Use SharePoint's section targeting (Audience Targeting) to show the web part only to specific groups:
- Enable Audience Targeting in the Library settings
- Configure which AD groups see the web part
- Note: This controls visibility, not data access — RLS in Power BI controls data
Step 5: Publish the page
Save and publish. Users who visit the SharePoint page now see the embedded Power BI report — rendered within the page, respecting their own RLS data filter, without any additional login prompt (single sign-on via Azure AD).
Method 2: Embed URL (Secure Embedding)
For more control over the embedding experience — custom sizing, specific visual embedding, filter context passed from SharePoint — use the secure embed URL:
- In Power BI Service: Open report → File → Embed report → SharePoint Online
- Copy the embed link (format:
https://app.powerbi.com/reportEmbed?reportId=...&autoAuth=true) - In SharePoint: Add a "Page Viewer" or "Embed" web part
- Paste the embed URL
This method supports passing SharePoint page context (current user, current list item) to Power BI filters via URL parameters.
Filtering Embedded Reports via URL
Append filter parameters to the embed URL to pre-filter the report based on SharePoint page context:
https://app.powerbi.com/reportEmbed?reportId={id}&filter=Table/Field eq 'Value'
For SharePoint project sites showing a project-specific dashboard, use JavaScript in a Script Editor web part to dynamically construct the filter URL based on the current SharePoint site's project ID.
SharePoint Lists as Power BI Data Sources
SharePoint Lists are underutilized as a Power BI data source. They are ideal for:
- Project tracking: Status, milestones, owners — updated by PMs in SharePoint, visualized in Power BI
- KPI tracking: Business units enter monthly KPIs in a SharePoint list; Power BI shows trends
- Issue and risk logs: Teams log risks in SharePoint lists; Power BI aggregates across all projects
- Budget tracking: Finance enters actuals in SharePoint; Power BI compares to budget
Connecting Power BI to SharePoint Lists
Option A: SharePoint Online List connector
- Get Data → SharePoint Online List
- URL:
https://yourcompany.sharepoint.com/sites/ProjectHub - Select the lists to import
- Power Query transforms raw SharePoint columns (including People, Choice, Lookup fields)
Handling SharePoint column types in Power Query:
// Expand a Person/Group column from SharePoint
Source = SharePoint.Tables("https://company.sharepoint.com/sites/ProjHub"),
GetList = Source{[Title="Project Tracker"]}[Items],
ExpandPerson = Table.ExpandRecordColumn(GetList, "Owner",
{"Title", "EMail"},
{"Owner.Name", "Owner.Email"}),
ExpandChoice = Table.AddColumn(ExpandPerson, "Status Label",
each [Status.Value], type text)
Option B: SharePoint Folder connector (for files)
For SharePoint document libraries with Excel files (e.g., monthly budget files):
// Read all Excel files from a SharePoint folder
Source = SharePoint.Files("https://company.sharepoint.com/sites/Finance"),
FilterExcel = Table.SelectRows(Source, each Text.EndsWith([Name], ".xlsx")),
AddContent = Table.AddColumn(FilterExcel, "Data",
each Excel.Workbook([Content], true, true)),
Expand = Table.ExpandTableColumn(AddContent, "Data", {"Name", "Data"})
This creates a self-updating dataset from a SharePoint folder — new Excel files added to the folder automatically appear in Power BI after the next refresh.
Real-Time SharePoint Data with Streaming
For real-time KPI updates from SharePoint lists (e.g., help desk ticket count, active projects):
- Create a Power BI streaming dataset (API-based)
- In Power Automate: Trigger → SharePoint item created/modified → Action → Send data to Power BI streaming dataset
- Power BI streaming dashboard shows updates within seconds of SharePoint list changes
Permission Architecture: SharePoint + Power BI
This is the most common source of confusion in SharePoint + Power BI integrations.
Key principle: SharePoint permissions and Power BI permissions are independent systems. Both must be configured correctly.
| Layer | Controls | Where Configured |
|---|---|---|
| SharePoint page access | Who can view the SharePoint page | SharePoint site permissions |
| Power BI report access | Who can view the report in Power BI Service | Power BI workspace membership |
| Power BI RLS | Which data rows each viewer sees | Power BI dataset RLS roles |
| Web part visibility | Which SharePoint user groups see the web part | SharePoint audience targeting |
Permission Configuration Checklist
- SharePoint page: Add users/groups to the SharePoint site with at least Read access
- Power BI workspace: Add users/groups with Viewer role (minimum) or share the report individually
- Power BI RLS: Define roles in Power BI Desktop, assign users/groups to roles in Power BI Service
- No double permissions needed: If user has Power BI Pro + SharePoint Read + Power BI Viewer access, they will see the embedded report correctly
Common Permission Errors
"You don't have access to this content" — User has SharePoint access but not Power BI workspace access. Solution: Add user to Power BI workspace as Viewer, or publish the report to a Premium workspace and grant free user access.
"This content is available to Power BI users only" — User lacks Power BI Pro license and the workspace is not on Premium capacity. Solution: Assign Pro license or move workspace to Premium.
User sees more data than expected — RLS is not configured. Solution: Define RLS roles in Power BI dataset, assign users to appropriate roles.
Mobile Experience: SharePoint + Power BI on Mobile
Power BI Phone Layout
Design a phone-optimized layout for reports embedded in SharePoint Mobile:
- In Power BI Desktop: View → Mobile Layout
- Drag and rearrange visuals for the phone canvas (portrait, narrow format)
- Prioritize top 3-4 KPIs above the fold
- Publish with the mobile layout — SharePoint Mobile automatically detects and uses it
SharePoint Mobile App with Embedded Reports
The SharePoint Mobile app (iOS and Android) renders Power BI web parts natively. Users who access a SharePoint page from the mobile app see the embedded Power BI report with full interactivity — filter selections, drill-through, and cross-filtering all work on mobile.
Optimization tips for mobile embedded reports:
- Limit visuals per page to 4-6 maximum
- Use large font sizes (14pt minimum for data labels)
- Avoid complex tables — use KPI cards and simple charts
- Configure default slicer values to reduce mobile interactions needed
SharePoint Analytics Portal: Architecture
For organizations wanting a SharePoint-based analytics portal (replacing a separate BI portal):
Hub Site Architecture
SharePoint Hub Site (Analytics Portal)
├── Home Page — Executive Summary (embedded Power BI)
├── Finance Section — P&L, Balance Sheet, Cash Flow dashboards
├── Sales Section — Pipeline, performance, regional dashboards
├── Operations Section — Inventory, production, logistics dashboards
└── HR Section — Headcount, turnover, absence dashboards
Each section is a SharePoint site associated with the Hub, inheriting hub navigation. Power BI reports are embedded in each section's pages using the Power BI web part with appropriate RLS to show only relevant data to each department.
Teams + SharePoint + Power BI Integration
Microsoft Teams channels with SharePoint site connections provide the complete modern workplace analytics experience:
- Create a Teams channel for each department
- Add a SharePoint tab in the channel pointing to the department's analytics page
- Set up Teams notifications via Power Automate when key KPIs breach thresholds (e.g., sales below target, inventory below reorder point)
Users see analytics in context — directly in their Teams channel alongside conversations, files, and tasks.
Frequently Asked Questions
Do SharePoint users need a Power BI Pro license to view embedded reports?
Yes, in most cases. Users need a Power BI Pro license ($10/user/month) to view reports embedded from standard Power BI workspaces. The exception: if your organization has Power BI Premium Capacity (P1+) or Microsoft Fabric capacity, free users can view reports from Premium workspaces embedded in SharePoint without a Pro license. This makes Premium cost-effective when many SharePoint users need read access to dashboards.
Can I embed a Power BI report in SharePoint On-Premises (not Online)?
Direct Power BI web part embedding is only available in SharePoint Online. For SharePoint On-Premises (2016, 2019), you can use the Page Viewer web part with the secure embed URL, but you lose automatic SSO — users must sign into Power BI separately. Power BI Report Server (on-premises) integrated with SharePoint On-Premises provides a better experience for organizations not on SharePoint Online.
Can the Power BI report filter based on which SharePoint page the user is on?
Yes — using URL parameter filtering. Configure the embed URL to include filter parameters that correspond to the SharePoint page context (e.g., a project site showing a report filtered to that project's data). This requires a small JavaScript web part or SharePoint Framework (SPFx) solution to dynamically construct the filter URL from SharePoint page metadata.
How do SharePoint list changes refresh in Power BI?
SharePoint List data in Power BI refreshes on the standard scheduled refresh cycle (up to 8 times/day on Pro, 48 on Premium). For real-time updates, use Power Automate: when a SharePoint list item is added or modified, trigger a Power Automate flow that pushes the data to a Power BI streaming dataset. The streaming dataset updates the dashboard within seconds.
Can I use Power BI in SharePoint to replace SharePoint's built-in list views?
Power BI can supplement SharePoint list views with aggregated analytics and trend visualization — but it does not replace list views for viewing individual records. The typical pattern: SharePoint list view for operational record management (edit, filter, sort individual items), Power BI dashboard embedded on the same page for aggregate analytics (totals, trends, comparisons). Both serve different purposes and work well together.
What happens to the embedded report if Power BI Service is down?
If Power BI Service experiences an outage, embedded reports in SharePoint will show an error message instead of the report. The SharePoint page itself remains accessible — only the Power BI web part is affected. Power BI's SLA for the commercial service is 99.9% uptime, making brief disruptions rare. For critical operational dashboards, consider caching a static screenshot as a fallback.
Next Steps
Embedding Power BI in SharePoint transforms your intranet from a document repository into an active analytics platform. Employees find insights where they already work — not in a separate BI portal they must remember to visit.
ECOSIRE's Power BI practice includes SharePoint integration as part of embedded analytics implementations. We design the permission architecture, build SharePoint-optimized report layouts, and connect SharePoint Lists to Power BI dashboards for real-time operational tracking.
Explore our Power BI embedded analytics services for SharePoint integration details, or contact our team to discuss your SharePoint analytics portal requirements.
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Unlock Data-Driven Decisions
Custom Power BI dashboards, data modeling, and embedded analytics solutions.
Related Articles
Data Warehouse for Business Intelligence: Architecture & Implementation
Build a modern data warehouse for business intelligence. Compare Snowflake, BigQuery, Redshift, learn ETL/ELT, dimensional modeling, and Power BI integration.
Power BI Customer Analytics: RFM Segmentation & Lifetime Value
Implement RFM segmentation, cohort analysis, churn prediction visualization, CLV calculation, and customer journey mapping in Power BI with DAX formulas.
Power BI Financial Dashboard: CFO's Complete Guide
Build executive financial dashboards in Power BI with P&L, balance sheet, cash flow, variance analysis, forecasting, drill-through, and row-level security.
More from Data Analytics & BI
Accounting KPIs: 30 Financial Metrics Every Business Should Track
Track 30 essential accounting KPIs including profitability, liquidity, efficiency, and growth metrics like gross margin, EBITDA, DSO, DPO, and inventory turns.
Data Warehouse for Business Intelligence: Architecture & Implementation
Build a modern data warehouse for business intelligence. Compare Snowflake, BigQuery, Redshift, learn ETL/ELT, dimensional modeling, and Power BI integration.
Power BI Customer Analytics: RFM Segmentation & Lifetime Value
Implement RFM segmentation, cohort analysis, churn prediction visualization, CLV calculation, and customer journey mapping in Power BI with DAX formulas.
Power BI vs Excel: When to Upgrade Your Business Analytics
Power BI vs Excel comparison for business analytics covering data limits, visualization, real-time refresh, collaboration, governance, cost, and migration.
Predictive Analytics for Business: A Practical Implementation Guide
Implement predictive analytics across sales, marketing, operations, and finance. Model selection, data requirements, Power BI integration, and data culture guide.
Shopify Analytics: Making Data-Driven Decisions
Master Shopify analytics to make better business decisions. Covers native Shopify reports, GA4 integration, key ecommerce metrics, cohort analysis, and custom dashboards.