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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Sica
Frequent Visitor

How to use Html.Table properly?

I have a column which contains several rows with HTML code, like the example below:

 

<table style='border-collapse: inherit; overflow-x: scroll; display: inherit; white-space: nowrap; width: -moz-available; width: -webkit-fill-available;'>

                <thead>

                <tr style='background-color: darkgray;'>

                <th scope="col">ID</th>

                <th scope="col">Number</th>

                <th scope="col">Name</th>

                <th scope="col">Version</th>

                <th scope="col">Group</th>

                </tr>

                </thead>

                <tbody><tr style='background-color: lightgray;'><td><a href="http://mysite.com/httpconnect/connect.html?M=CM?ID=D1862842" target="_blank">D42</a></td><td><a href="http://mysite.com/httpconnect/connect.html?M=IM?No=24035401" target="_blank">401</a></td><td>MARIA</td><td>003</td><td></td><tr><td><a href="http://mysite.com/httpconnect/connect.html?M=CM?ID=D1862842" target="_blank">D42</a></td><td><a href="http://mysite.com/httpconnect/connect.html?M=IM?No=24035402" target="_blank">402</a></td><td>MARIA</td><td>P03</td><td>3741</td><tr style='background-color: lightgray;'><td><a href="http://mysite.com/httpconnect/connect.html?M=CM?ID=D1862842" target="_blank">D42</a></td><td><a href="http://mysite.com/httpconnect/connect.html?M=IM?No=24035403" target="_blank">403</a></td><td>MARIA</td><td>P03</td><td>3741</td><tr><td><a href="http://mysite.com/httpconnect/connect.html?M=CM?ID=D1862842" target="_blank">D42</a></td><td><a href="http://mysite.com/httpconnect/connect.html?M=IM?No=24035404" target="_blank">404</a></td><td>MARIA</td><td>P03</td><td>3741</td><tr style='background-color: lightgray;'><td><a href="http://mysite.com/httpconnect/connect.html?M=CM?ID=D1862842" target="_blank">D42</a></td><td><a href="http://mysite.com/httpconnect/connect.html?M=IM?No=24035405" target="_blank">405</a></td><td>MARIA</td><td>P03</td><td>3741</td></tbody></table>

 

How are I able to extract information I want from the code above by using Html.Table?!?

1 ACCEPTED SOLUTION
AlexisOlson
Super User
Super User

If you connect to this as a web page, then you use the "Extract table using examples" tool. This returns code like this:

Html.Table(
    Source,
    {{"Column1", "TABLE > * > TR > :nth-child(1)"},
     {"Column2", "TABLE > * > TR > :nth-child(2)"},
     {"Column3", "TABLE > * > TR > :nth-child(3)"},
     {"Column4", "TABLE > * > TR > :nth-child(4)"},
     {"Column5", "TABLE > * > TR > :nth-child(5)"}},
     [RowSelector="TABLE > * > TR"]
)

You can then promote headers to get

AlexisOlson_0-1629388779840.png

Now I'm trying to figure out how to use that tool without connecting to a website...

 

For reference, I found this article useful:
https://www.thepoweruser.com/2018/05/14/new-web-scraping-experience-in-power-bi-power-query-using-cs...

View solution in original post

2 REPLIES 2
AlexisOlson
Super User
Super User

If you connect to this as a web page, then you use the "Extract table using examples" tool. This returns code like this:

Html.Table(
    Source,
    {{"Column1", "TABLE > * > TR > :nth-child(1)"},
     {"Column2", "TABLE > * > TR > :nth-child(2)"},
     {"Column3", "TABLE > * > TR > :nth-child(3)"},
     {"Column4", "TABLE > * > TR > :nth-child(4)"},
     {"Column5", "TABLE > * > TR > :nth-child(5)"}},
     [RowSelector="TABLE > * > TR"]
)

You can then promote headers to get

AlexisOlson_0-1629388779840.png

Now I'm trying to figure out how to use that tool without connecting to a website...

 

For reference, I found this article useful:
https://www.thepoweruser.com/2018/05/14/new-web-scraping-experience-in-power-bi-power-query-using-cs...

It works beautifully!!! 

It is weird, but it adds an extra line containing the same descriptions that are available in the headers. Instead of 5 rows as output, I have 6, where the first one contains the same values already available in the headers. The only change I did is to replace the Source by a column:

= Table.AddColumn(#"Changed Type", "Info Table", each Html.Table([Customer Information], ...).

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Kudoed Authors