Серии, основанные на статистике и гранулах
В большинстве случаев, серии переменных основаны на "сырых" значениях переменной серии. Данные значения сохраняются в базе данных сервера.
Однако можно построить график, в котором точки исторических данных основаны на статистическом канале или гранулах с предварительно агрегированными данными. .
Чтобы построить такой график, сначала убедитесь, что для переменной серии существует статистический канал или гранулы. После создания статистического канала или гранул можно построить график двумя способами:
Автоматическое определение канала статистики или гранул путем создания соответствующей записи в свойстве Source Variables графика
Использование ссылок на значение статистики в Выражении серии
Автоматическое определение
Чтобы автоматически обнаружить существующий канал статистики или грануляции, установите для типа источника данных графика значение Variable
и создайте строку в свойстве Source Variables графика со значениями, соответствующими каналу статистики.
Например, предположим, что устройство с контекстным путем users.admin.devices.thermometer
имеет переменную с именем temp
и канал статистики с именем statisticsChannel_temp
с выражением ({temp_val}-32)*5/9
для преобразования температуры из фаренгейта в цельсий, тип выбран как Gauge
, выражение временной метки отсутствует, а типы агрегации - Average
, Minimum
и Maximum
.
Поле | Примечание |
---|---|
Имя |
|
Контекст |
|
Переменная |
|
Использовать агрегированные данные |
|
Выражение |
|
Пользовательское выражение временной метки | Оставляется пустым, поскольку канал статистики не имеет Выражения временной метки |
Тип |
|
Агрегация |
|
С помощью этих параметров SberMobile пытается найти канал статистики или гранулы с точно совпадающими свойствами. При обнаружении нескольких совпадений будет выдана ошибка.
В случае, если точных совпадений не найдено, система пытается найти канал или гранулу статистики с теми же параметрами, но с более тонким уровнем агрегирования, например, по минутам, а не по часам.
Если подходящий канал или гранула статистики не найдена, но указанная переменная (в данном случае temp
) существует в контексте (в данном случае users.admin.devices.thermometer
), то используется необработанная переменная history.
Ссылка на значение статистики
Ссылка на значение статистики имеет один из следующих форматов: {statistics/channel}
или {statistics/channel#key}
.
Когда в Выражении серии используется ссылка на значение статистики, отрисовщик берет данные истории из канала с именем channel
. Данный канал должен быть основан на исходной переменной.
Если задан key
(ключ), массив данных из статистики, совпадающий с данным ключем, будет использован в качестве источника.
На выбор данных статистики влияют следующие параметры:
Агрегирование. Настройка "Агрегирование серии" совпадает с функцией статистического агрегирования, результаты которой будут использоваться.
Тип. Тип серии должен совпадать с типом статистического канала.
Выражение серии может включать только одну ссылку на значение статистики. Ссылка на множество каналов невозможна. |
Ссылка на другие поля из выражения серии, основанной на статистике
Выражение серии, основанной на статистике, может также ссылаться на другие поля исходной переменной. Однако такие ссылки имеют несколько важных нюансов:
Статистический канал не сохраняет изначальные значения истории переменной. Таким образом, любая ссылка на ячейки исходной переменной преобразуются в текущее значение данной переменной.
Если включено ведение истории в реальном времени для серий, основанных на статистике, отрисовщик графика объединяет выражение статистического канала с выражением серии, чтобы сформировать новое выражение для построения точек графика в реальном времени.