[英]Excel Power Query - from web with dynamic worksheet cell value
我们有一个每月更新的电子表格,它从我们的服务器查询一些数据。
查询 url 如下所示:
http://example.com/?2016-01-31
返回的数据为json格式,如下图:
{"CID":"1160","date":"2016-01-31","rate":{"USD":1.22}}
我们只需要上面的 1.22 值,我可以毫无问题地将其插入到工作表中。
我的问题: 1.如何使用单元格值[包含日期]在查询中传递日期参数[2016-01-31]并在其旁边的单元格中显示结果。 2. 一列有很长的日期列表,这个查询可以按每个日期自动填写吗? 3.当我将查询结果加载到工作表时,它总是成对加载。 [占用两个单元格,一个表示“值”,另一个包含在我的情况下为“1.22”的值]。 理想情况下,我只需要“1.22”,而不是标题,可以删除吗? [Del 不起作用,会给你一个“第 1 列”,或者你必须隐藏整行,这会扰乱布局]。
我知道有很多问题要问,但在过去几天里我尝试了很多搜索和阅读,我不得不说 M 语言打败了我。
提前致谢。
将您的 Web.Contents() 请求转换为函数:
let myFunct = ( param as date ) => let x = Web.Contents(.... & Date.ToText(date) & ....) in x in myFunct
从新查询中引用您的数据请求函数,包括您需要的任何转换(在本例中为 JSON.Document、表扩展、删除无关数据。请随意删除此处的所有额外数据,包括仅包含标签“值”的列.
(假设您的域值表已经存在)添加一个自定义列,如
=Expand(myFunct( [someparameter] ))
编辑:回到家并进入我的书签。 这是您要执行的操作的更详细参考: http : //datachix.com/2014/05/22/power-query-functions-some-scenarios/
let
tt=#table(
{"date"},{
{"2017-01-01"},
{"2017-01-02"},
{"2017-01-03"}
}),
add_col = Table.AddColumn(tt, "USD", each Json.Document(Web.Contents("http://example.com/?date="&[date]))[rate][USD])
in
add_col
Json.Document(Web.Contents("http://example.com/?date="&YOUR_DATE_STRING))[rate][USD]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.