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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It 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
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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