У меня есть столбец VARIANT, содержащий ответ JSON от веб-службы. Он содержит вложенный массив со значением с плавающей запятой, которое я хотел бы агрегировать и вернуть как среднее значение. Вот пример команды Snow SQL, которую я использую:
select
value:disambiguated.id,
value:mentions
from TABLE(
FLATTEN(input =>
PARSE_JSON('{ "entities": [{"count": 2,"disambiguated": {"id": 123},"label": "Coronavirus Disease 2019","mentions": [{"confidence": 0.5928,}, {"confidence": 0.5445,}],"type": "MEDICAL"}]}'):entities
)
)
, которая возвращает:
VALUE:DISAMBIGUATED.ID VALUE:MENTIONS
123 [ { "confidence": 0.5928 }, { "confidence": 0.5445 } ]
То, что я хотел бы вернуть, это что-то с двумя значениями «уверенности». в среднем 0,56825. Я смог добавить второй оператор FLATTEN , который изолировал массив «упоминаний» и позволил мне извлечь каждое значение «достоверности». Кажется, я не могу понять, как сгруппировать записи для расчета среднего. Хотел бы использовать встроенную функцию AVG () , если это возможно. Заранее благодарим вас за любую помощь, которую вы можете оказать.