我使用映射查找的 Sigma 查询已停止正常运行

错误消息:“INVALID_FUNCTION_ARGUMENT:Key not present in map”(函数参数无效:映射中无键)

解决方法:使用 ELEMENT_AT() 代替 [] 进行映射查找

例如,如果您的查询如下所示:

SELECT charge_id, metadata[‘customer’] FROM (
  SELECT charge_id, map_agg(key, value) AS metadata FROM charges_metadata
)

请将其更改为:

SELECT charge_id, ELEMENT_AT(metadata, 'customer') FROM (
  SELECT charge_id, map_agg(key, value) AS metadata FROM charges_metadata
)

附加信息

自 2020 年 9 月 3 日起,Sigma 支持使用 Prestosql v334 SQL 语法的查询。根据此更改,如果映射中没有键,使用 [] 进行映射查找将会失败。因为 ELEMENT_AT() 恢复了之前的行为,如果缺少键便会返回 NULL。

您计划和保存的查询已相应更新。