'in(..)' 函数在 SoQL 查询中不起作用

'in(..)' function not working in SoQL query

使用 SoQL(Socrata 查询语言),我们可以使用 in(...) 函数过滤数据集的值。 使用芝加哥开放数据门户的 socrata 网站中显示了示例示例。

https://data.cityofchicago.org/resource/6zsd-86xi.json?$where=primary_type in('THEFT', 'ROBBERY', 'INTIMIDATION')

但是当我使用同一数据门户的不同数据集尝试此功能时,我没有得到答案。这是我使用的 SoQL

https://data.cityofchicago.org/resource/uupf-x98q.json?$where=police_district in('12','24')

我收到以下错误。

{
  "code" : "query.compiler.malformed",
  "error" : true,
  "message" : "Error, could not parse SoQL query \"select * from #uupf-x98q where police_district in('12','24')\"",
  "data" : {
    "query" : "select * from #uupf-x98q where police_district in('12','24')"
  }
}

对于您的第二个查询,您将通过 filtered view which limits some of the things you can do with that API endpoint. If you follow the link to the API Documentation for that dataset ("Export" -> "SODA API" -> "API Docs") it'll bring you to the dataset-level API docs 访问它,这样您会获得更多成功。

对于第一个查询,我建议您迁移到它的 new API endpoint,您会发现性能会好很多。它应该像在查询中换出数据集标识符或基数 URL 一样简单。