PowerQuery:“ for”循环遍历所有元素

时间:2019-01-05 16:30:09

标签: excel powerquery

我有一个结构化的json文件,其中包含元素列表。 我想将所有元素(也具有结构)转换为表格格式。我可以从PowerQuery GUI中手动完成一个元素;下面的示例代码。

let
    Source= 
Json.Document(Web.Contents("<source_address>")),
    elements = Source[elements],
    elements1 = elements{0},
    #"Converted into table" = Record.ToTable(elements1)
in
    #"Converted into table"

我想遍历所有元素(因此从元素{0}到元素{x}),并将它们保存在一个excel输出表中。所有元素都具有相同的结构(列)

1 个答案:

答案 0 :(得分:0)

查看一些示例JSON将很有用,因为如果不查看其结构很难确定地说。我只是使用了一些虚拟的JSON字符串,我假设它类似于您的(就结构而言)。

let
    //Source = Json.Document(Web.Contents("<source_address>")),
    Source = Json.Document("{""elements"": [{""someKey1"": ""someValue1""}, {""someKey2"": ""someValue2""}], ""someOtherKey"": ""cat""}"),
    elements = Source[elements],
    transformList = List.Transform(elements, Record.ToTable),
    appended = Table.Combine(transformList)
in
    appended

如果将以上内容复制粘贴到Advanced Editor,然后将第二个Source = ...替换为原始代码中的一个,然后可以检查其是否满足您的要求。


编辑:

我认为,鉴于您提供的网址,下面的代码将使您免于以后旋转表并提供所需的输出。

let
    Source = Json.Document(Web.Contents("https://fantasy.premierleague.com/drf/bootstrap-static")),
    elements = Source[elements],
    toTable = Table.FromRecords(elements)
in
    toTable

哪个给我以下内容:

Output