API调用如下所示: https://data.edmonton.ca/resource/3pdp-qp95.json?house_number=10008&street_name=103%20STREET%20NW
并在json中返回数据: [{ “ACCOUNT_NUMBER”: “3070208”, “车库”: “N”, “house_number”: “10008”, “纬度”: “53.539158992619”, “经度”: “ - 113.497760691896”, “邻居”: “闹” ,“street_name”:“103 STREET NW”,“tax_class”:“非住宅”,“total_asmt”:“1717000”}]
我有一个包含特定house_number和street_name对的excel表,我想捕获每对的total_asmt列。
我已经能够创建一个电源查询,将第一个数据点拉入新表:
let
Parameter = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Removed Other Columns" = Table.SelectColumns(Parameter,{"house_number", "street_name"}),
X = #"Removed Other Columns"[house_number]{0},
Y = #"Removed Other Columns"[street_name]{0},
Source = Json.Document(Web.Contents("https://data.edmonton.ca/resource/3pdp-qp95.json?house_number="& X &"&street_name=" & Y)),
in
Source
我无法弄清楚如何遍历X和Y中的所有值,或者如何从JSON数据中捕获特定的行。任何帮助将不胜感激!
谢谢,
Aaleem
答案 0 :(得分:0)
我认为你最好的是不要这样做。
为什么 您是否浪费时间将这些数据写入一个地址,此时您可以在一分钟内获得整个城市的数据。
CSV:https://data.edmonton.ca/api/views/q7d6-ambg/rows.csv?accessType=DOWNLOAD
XML:https://data.edmonton.ca/api/views/q7d6-ambg/rows.xml?accessType=DOWNLOAD
当你完成那个时,他们还有几百个其他有趣的数据集。
答案 1 :(得分:0)
诀窍是在powerquery中创建一个函数,然后将查询用作表的一部分。创建如下的功能,然后在数据选项卡下使用“从表/范围”选择您的表格,这是非常简单的。
let a_value= (x as number,y as text)=> //this creates the function
let //this is essentially the query I wanted with some minor changes from above
x_text = Number.ToText(x, "D", ""),
Source = Json.Document(Web.Contents("https://data.edmonton.ca/resource/3pdp-qp95.json?house_number="&x_text&"&street_name="&y)),
Source1 = Source{0},
total_asmt = Source1[total_asmt]
in
total_asmt
in a_value //closes the function