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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
MichaelHutchens
Helper IV
Helper IV

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
MichaelHutchens
Helper IV
Helper IV

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

MichaelHutchens
Helper IV
Helper IV

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

 

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.