我正在嘗試在 Power Query 中附加多個 API 呼叫的結果以構建結果表。
API 將每次呼叫限制為 1000 行,但每個結果都會回傳當前頁碼以及下一次呼叫和總行數,因此很容易知道要迭代什么以及迭代多少次。我需要從第 1 頁開始并以總行數/1000 結束。
如果可以將每個后續結果與累積的先前呼叫一起附加到回圈中,我只需要語法幫助。
函式內部的 List.Generate 之類的東西可能會起作用,但我在這里超出了我的深度。
uj5u.com熱心網友回復:
我已經設法使用@horseyride 評論中的參考來回答我的問題。
它涉及在 M 代碼中的 Power Query 中創建兩個自定義函式。我在下面分享這兩個函式的重要部分。
fnGetResults:
(page, outcome) =>
let
url = "https://myapi.com/outcomes/findings/?outcome="&Number.ToText(outcome)&"&page="&Number.ToText(page)&"&page_size=1000",
Source = Json.Document(Web.Contents(url, [Headers = [#"Authorization"="JWT "&get_token]])),
results = Source[results]
in
results
fnGet 結果:
(id) =>
let
outcome_list = List.Generate (
() => [page = 1, result = fnGetResults(1,id)],
each not List.IsEmpty([result]),
each [page= [page] 1, result = fnGetResults([page],id)],
each [result]
),
#"Converted to Table" = Table.FromList(outcome_list, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandListColumn(#"Converted to Table", "Column1"),
outcome = Table.ExpandRecordColumn(#"Expanded Column1", "Column1",
Record.FieldNames(#"Expanded Column1"{0}[Column1]),
Record.FieldNames(#"Expanded Column1"{0}[Column1])),
in
outcome
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/519806.html
標籤:api循环电源查询
上一篇:大學問題,包括for回圈和串列
下一篇:更新陣列內物件的特定值
