Forum Discussion
MichaelHutchens
4 years agoHelper V
Loading multiple SharePoint page libraries into the same query
Hi folks, I'm hoping someone might be able to assist. I have a single SharePoint site collection with multiple page libraries, one in each site. Each library has identical columns. I'm trying to f...
- 4 years ago
Try this solution. The concept is to create a URL table with a row for each library, and create a custom function that will loop through each library.
https://www.howtoexcel.org/how-to-extract-data-from-multiple-webpages/
- 4 years ago
Try using Web.Contents as suggested by KNP:
let GetResults=(URL) => let Source = Web.Page(Web.Contents(URL)), Data1 = Source{1}[Data] in Data1 in GetResultsIf this doesn't work, try Source{0} instead of Source{1}.
MichaelHutchens
4 years agoHelper V
Thanks DataInsights , that looks promising. I've tried the above but I'm stuck on an error message:
Here's the code from the fGetWikiResults table:
let GetResults=(URL) =>
let
Source = SharePoint.Tables("URL", [Implementation="2.0", ViewMode="All"]),
#"793529eb-48c3-4fad-a005-7a4aa0a716ad" = Source{[Id = "793529eb-48c3-4fad-a005-7a4aa0a716ad"]}[Items]
in
#"793529eb-48c3-4fad-a005-7a4aa0a716ad"
in GetResults
And here's the code from the URL_List table:
let
Source = Excel.Workbook(File.Contents("C:\LOCATION\Kotahi Mahi - General\Reporting\PowerBI\URL_Table_Kotahi_Pages.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", type text}}),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"URL", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type1", "Results Data", each fGetWikiResults([URL]))
in
#"Added Custom"
Here's the data from the spread sheet:
Any idea on what I might be doing wrong?
DataInsights
4 years agoSuper User
Try removing the double quotes from "URL" in the Source step:
let GetResults=(URL) =>
let
Source = SharePoint.Tables(URL, [Implementation="2.0", ViewMode="All"]),
#"793529eb-48c3-4fad-a005-7a4aa0a716ad" = Source{[Id = "793529eb-48c3-4fad-a005-7a4aa0a716ad"]}[Items]
in
#"793529eb-48c3-4fad-a005-7a4aa0a716ad"
in GetResults