Power BI SharePoint How To Setup Power BI Integration With SharePoint Online
Integrating Power BI with SharePoint Online creates a seamless analytics experience where reports and dashboards are embedded directly in the collaboration spaces where teams already work. This integration enables organizations to surface data-driven insights within SharePoint pages, use SharePoint lists as data sources, and publish reports to document libraries for governed distribution across the enterprise.
Embedding Power BI Reports in SharePoint Online Pages
The Power BI web part for SharePoint Online allows you to embed interactive reports directly into modern SharePoint pages. Users can interact with visuals, apply filters, and explore data without leaving SharePoint.
- Power BI web part – Add the built-in Power BI web part to any modern SharePoint page by editing the page and selecting "Power BI" from the web part gallery
- Report URL – Paste the Power BI report URL from the Service (app.powerbi.com) into the web part configuration. The report renders with full interactivity.
- Specific page – Configure the web part to display a specific report page rather than the first page by appending the page name to the URL
- Filter parameters – Pass URL filter parameters to pre-filter the embedded report based on SharePoint context (e.g., department page showing only that department's data)
- Authentication – Users authenticate automatically through Azure AD SSO. They see only data permitted by their Power BI Pro license and any RLS roles.
- Responsive layout – Power BI reports render responsively within the web part, adapting to the column layout of the SharePoint page section
Using SharePoint Lists as Power BI Data Sources
SharePoint lists are a common data source for business processes, project tracking, and operational data. Power BI can connect directly to SharePoint Online lists, transforming operational data into visual analytics.
- SharePoint Online List connector – In Power BI Desktop, select Get Data > Online Services > SharePoint Online List. Enter the site URL to browse available lists.
- OData feed alternative – Connect to SharePoint lists via the OData feed connector using the list's REST API URL for more control over query parameters
- Multiple lists – Connect to multiple lists from the same site or different sites and create relationships between them in the Power BI model
- Column types – Choice columns, lookup columns, person/group columns, and managed metadata columns are automatically expanded during import
- Large list support – Power BI can import lists with over 5,000 items (exceeding the SharePoint view threshold) since it uses REST API pagination
- Scheduled refresh – Configure scheduled refresh in Power BI Service to keep reports current. No gateway required for SharePoint Online data.
-- Power Query M code for SharePoint Online List
let
Source = SharePoint.Tables(
"https://contoso.sharepoint.com/sites/Projects",
[Implementation="2.0", ViewMode="All"]
),
ProjectTracker = Source{[Title="Project Tracker"]}[Items],
SelectColumns = Table.SelectColumns(ProjectTracker, {
"Title", "Status", "AssignedTo", "DueDate",
"Priority", "Category", "PercentComplete"
})
in
SelectColumnsPublishing Power BI Reports to SharePoint Document Libraries
Organizations can save Power BI Desktop files (.pbix) to SharePoint document libraries for version control, backup, and team collaboration on report development.
- Version history – SharePoint's versioning tracks all changes to .pbix files, enabling rollback to previous report versions
- Co-authoring workflow – Check out .pbix files before editing to prevent conflicts when multiple developers work on the same report
- OneDrive sync – Sync the document library to local OneDrive for seamless editing in Power BI Desktop with automatic cloud backup
- Auto-publish – Configure Power BI to automatically publish from OneDrive for Business, keeping the Service version in sync with the latest saved file
- Access control – Leverage SharePoint permissions to control who can download and edit .pbix source files separately from who can view published reports
Step-by-Step Setup Guide
Follow these steps to configure a complete Power BI and SharePoint Online integration from data connection through embedded report deployment.
- Step 1: Connect to data – In Power BI Desktop, use Get Data > SharePoint Online List to connect to your SharePoint data. Select the required lists and transform data in Power Query.
- Step 2: Build the model – Create relationships between tables, define calculated columns and measures, and build the report visuals in Power BI Desktop.
- Step 3: Publish to Service – Publish the report to a Power BI workspace. Ensure users who will view the embedded report have Power BI Pro licenses or the workspace is on Premium capacity.
- Step 4: Configure refresh – In Power BI Service, configure dataset credentials (OAuth2 for SharePoint Online) and set up a scheduled refresh cadence.
- Step 5: Get the report URL – Open the report in Power BI Service and copy the URL from the browser address bar.
- Step 6: Embed in SharePoint – Edit a SharePoint modern page, add the Power BI web part, paste the report URL, and publish the page.
- Step 7: Test and validate – Verify the report renders correctly, data refreshes on schedule, and RLS restricts data appropriately for different users.
Enterprise Governance and Best Practices
Deploying Power BI reports across SharePoint at enterprise scale requires governance policies that ensure consistency, security, and maintainability.
- Workspace naming conventions – Align Power BI workspace names with SharePoint site names for clear ownership mapping
- Certified datasets – Mark authoritative datasets as "Certified" in Power BI to guide users toward trusted data sources
- Row-level security – Implement RLS to ensure embedded reports show appropriate data based on the SharePoint user's identity
- Sensitivity labels – Apply Microsoft Purview sensitivity labels to both SharePoint content and Power BI datasets for consistent data classification
- Performance monitoring – Use Power BI Premium metrics to monitor embedded report rendering times and optimize slow queries
Why Choose EPC Group for SharePoint and Power BI Integration
EPC Group has been delivering SharePoint and Power BI solutions for 28+ years as a Microsoft Gold Partner. Our founder, Errin O'Connor, authored 4 bestselling Microsoft Press books covering both SharePoint and Power BI, giving our team unmatched expertise in integrating these platforms for Fortune 500 organizations. We specialize in enterprise-scale deployments where governance, security, and performance are non-negotiable.
Bring Power BI Analytics into Your SharePoint Workspace
Let EPC Group's SharePoint and Power BI experts design an integrated analytics experience that puts data-driven insights directly in your team's collaboration spaces.
Frequently Asked Questions
Do users need Power BI licenses to view embedded reports in SharePoint?
Yes. Users viewing Power BI reports embedded in SharePoint need either a Power BI Pro license ($10/month) or the workspace must be hosted on Power BI Premium capacity (which allows free viewers). There is no way to bypass licensing for the Power BI web part. If you need to share reports with unlicensed users, consider using Power BI Embedded with a custom application or publishing paginated reports to SharePoint instead.
Can I embed Power BI reports in SharePoint classic pages?
The native Power BI web part only works with modern SharePoint pages. For classic pages, you can use the Embed web part with the Power BI report's iframe embed code, but this provides a less integrated experience. Microsoft recommends migrating to modern pages for the best Power BI integration experience. EPC Group can assist with modernizing classic SharePoint sites as part of a comprehensive Power BI integration project.
How do I handle large SharePoint lists with over 100K items?
Power BI handles large SharePoint lists by paginating through the REST API, so the 5,000-item view threshold does not apply. However, import performance may be slow for very large lists (100K+ items). Best practices include: use incremental refresh to only import changed items, filter data in Power Query to exclude unnecessary rows, consider moving very large datasets to SQL Server or Dataverse for better performance, and schedule refreshes during off-peak hours.
Can I pass SharePoint page context to filter embedded Power BI reports?
Yes. You can append URL filter parameters to the Power BI report URL in the web part configuration. For example, adding ?filter=Sales/Region eq 'West' pre-filters the report to the West region. For dynamic filtering based on page metadata, use Power Automate to generate context-specific embed URLs or build a custom SPFx web part that reads SharePoint page properties and passes them as Power BI filter parameters.
Is an on-premises data gateway needed for SharePoint Online lists?
No. SharePoint Online lists are cloud-based, so Power BI connects directly without a gateway. The data gateway is only required for on-premises data sources like SharePoint Server (2013/2016/2019), SQL Server, file shares, or other systems hosted inside your corporate network. For SharePoint Online, you configure OAuth2 credentials directly in the Power BI Service dataset settings.
Related Resources
Continue exploring power bi insights and services