属于我们的Data Analytics & BI系列
阅读完整指南Power BI + SharePoint:将报表嵌入到您的 Intranet 中
SharePoint 是世界上部署最广泛的 Intranet 平台 - 当 Power BI 报表位于 SharePoint 页面内时,分析就成为员工工作方式的一部分,而不是他们必须单独导航到的内容。 Microsoft 使这种集成变得非常无缝:没有 iframe URL、没有身份验证提示、基本嵌入不需要开发人员设置。
然而,更深层次的集成功能(SharePoint 列表作为实时数据源、自动权限继承、移动优化布局以及连接到带有嵌入式报告的 SharePoint 页面的 Teams 通道)却普遍未得到充分利用。本指南涵盖了从基本嵌入到企业级 SharePoint 分析门户的完整集成。
要点
- Power BI Web 部件一键将报表嵌入 SharePoint 页面,无需开发人员设置
- 具有 Power BI Pro(或 Premium 访问权限)的 SharePoint 用户会自动查看带有自己的 RLS 筛选视图的嵌入报表
- SharePoint 列表作为实时数据源连接到 Power BI — 跟踪项目数据、KPI、问题日志
- 权限同步:SharePoint 页面权限不会自动控制 Power BI 访问 - 您必须配置两者
- 移动:Power BI 的手机布局为 SharePoint Mobile 应用程序用户优化了嵌入式报告
- 具有 SharePoint 选项卡的 Teams 频道继承相同的嵌入行为
- SharePoint Online 充当基于 URL 的共享层 - 仅对公共数据使用“发布到网络”
- Power Automate 可以将 SharePoint 列表更改推送到 Power BI 流数据集以实现实时仪表板
嵌入方法概述
| 方法 | 复杂性 | 需要用户身份验证 | 移动支持 | 成本 |
|---|---|---|---|---|
| Power BI Web 部件 | 低 | 是(Power BI Pro) | 是的 | 包含 |
| 嵌入 URL(安全) | 低 | 是 (Azure AD) | 是的 | 包含 |
| 发布到网络 | 无 | 否(公开) | 是的 | 免费(仅限公众) |
| Power BI 嵌入式 | 高 | 服务负责人 | 是的 | 需要 SKU |
方法 1:Power BI Web 部件(推荐)
Power BI Web 部件内置于 SharePoint Online 的现代页面编辑器中。无需开发人员设置,无需代码,无需外部 URL。
分步设置
第 1 步:准备 Power BI 报告
嵌入之前,请确保:
- 报告发布到 Power BI 服务(不仅仅是桌面)
- 报表位于用户可以访问的工作区中(使用 Power BI Pro 或 Premium)
- 如果需要数据隔离,则配置行级安全角色
步骤 2:编辑 SharePoint 页面
- 导航到要嵌入报表的 SharePoint 页面
- 单击“编辑”(右上角)
- 单击 ++ 添加新的 Web 部件部分
- 在 Web 部件选择器中搜索 “Power BI”
- 选择 Power BI Web 部件
步骤 3:配置 Web 部件
- 在 Web 部件配置面板中单击“选择报告”
- 浏览您的 Power BI 工作区并选择目标报表
- 选择要显示的报告页面(对于多页报告)
- 配置 Web 部件行为:
- 导航:显示/隐藏页面导航栏
- 过滤器窗格:显示/隐藏过滤器窗格
- 书签:要公开哪些书签
- 报告高度:固定(px)或动态
步骤 4:设置 Web 部件可见性
使用 SharePoint 的部分定位(受众定位)仅向特定组显示 Web 部件:
- 在库设置中启用受众定位
- 配置哪些 AD 组可以查看 Web 部件
- 注意:这控制可见性,而不是数据访问 - Power BI 中的 RLS 控制数据
第5步:发布页面
保存并发布。访问 SharePoint 页面的用户现在可以看到嵌入的 Power BI 报告 - 在页面内呈现,尊重他们自己的 RLS 数据过滤器,无需任何额外的登录提示(通过 Azure AD 单点登录)。
方法 2:嵌入 URL(安全嵌入)
要更好地控制嵌入体验(自定义大小、特定视觉嵌入、从 SharePoint 传递的筛选上下文),请使用安全嵌入 URL:
- 在 Power BI 服务中:打开报表 → 文件 → 嵌入报表 → SharePoint Online
2.复制嵌入链接(格式:
https://app.powerbi.com/reportEmbed?reportId=...&autoAuth=true) - 在 SharePoint 中:添加“页面查看器”或“嵌入”Web 部件
- 粘贴嵌入 URL
此方法支持通过 URL 参数将 SharePoint 页面上下文(当前用户、当前列表项)传递到 Power BI 筛选器。
通过 URL 过滤嵌入报告
将筛选器参数附加到嵌入 URL,以根据 SharePoint 页面上下文预先筛选报表:
https://app.powerbi.com/reportEmbed?reportId={id}&filter=Table/Field eq 'Value'
对于显示特定于项目的仪表板的 SharePoint 项目网站,请使用脚本编辑器 Web 部件中的 JavaScript 根据当前 SharePoint 网站的项目 ID 动态构建筛选器 URL。
SharePoint 列表作为 Power BI 数据源
SharePoint 列表作为 Power BI 数据源并未得到充分利用。它们非常适合:
- 项目跟踪:状态、里程碑、所有者 - 由 SharePoint 中的 PM 更新,在 Power BI 中可视化
- KPI 跟踪:业务部门在 SharePoint 列表中输入每月 KPI; Power BI 显示趋势
- 问题和风险日志:团队在 SharePoint 列表中记录风险; Power BI 聚合所有项目
- 预算跟踪:财务人员在 SharePoint 中输入实际值; Power BI 与预算的比较
将 Power BI 连接到 SharePoint 列表
选项 A:SharePoint Online 列表连接器
- 获取数据 → SharePoint Online 列表
- 网址:
https://yourcompany.sharepoint.com/sites/ProjectHub - 选择要导入的列表
- Power Query 转换原始 SharePoint 列(包括人员、选择、查找字段)
在 Power Query 中处理 SharePoint 列类型:
// 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)
选项 B:SharePoint 文件夹连接器(用于文件)
对于包含 Excel 文件的 SharePoint 文档库(例如每月预算文件):
// 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"})
这会从 SharePoint 文件夹创建一个自我更新的数据集 - 添加到该文件夹的新 Excel 文件会在下次刷新后自动显示在 Power BI 中。
实时 SharePoint 数据流
对于 SharePoint 列表中的实时 KPI 更新(例如,帮助台票数、活动项目):
- 创建 Power BI 流数据集(基于 API)
- 在 Power Automate 中:触发器 → 创建/修改 SharePoint 项目 → 操作 → 将数据发送到 Power BI 流数据集
- Power BI 流式仪表板在 SharePoint 列表更改后几秒钟内显示更新
权限架构:SharePoint + Power BI
这是 SharePoint + Power BI 集成中最常见的混乱来源。
关键原则:SharePoint 权限和 Power BI 权限是独立的系统。两者都必须正确配置。
| 层 | 控制 | 在哪里配置 |
|---|---|---|
| SharePoint 页面访问 | 谁可以查看 SharePoint 页面 | SharePoint 网站权限 |
| Power BI 报告访问 | 谁可以在 Power BI 服务中查看报表 | Power BI 工作区成员资格 |
| Power BI RLS | 每个查看者看到哪些数据行 | Power BI 数据集 RLS 角色 |
| Web 部件可见性 | 哪些 SharePoint 用户组可以查看 Web 部件 | SharePoint 受众定位 |
权限配置清单
- SharePoint 页面:将用户/组添加到至少具有读取访问权限的 SharePoint 网站
- Power BI 工作区:添加具有查看者角色(最低)的用户/组或单独共享报表
- Power BI RLS:定义 Power BI Desktop 中的角色,将用户/组分配给 Power BI Service 中的角色
- 不需要双重权限:如果用户具有 Power BI Pro + SharePoint Read + Power BI Viewer 访问权限,他们将正确看到嵌入的报表
常见权限错误
“您无权访问此内容” — 用户具有 SharePoint 访问权限,但没有 Power BI 工作区访问权限。解决方案:将用户作为查看者添加到 Power BI 工作区,或将报表发布到 Premium 工作区并授予免费用户访问权限。
“此内容仅适用于 Power BI 用户” — 用户缺少 Power BI Pro 许可证,并且工作区不具有高级容量。解决方案:分配 Pro 许可证或将工作区移至 Premium。
用户看到的数据比预期多 — RLS 未配置。解决方案:在 Power BI 数据集中定义 RLS 角色,将用户分配给适当的角色。
移动体验:移动设备上的 SharePoint + Power BI
Power BI 手机布局
为 SharePoint Mobile 中嵌入的报表设计手机优化的布局:
- 在 Power BI Desktop 中:视图 → 移动布局
- 拖动并重新排列手机画布的视觉效果(纵向、窄格式)
- 优先考虑首屏前 3-4 个 KPI
- 使用移动布局发布 - SharePoint Mobile 自动检测并使用它
带有嵌入式报告的 SharePoint 移动应用程序
SharePoint Mobile 应用程序(iOS 和 Android)以本机方式呈现 Power BI Web 部件。从移动应用程序访问 SharePoint 页面的用户可以看到具有完全交互性的嵌入式 Power BI 报告 - 筛选选择、钻取和交叉筛选移动设备上的所有工作。
移动嵌入式报告的优化技巧:
- 将每页的视觉效果限制为最多 4-6 个
- 使用大字体(数据标签至少 14pt)
- 避免复杂的表格——使用 KPI 卡和简单的图表
- 配置默认切片器值以减少所需的移动交互
SharePoint 分析门户:架构
对于需要基于 SharePoint 的分析门户(取代单独的 BI 门户)的组织:
中心站点架构
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
每个部分都是与中心关联的 SharePoint 网站,继承中心导航。 Power BI 报告使用 Power BI Web 部件和适当的 RLS 嵌入到每个部分的页面中,以仅向每个部门显示相关数据。
Teams + SharePoint + Power BI 集成
具有 SharePoint 站点连接的 Microsoft Teams 渠道提供完整的现代工作场所分析体验:
1.为每个部门创建Teams频道 2. 在指向部门分析页面的频道中添加 SharePoint 选项卡 3. 当关键 KPI 违反阈值(例如,销售额低于目标、库存低于再订购点)时,通过 Power Automate 设置 Teams 通知
用户可以直接在其 Teams 频道中查看上下文中的分析以及对话、文件和任务。
常见问题
SharePoint 用户是否需要 Power BI Pro 许可证才能查看嵌入式报表?
是的,在大多数情况下。用户需要 Power BI Pro 许可证(10 美元/用户/月)才能查看从标准 Power BI 工作区嵌入的报表。例外情况:如果您的组织具有 Power BI Premium 容量 (P1+) 或 Microsoft Fabric 容量,则免费用户无需 Pro 许可证即可查看嵌入在 SharePoint 中的 Premium 工作区中的报表。当许多 SharePoint 用户需要对仪表板进行读取访问时,这使得 Premium 具有成本效益。
我可以在本地 SharePoint(而非在线)中嵌入 Power BI 报表吗?
直接 Power BI Web 部件嵌入仅在 SharePoint Online 中可用。对于 SharePoint 本地部署(2016 年、2019 年),您可以将页面查看器 Web 部件与安全嵌入 URL 结合使用,但您会失去自动 SSO - 用户必须单独登录 Power BI。与 SharePoint On-Premises 集成的 Power BI 报表服务器(本地)为不在 SharePoint Online 上的组织提供了更好的体验。
Power BI 报表能否根据用户所在的 SharePoint 页面进行筛选?
是的 — 使用 URL 参数过滤。配置嵌入 URL 以包含与 SharePoint 页面上下文相对应的筛选器参数(例如,显示根据该项目数据筛选的报表的项目网站)。这需要一个小型 JavaScript Web 部件或 SharePoint 框架 (SPFx) 解决方案来从 SharePoint 页面元数据动态构建筛选器 URL。
SharePoint 列表更改如何在 Power BI 中刷新?
Power BI 中的 SharePoint 列表数据按标准计划刷新周期刷新(Pro 上每天最多 8 次,Premium 上每天最多 48 次)。对于实时更新,请使用 Power Automate:添加或修改 SharePoint 列表项时,触发 Power Automate 流,将数据推送到 Power BI 流数据集。流数据集在几秒钟内更新仪表板。
我可以在 SharePoint 中使用 Power BI 来替换 SharePoint 的内置列表视图吗?
Power BI 可以通过聚合分析和趋势可视化来补充 SharePoint 列表视图,但它不会取代用于查看单个记录的列表视图。典型模式:用于操作记录管理的 SharePoint 列表视图(编辑、筛选、排序单个项目)、嵌入同一页面的 Power BI 仪表板用于聚合分析(总计、趋势、比较)。两者都有不同的目的,但可以很好地协同工作。
如果 Power BI 服务关闭,嵌入式报表会发生什么情况?
如果 Power BI 服务遇到中断,SharePoint 中的嵌入报表将显示错误消息而不是报表。 SharePoint 页面本身仍然可访问 - 只有 Power BI Web 部件受到影响。 Power BI 商业服务的 SLA 为 99.9% 的正常运行时间,因此很少出现短暂的中断。对于关键的操作仪表板,请考虑缓存静态屏幕截图作为后备。
后续步骤
在 SharePoint 中嵌入 Power BI 可将您的 Intranet 从文档存储库转变为主动分析平台。员工可以在他们已经工作的地方找到见解,而不是在他们必须记住访问的单独的 BI 门户中。
ECOSIRE 的 Power BI 实践包括将 SharePoint 集成作为嵌入式分析实施的一部分。我们设计权限架构,构建 SharePoint 优化的报告布局,并将 SharePoint 列表连接到 Power BI 仪表板以进行实时操作跟踪。
浏览我们的Power BI 嵌入式分析服务 了解 SharePoint 集成详细信息,或联系我们的团队 讨论您的 SharePoint 分析门户要求。
作者
ECOSIRE Research and Development Team
在 ECOSIRE 构建企业级数字产品。分享关于 Odoo 集成、电商自动化和 AI 驱动商业解决方案的洞见。
相关文章
Building Financial Dashboards with Power BI
Step-by-step guide to building financial dashboards in Power BI covering data connections to accounting systems, DAX measures for KPIs, P&L visualisations, and best practices.
Case Study: Power BI Analytics for Multi-Location Retail
How a 14-location retail chain unified their reporting in Power BI connected to Odoo, replacing 40 spreadsheets with one dashboard and cutting reporting time by 78%.
GoHighLevel + Power BI: Advanced Reporting and Analytics
Connect GoHighLevel to Power BI for advanced marketing analytics. Build executive dashboards, track multi-channel ROI, and create automated reports that go beyond GHL's native reporting.
更多来自Data Analytics & BI
Building Financial Dashboards with Power BI
Step-by-step guide to building financial dashboards in Power BI covering data connections to accounting systems, DAX measures for KPIs, P&L visualisations, and best practices.
Case Study: Power BI Analytics for Multi-Location Retail
How a 14-location retail chain unified their reporting in Power BI connected to Odoo, replacing 40 spreadsheets with one dashboard and cutting reporting time by 78%.
GoHighLevel + Power BI: Advanced Reporting and Analytics
Connect GoHighLevel to Power BI for advanced marketing analytics. Build executive dashboards, track multi-channel ROI, and create automated reports that go beyond GHL's native reporting.
GoHighLevel Reporting and Analytics: Measuring What Matters
Master GoHighLevel reporting and analytics. Learn to build custom dashboards, track ROI across channels, measure funnel conversion, and make data-driven marketing decisions.
Odoo Events Module: Planning, Registration, and Analytics
Complete guide to Odoo 19 Events: create events, manage registrations, sell tickets, track attendance, and analyze event ROI with native ERP integration.
Odoo + Power BI: Complete Analytics Integration Guide
Connect Odoo 19 to Power BI for enterprise analytics. Covers DirectQuery, Import mode, data modeling, DAX measures, live dashboards, and deployment architecture.