亲爱的Stack Overflowers!
我工作的非政府组织需要将他们的项目经理直接通过Excel连接到Kobo需求评估调查数据。这已经很简单了。但是,此调查包含数千个提交/数据行,刷新连接所需的时间太长,因为必须将每一行下载到Excel才能进行筛选。
KOBO Rest API确实允许查询来过滤请求(https://kc.humanitarianresponse.info/api/v1/data),我已经在POSTMAN中获得了预期的结果。
我知道可以使用Power Query中的高级编辑器和Web.Contents()函数来过滤并获得所需的效果,但是到目前为止,我还没有写出正确的语法。谁能看一眼,告诉我我哪里做错了?
在POSTMAN中正常工作的查询(使用标头/授权令牌时):
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高级编辑器语法不会导致错误,但实际上不会过滤任何内容!:
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"发布于 2021-09-07 19:36:25
不出所料,Web.Contents()的Power Query语法不正确。
正确的语法应该是:
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"https://stackoverflow.com/questions/69088516
复制相似问题