问题描述
我正在尝试使用 PowerBI 和 Excel 中的 PowerQuery 从 Microsoft Project Online 中提取数据。
这更像是一个 PowerQuery/SharePoint 问题,专门针对 Project Online。
所以我可以列出“项目网站”列表,据我所知,每个“项目”都有一个单独的 SharePoint 网站
let
Source = OData.Feed(SiteBaseURL & "_api/ProjectData/Projects",null,[Implementation="2.0"]),#"Removed Other Columns" = Table.SelectColumns(Source,{"ProjectIdentifier","ProjectWorkspaceInternalUrl"}),in
#"Removed Other Columns"
产生
https://............sharepoint.com/sites/edison/Project 1
https://............sharepoint.com/sites/edison/Project 2
https://............sharepoint.com/sites/edison/Project 3
所以现在,这些 SharePoint 网站中的每一个都有自己的“列表”——每个网站上可能有 99% 的名称相同,但都是不同的网站。
那么我如何获得上面列出的所有网站上的所有列表的完整汇总?
我有两个问题:
-
权限。如果我只是将其粘贴到浏览器中,我就可以访问 URL(“https://....sharepoint.com/sites/edison/Project 1”)。但是 PowerQuery 告诉我访问被拒绝。 (这是带令牌的单点登录环境)
-
如何编写循环访问列表并构建列表列表的公式?
解决方法
如果所有站点共享一个父站点,您可以使用 Sharepoint 搜索/查询 rest api。它查看父站点和子站点中列表的托管属性,然后提供存储在其中的数据。