首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Power Query和Kobo Toolbox API:使用Web.Contents()过滤返回到Excel的数据

Power Query和Kobo Toolbox API:使用Web.Contents()过滤返回到Excel的数据
EN

Stack Overflow用户
提问于 2021-09-07 12:47:36
回答 1查看 102关注 0票数 1

亲爱的Stack Overflowers!

我工作的非政府组织需要将他们的项目经理直接通过Excel连接到Kobo需求评估调查数据。这已经很简单了。但是,此调查包含数千个提交/数据行,刷新连接所需的时间太长,因为必须将每一行下载到Excel才能进行筛选。

KOBO Rest API确实允许查询来过滤请求(https://kc.humanitarianresponse.info/api/v1/data),我已经在POSTMAN中获得了预期的结果。

我知道可以使用Power Query中的高级编辑器和Web.Contents()函数来过滤并获得所需的效果,但是到目前为止,我还没有写出正确的语法。谁能看一眼,告诉我我哪里做错了?

在POSTMAN中正常工作的查询(使用标头/授权令牌时):

代码语言:javascript
复制
https://kc.humanitarianresponse.info/api/v1/data/814220?query={"$and": [{"assessor_details/date_of_assessment": {"$gte": "2021-08-01"}},{"assessor_details/date_of_assessment": {"$lt": "2021-09-01"}}] }

Power Query高级编辑器语法不会导致错误,但实际上不会过滤任何内容!:

代码语言:javascript
复制
let
Source = Json.Document(Web.Contents("https://kc.humanitarianresponse.info/api/v1/data/814220",[Query="{“”$and“”: [{“”assessor_details/date_of_assessment“”: {“”$gte“”: “”2021-08-01“”}},{“”assessor_details/date_of_assessment“”: {“”$lt“”: “”2021-09-01“”}}] }",Headers=[Authorization="token XXXXXXX"]])),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
    #"Converted to Table"
EN

回答 1

Stack Overflow用户

发布于 2021-09-07 19:36:25

不出所料,Web.Contents()的Power Query语法不正确。

正确的语法应该是:

代码语言:javascript
复制
let
 Source = Json.Document(Web.Contents("https://kc.humanitarianresponse.info/api/v1/data/814220",[Query=[query="{""$and"": [{""assessor_details/date_of_assessment"": {""$gte"": ""2021-09-01""}},{""assessor_details/date_of_assessment"": {""$lte"": ""2021-09-03""}}] }"],Headers=[Authorization="token XXXXXX"]])),
     #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
    
in
    #"Converted to Table"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69088516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档