Пользовательские данные
Этот тип исходных данных поддерживается всеми графиками. Если включен массив данных, график строится в два этапа:
- Чтение исходных табличных данных графика (обычно с сервера) с использованием привязки и помещение этих данных в свойство Исходные данные
- Построчный анализ таблицы Исходных данных и заполнение массива данных графика
Построение массива данных графика в SberMobile похоже на Microsoft Excel:
|
Чтение исходных данных
Сначала используется привязка виджета для заполнения таблицы исходных данных. Выражение этой привязки должно вернуть таблицу данных, например, путем чтения значения переменной контекста или выполнения контекстной функции.
Привязка исходных данных может использоваться для периодического обновления графика или при изменениях серверных данных. Для более подробной информации о привязке По событию и Периодически обратитесь к разделу Свойства. |
Пример привязки исходных данных:
См. Отладка графиков, чтобы понять, как заполнять Исходные данные "реальными" значениями из Редактора виджетов. |
Построение массива данных
Как только свойство "Исходные данные" заполнено, график начинает перестраивать свой внутренний массив данных и обновляется. Это происходит в процессе поочередной обработки каждой записи таблицы Исходные данные и использования привязок графика для получения из нее различных массивов данных (таких как X
, Y
или Category
).
Далее приведено пошаговое описание данного процесса:
3. Процесс повторяется для остальных записей таблицы
Исходные данные, если их несколько.
См. Отладка графиков, чтобы понять, как проверить график, используя "живые" значения. |
Примеры
Так как вышеуказанные понятия могут показаться сложными с первого взгляда, мы предлагаем вам рассмотреть несколько примеров.
Круговая диаграмма
Данный простой пример показывает, как построить круговую диаграмму, представляющую статистику типов сетевых интерфейсов в системе сетевого управления.
Сначала мы задаем привязку, которая выполняет запрос и вводит в таблицу Исходные данные его результаты. Далее приведена таблица исходных данных (имена полей выделены жирным шрифтом):
interface_type ( | interface_count ( |
Tunnel | 18 |
Ethernet | 11 |
Wireless (IEEE 802.11) | 3 |
Other | 2 |
PPP | 2 |
Loopback | 1 |
Таблица Привязки исходных данных нашего графика выглядит следующим образом:
Легенда | Значение |
{interface_type} | {interface_count} |
Это значит, что мы будем использовать значения столбца "Тип интерфейса" для вставки легенд массива данных ("названия секторов") и значения из столбца "Количество интерфейсов" для вставки значений массива данных ("размеры секторов").
Полученный график будет выглядеть следующим образом:
Столбчая диаграмма
Данный пример показывает, как можно брать значения для различных серий данных из столбцов таблицы Исходные данные. Данная диаграмма является столбчатой и указывает текущий входящий и исходящий трафик для 10 самых активных сетевых интерфейсов в системе сетевого управления.
Далее приведена таблица Исходные данные для данного графика. Она также была задана привязкой при запуске виджета.
device ( | interface ( | interfacesInterfacetrafficIncomingtraffic ( | interfacesInterfacetrafficOutgoingtraffic ( |
admin.lh (Network Host) | Intel(R) Wireless WiFi Link 4965AGN-Native WiFi Filter Driver-0000 | 801 | 747 |
admin.lh (Network Host) | Intel(R) Wireless WiFi Link 4965AGN-QoS Packet Scheduler-0000 | 801 | 747 |
admin.lh (Network Host) | Intel(R) Wireless WiFi Link 4965AGN | 801 | 747 |
admin.lh (Network Host) | Microsoft Windows Mobile Remote Adapter | 11 | 64 |
admin.lh (Network Host) | Teredo Tunneling Pseudo-Interface | 0 | 15 |
admin.lh (Network Host) | Intel(R) 82566MM Gigabit Platform-QoS Packet Scheduler-0000 | NULL | NULL |
admin.lh (Network Host) | WAN-QoS Packet Scheduler-0000 | NULL | NULL |
admin.lh (Network Host) | WAN (IP)-QoS Packet Scheduler-0000 | NULL | NULL |
admin.lh (Network Host) | WAN (IPv6)-QoS Packet Scheduler-0000 | NULL | NULL |
admin.lh (Network Host) | isatap.{1CD346AE-0620-4276-9D41-8C5FB87CCAAB} | NULL | NULL |
Нам нужно взять значение входящего трафика из третьего столбца и значения исходящего трафика. Поэтому нам нужны две записи привязок исходных данных.
Легенда серии | Категория | Значение |
'Incoming Traffic, bps' | {device} + ' - ' + {interface} | {interfacesInterfacetrafficIncomingtraffic} |
'Outgoing Traffic, bps' | {device} + ' - ' + {interface} | {interfacesInterfacetrafficOutgoingtraffic} |
Данная таблица указывает, что в графике будет две серии данных. В процессе обработки первой записи привязки исходных данных все добавленные записи массива данных будут принадлежать сериям с фиксированным именем Incoming Traffic, bps
(оно цитируется как строковой литерал, т.к. все ячейки таблицы Привязки исходных данных содержат выражения). Во время обработки второй записи все записи массива данных будут относиться к серии Outgoing Traffic, bps
.
Полученный график:
Пузырьковая диаграмма
Имейте в виду, что каждый тип графика содержит таблицу Исходные данные и таблицу Привязки исходных данных по умолчанию, что значительно облегчает понимание функциональности графика. Данный пример использует данные и привязки пузырьковой диаграммы по умолчанию, чтобы продемонстрировать создание массива данных.
График Исходные данные:
key ( | x ( | y ( | z ( |
Серия 1 | 4 | 4 | 4 |
Серия 1 | 6 | 6 | 5 |
Серия 1 | 9 | 9 | 8 |
Серия 2 | 5 | 12 | 5 |
Серия 3 | 8 | 2 | 4 |
График Привязки исходных данных:
Легенда | X | Y | Z |
{key} | {x} | {y} | {z} |
Данные привязки очень простые: значение каждого элемента массива данных берется из поля таблицы Исходные данные с таким же именем. Имейте в виду, что Z - размер пузырьков, X и Y - их координаты.
Полученный график: