亲爱的堆栈溢出者!
我工作的非政府组织需要直接通过 Excel 将他们的项目经理连接到 Kobo 需求评估调查数据。这很容易。但是,此调查包含数千个提交/数据行,并且刷新连接所花费的时间太长,因为在过滤之前必须将每行下载到 Excel。
KOBO Rest API 允许查询过滤请求(https://kc.humanitarianresponse.info/api/v1/data),我在 POSTMAN 中取得了预期的结果。
我知道可以将 Power Query 中的高级编辑器与 Web.Contents() 函数一起使用来过滤并达到预期的效果,但是到目前为止我未能编写正确的语法。有人可以看看并告诉我我做错了什么吗?
在 POSTMAN 中正常工作的查询(使用 Header/Authorization 令牌时):
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"