Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply

Power Query: Combining multiple 'Web.BrowserContents' data sources into a single query

Hi everyone, I'm looking to create a report that queries multiple different pages of a website. I'm hoping I'll be able to combine them into a single query, rather than creating new data sources for each one. For example, I've used the code below in the past to query multiple sharepoint libraries:

 

 

let
  Source = Table.Combine(
        {
SharePoint.Tables("https://sharepoint.intranet.name/", [Implementation="2.0", ViewMode="All"]),
SharePoint.Tables("https://sharepoint.intranet.name/", [Implementation="2.0", ViewMode="All"])
        }
    ),

 

 

Is there an equivalent I can use to combine multiple web pages into a single query? Here's the query I have for a single page:

 

let
    Source = Web.BrowserContents("website address goes here"),
    #"Extracted Table From Html" = Html.Table(Source, {{"Column1", ".table TD + *"}, {"Column2", ".badge"}, {"Column3", ".hidden-sm + .hidden-xs + *"}, {"Column4", ".subject"}, {"Column5", ".hidden-xs .label:nth-child(1)"}, {"Column6", ".hidden-xs .label:nth-child(2)"}, {"Column7", ".hidden-sm:nth-child(3)"}, {"Column8", ".hidden-xs TR"}, {"Column9", ".hidden-sm .label:nth-child(1)"}, {"Column10", ".hidden-sm .label:nth-child(2)"}, {"Column11", ".badge *"}, {"Column12", ".hidden-xs .label:nth-child(3)"}, {"Column13", ".hidden-sm .label:nth-child(3)"}, {"Column14", ".hidden-xs + A *"}}, [RowSelector=".table TD + *"])
in
    #"Extracted Table From Html"

 

 

1 ACCEPTED SOLUTION

Thanks so much for your help @amitchandak , I found the answer here in the end! https://www.youtube.com/watch?v=VkDpwSGWPmk

View solution in original post

4 REPLIES 4
my1stmonkey
Regular Visitor

thanks for this, @amitchandak. I have a related issue - my report has many sources, so I'd like to combine using 

 

Source = #shared,
#"Converted to Table" = Record.ToTable(Source),

 

Combining the queries using the approach you outline above works, but combining the same queires using the #shared approach results in a blank table in the front end (the table renders as expected in the back end)

 

back end

my1stmonkey_1-1702550084271.png

 

front end

my1stmonkey_0-1702549927708.png

 

I've tried numerous settings, nothing seems to work. 

 

Any advice gratefully received!

Brunner_BI
Super User
Super User

If you want to refresh this query you will need to switch to Web.Contents instead of Browsercontents, just FYI

------------------------------------
Brunner BI focusing on Microsoft Power BI development and consulting
Developers of external tool "Measure Killer"
My blog

Thanks so much for your help @amitchandak , I found the answer here in the end! https://www.youtube.com/watch?v=VkDpwSGWPmk

amitchandak
Super User
Super User

@MichaelHutchens , Create mutiple code like

 

Source1 = <Code>

Source2 = <Code>

 

I usually get them in different queries and then put code in one place

 

then you can use append code

 

combine = Table.Combine(Source1, Source2, Source3)

in

combine

 

Also, refer

https://datachant.com/2016/06/27/cursor-based-pagination-power-query/

 

 

Code merge example

Merge Queries, Why not Merge the code: https://youtu.be/YOFs39RCPfQ

 

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.