我正在使用excel powerquery从elasticsearch中提取数据。 它对一个结果很好,但我希望得到很多。从最初的ES查询中我得到一个json对象列表,我可以很容易地将其转换为我想要的表。 问题是查询编辑器只允许我选择一个结果,而不是从列表中解析所有内容。
查询是:
let
Content = "{""query"": {""match_all"": {}}}",
Source = Json.Document(Web.Contents("http://es_host:9200/lcm_db/_search"))[hits][hits],
Source1 = Source{1},
_source = Source1[_source],
#"Converted to Table" = Record.ToTable(_source),
#"Transposed Table" = Table.Transpose(#"Converted to Table")
in
#"Transposed Table"
Json.Document(Web.Contents("http://es_host:9200/lcm_db/_search"))[hits][hits]
给我一份清单,我必须为此完成4个步骤:
Source1 = Source{1},
_source = Source1[_source],
#"Converted to Table" = Record.ToTable(_source),
#"Transposed Table" = Table.Transpose(#"Converted to Table")
我如何使powerquery为所有列表结果执行这四个步骤?
谢谢, 艾萨克
答案 0 :(得分:2)
您可以使用List.Transform,并在let语句中包含这4个步骤。它看起来像是:
= List.Transform(Json.Document(Web.Contents("http://es_host:9200/lcm_db/_search"))[hits][hits], (value) => each let _source = value[_source], #"Converted to Table" = Record.ToTable(_source), #"Transposed Table" = Table.Transpose(#"Converted to Table") in #"Transposed Table")