You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从SharePoint提取页面分析数据并集成至Power BI展示?

SharePoint页面分析数据接入Power BI的可行方案

方案一:Microsoft Graph API(支持近实时更新,优先推荐)

这是实现准实时数据同步的最优方案,步骤如下:

1. 注册Azure AD应用并配置权限

  • 登录Azure门户,进入Azure Active Directory -> 应用注册,点击新注册
  • 填写应用名称,账户类型选择仅限此组织目录中的账户,重定向URI选公共客户端(移动和桌面),输入https://login.microsoftonline.com/common/oauth2/nativeclient,完成注册
  • 进入应用的API权限 -> 添加权限,选择Microsoft Graph -> 应用权限,搜索并添加Sites.Read.All、Analytics.Read.All,点击授予管理员同意

2. 在Power BI中构建自定义查询

  • 打开Power BI Desktop,点击获取数据 -> 空白查询,进入高级编辑器,粘贴以下M代码(替换占位符):
let
    // 替换为你的SharePoint站点ID(可通过Graph Explorer或站点URL获取)
    SiteId = "your-site-id",
    // 获取站点所有页面列表
    Pages = Json.Document(Web.Contents("https://graph.microsoft.com/v1.0/sites/" & SiteId & "/pages")),
    PageRecords = Pages[value],
    // 提取页面核心信息
    PageTable = Table.FromRecords(PageRecords, {"id", "title", "webUrl"}),
    // 批量获取每个页面的分析数据
    AddAnalyticsData = Table.AddColumn(PageTable, "Analytics", each 
        Json.Document(Web.Contents("https://graph.microsoft.com/v1.0/sites/" & SiteId & "/pages/" & [id] & "/analytics/allTime"))
    ),
    // 展开分析指标
    FinalTable = Table.ExpandRecordColumn(AddAnalyticsData, "Analytics", {"totalVisits", "uniqueVisitors"}, {"总浏览量", "独立访客数"})
in
    FinalTable
  • 首次运行会弹出身份验证窗口,选择组织账户登录,完成OAuth授权

3. 配置自动刷新

  • 将报表发布到Power BI服务后,进入数据集设置,找到数据源凭据,确认使用OAuth2身份验证
  • 设置刷新频率(最低15分钟一次),实现近实时数据同步

方案二:CSV导出+Power BI导入(非实时场景)

如果不需要实时更新,可通过官方导出功能解决:

  • 登录SharePoint站点,点击右上角设置 -> 网站分析
  • 在分析页面右上角点击导出,选择需要的指标(浏览量、独立访客数等)和时间范围,下载CSV文件
  • 打开Power BI Desktop,点击获取数据 -> CSV,导入下载的文件,完成数据清洗(移除冗余列、设置数据类型)
  • 如需定期更新,可通过Power Automate创建定时流:自动导出CSV到OneDrive,再配置Power BI从OneDrive自动刷新数据

方案三:修复自定义URL提取的报错

针对你之前构造URL报错的问题,常见修复点:

  • 401未授权:确认使用的账户拥有站点读取权限,URL中使用正确的租户/站点路径
  • 404资源不存在:检查URL格式,正确的SharePoint页面分析URL模板为https://<租户域名>.sharepoint.com/sites/<站点名>/layouts/15/analytics.aspx?View=Pages
  • 跨域/权限限制:在Power BI中使用Web.Contents时,需在数据源设置中选择正确的身份验证方式(如组织账户)

额外提示

  • 自定义指标:可在Power BI中通过DAX公式创建计算列/度量值,例如筛选特定页面组的访问数据
  • 数据延迟:Graph API的分析数据存在1-2小时的延迟,无法做到绝对实时,15分钟刷新可满足大部分近实时需求

内容的提问来源于stack exchange,提问作者Nate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:15:25