Пользовательские данные
Этот тип исходных данных поддерживается всеми графиками. Если включен массив данных, график строится в два этапа:
- Чтение исходных табличных данных графика (обычно с сервера) с использованием привязки и помещение этих данных в свойство Исходные данные
- Построчный анализ таблицы Исходных данных и заполнение массива данных графика
![]() | Построение массива данных графика в 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 - их координаты.
Полученный график: