Серия на основе статистики

В большинстве случаев серии переменных основаны на "сырых" исторических значениях переменной серии. Эти значения хранятся в базе данных сервера.

Однако можно построить график, в котором точки исторических данных основаны на статистическом канале.

Чтобы построить такой график, сначала убедитесь, что для переменной серии имеется статистический канал. После создания статистического канала существует два способа построения графика:

  • Автоматически определить канал статистики, создав соответствующую запись в свойстве Переменные графика.

  • Использовать ссылку на статистику в серии Выражение расширенного поиска

Автоматическое обнаружение

Чтобы автоматически обнаружить существующий канал статистики или гранулы с агрегированными данными временного ряда, установите Тип источника данных диаграммы на Переменная и создайте строку в свойстве Источник переменных диаграммы со значениями, соответствующими каналу статистики.

Например, предположим, что устройство с контекстным путем users.admin.devices.thermometer имеет переменную с именем temp и канал статистики с именем statisticsChannel_temp с выражением ({temp_val}-32)*5/9 для преобразования температуры из Фаренгейта в Цельсий, тип выбран как Gauge, отсутствует выражение Timestamp и типы агрегирования Среднее, Минимальное и Максимальное.

Чтобы автоматически обнаружить этот существующий канал статистики, свойство Переменные в диаграмме должно иметь строку со следующими значениями:

Поле

Заметки

Имя

statisticsChannel_temp

Контекст

users.admin.devices.thermometer

Переменная

temp

Использовать каналы агрегации

Либо статистика, либо грануляция, либо и то, и другое.

Выражение расширенного поиска

({tempValue}-32)*5/9

Выражение временной метки

Слева пустой, так как канал статистики не имеет Выражение временной метки

Тип

Индикатор

Агрегация

Среднее

С помощью этих параметров AggreGate пытается найти канал статистики или гранулы с точно совпадающими свойствами. При обнаружении нескольких соответствий будет выдана ошибка.

В случае если точных совпадений не найдено, система пытается найти канал статистики или гранулы с теми же параметрами, но с более тонким уровнем агрегации, например, по минутам, а не по часам.

Если подходящий канал или гранула статистики не найдены, но указанная переменная( в данном случаеtemp ) имеется в контексте( в данном случаеusers.admin.devices.thermometer ), то используется история необработанных переменных.

Ссылка на статистику

Ссылка на статистику имеет один из следующих форматов: {statistics/channel} или {statistics/channel("key")}.

После использования ссылки на статистику внутри серии Выражение, построитель диаграмм берет исторические данные из канала с именем channel. Текущий канал должен быть основан на переменной источника серии.

Если указан ключ, то в качестве источника будет использоваться набор статистических данных, соответствующий этому ключу.

Следующие параметры серии влияют на получение статистических данных:

Выражение серии может включать только одну ссылку на статистику. Ссылка на несколько каналов невозможна.

Ссылка на другие поля из выражения серии на основе статистики

Серийное выражение, основанное на статистике, может ссылаться и на другие поля исходной переменной. Однако такие ссылки имеют ряд важных нюансов:

  • Статистический канал не хранит исходные исторические значения переменной. Поэтому любые ссылки на ячейки исходной переменной вычислить, используя текущее значение этой переменной.

  • Если для серии, основанной на статистике, включена история в реальном времени, построитель диаграмм объединит выражения статистического канала и серии, чтобы сгенерировать новое выражение для построения точек данных в реальном времени.