2016-05-16 8 views
2

Ich benutze Excel Powerquery, um Daten von elasticsearch zu ziehen. Es funktioniert gut für ein Ergebnis, aber ich möchte viele bekommen. Aus der ersten ES-Abfrage erhalte ich eine Liste von JSON-Objekten, die ich ganz einfach in die gewünschte Tabelle umwandeln kann. Das Problem besteht darin, dass der Abfrage-Editor nur ein Ergebnis nach dem anderen auswählen und nicht alles aus der Liste analysieren kann.Powerquery iterieren über die Liste der Schritte

Die Abfrage ist:

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] 

gibt mir eine Liste, für die ich die 4 Schritte zu tun haben:

Source1 = Source{1}, 
_source = Source1[_source], 
#"Converted to Table" = Record.ToTable(_source), 
#"Transposed Table" = Table.Transpose(#"Converted to Table") 

Wie würde ich powerquery tun, um diese vier Schritte für die ganze Liste zu machen Ergebnisse?

Danke, Isaac

Antwort

2

können Sie List.Transform verwenden und umfassen 4 Schritte in einer let-Anweisung. Es würde ungefähr so ​​aussehen:

= 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")
+0

nett! Danke, ich werde versuchen, Sie wissen zu lassen – isaapm

+0

Es gab einen Fehler in der ursprünglichen Antwort; Ich habe es bearbeitet, um es zu beheben. –