Я развернул следующий пример в своем клиенте:
создать контекст HourlyAvgMeasurementDeviceContext, разбивающий измерение.источник.значение из MeasurementCreated;
@Name("Creating_hourly_measurement")
context HourlyAvgMeasurementDeviceContext
insert into CreateMeasurement
select
m.measurement.source as source,
current_timestamp().toDate() as time,
"c8y_AverageTemperatureMeasurement" as type,
{
"c8y_AverageTemperatureMeasurement.T.value", avg(cast(getNumber(m, "c8y_TemperatureMeasurement.T.value"), double)),
"c8y_AverageTemperatureMeasurement.T.unit", getString(m, "c8y_TemperatureMeasurement.T.unit")
} as fragments
from MeasurementCreated.win:time(1 hours) m
where getObject(m, "c8y_TemperatureMeasurement") is not null
output last every 1 hours;
После этого я хочу получить средние значения температуры (в идеале с единицей измерения) в течение часа следующим образом:
Select event.c8y_AverageTemperatureMeasurement.T.value from CreateMeasurement event;
но я получаю сообщение об ошибке при развертывании запроса как:
Ошибка запуска оператора: не удалось проверить выражение выбора пункта «event.c8y_AverageTemperatureMeasure... (47 символов)»: не удалось преобразовать свойство «event.c8y_AverageTemperatureMeasurement.T.value» в поток или вложенное свойство в потоке [Выбрать событие. c8y_AverageTemperatureMeasurement.T.value из события CreateMeasurement
Не могли бы вы помочь с этим?