当 URL 包含数据时,为什么 URL 表的 Power Query 显示“Null”?

问题描述 投票:0回答:1

我有一个 URL 列表,例如 ...net/family_tree/100.html ...net/family_tree/105.html ...net/family_tree/110.html ETC。 Power Query 可以从第一个 URL ...net/family_tree/100.html 获取数据,但为其他 URL 返回“null”。如何让 Power Query 返回表中所有 URL 的数据?

我对一个 URL 进行了 Power Query,它返回了数据。然后,我编辑查询以使用 URL 表中的 URL。它从第一个 URL 返回数据,但其他 URL 返回“null”。

这是适用于查询单个 URL 的代码,即 “

file:///C:/Viking%20Family%20Htmls/591.html
”:-

    let
    Source = File.Contents("file:///C:/Viking%20Family%20Htmls/591.html"),
    #"Extracted Table From Html" = Html.Table(Source, {{"Column1", "BODY > TABLE:nth-child(1) > * > TR > :nth-child(1)"}}, [RowSelector="BODY > TABLE:nth-child(1) > * > TR"]),
    #"Changed Type" = Table.TransformColumnTypes(#"Extracted Table From Html",{{"Column1", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] = "f a m i l y#(lf)#(lf)Children with:Gauthild Algautsdotter#(lf)Children:Olav Tretelgja#(lf)#(lf)Ingjald Anundsson#(lf)#(lf)Born: 690"))
in
    #"Filtered Rows"

####

此代码适用于表的第一个 URL,但在表中的其他 URL 上返回 “null” :-

###

let Getdata=(URL) =>

let
    Source = File.Contents(URL),
    #"Extracted Table From Html" = Html.Table(Source, {{"Column1", "BODY > TABLE:nth-child(1) > * > TR > :nth-child(1)"}}, [RowSelector="BODY > TABLE:nth-child(1) > * > TR"]),
    #"Changed Type" = Table.TransformColumnTypes(#"Extracted Table From Html",{{"Column1", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] = "f a m i l y#(lf)#(lf)Children with:Gauthild Algautsdotter#(lf)Children:Olav Tretelgja#(lf)#(lf)Ingjald Anundsson#(lf)#(lf)Born: 690"))
in
    #"Filtered Rows"

in Getdata

####

当我对上述查询的结果执行“添加自定义列”时,它会生成一个包含以下数据的表

file:///C:/Viking%20Family%20Htmls/591.html
但有“null”

file:///C:/Viking%20Family%20Htmls/592.html
file:///C:/Viking%20Family%20Htmls/587.html 
etc.

####

当我运行上面的代码时,它会生成一个名为“Vikings”的查询。下面是我点击“高级编辑器”时看到的代码:-

let
    Source = Excel.CurrentWorkbook(){[Name="Vikings"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Vikings List", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each fxVikings([Vikings List])),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Column1"}, {"Column1"})
in
    #"Expanded Custom"

###

如果您想要来自单个查询和表格查询的图像,请告诉我。如果你这样做,我可以将图像复制到这个问题中吗? 感谢您迄今为止的关注,希望您能有所帮助。

powerbi powerquery
1个回答
0
投票

您可以尝试删除

Filtered Rows
中的
GetData
看看是否有帮助:

let Getdata=(URL) =>

let
    Source = File.Contents(URL),
    #"Extracted Table From Html" = Html.Table(Source, {{"Column1", "BODY > TABLE:nth-child(1) > * > TR > :nth-child(1)"}}, [RowSelector="BODY > TABLE:nth-child(1) > * > TR"]),
    #"Changed Type" = Table.TransformColumnTypes(#"Extracted Table From Html",{{"Column1", type text}})
in
    #"Changed Type"

in Getdata

© www.soinside.com 2019 - 2024. All rights reserved.