繁体   English   中英

Excel Power Query - 来自具有动态工作表单元格值的网络

[英]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 语言打败了我。

提前致谢。

  1. 将您的 Web.Contents() 请求转换为函数:

     let myFunct = ( param as date ) => let x = Web.Contents(.... & Date.ToText(date) & ....) in x in myFunct
  2. 从新查询中引用您的数据请求函数,包括您需要的任何转换(在本例中为 JSON.Document、表扩展、删除无关数据。请随意删除此处的所有额外数据,包括仅包含标签“值”的列.

  3. (假设您的域值表已经存在)添加一个自定义列,如

    =Expand(myFunct( [someparameter] ))

编辑:回到家并进入我的书签。 这是您要执行的操作的更详细参考: http : //datachix.com/2014/05/22/power-query-functions-some-scenarios/

对于表 - 添加获取数据和解析 JSON 的列

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM