Пользовательские данные

Этот тип исходных данных поддерживается всеми графиками. Если включен массив данных, график строится в два этапа:

  • Чтение исходных табличных данных графика (обычно с сервера) с использованием привязки и помещение этих данных в свойство Исходные данные
  • Построчный анализ таблицы Исходных данных и заполнение массива данных графика

Построение массива данных графика в SberMobile похоже на Microsoft Excel:

  • На первом этапе любые табличные данные читаются с сервера и помещаются в свойство Исходные данные. Это свойство сильно напоминает лист Excel, заполненный цифрами и строками, поскольку он может содержать по сути любые данные.
  • На втором этапе данные из этого "листа" используются для заполнения полученного в результате массива данных, используя выражение SberMobile, которое подобно формуле Excel. Например, говоря о круговой диаграмме, одно выражение ("формула") используется для расчета имени Категории (имени секции круговой диаграммы), а другое выражение дает Значение (ширину секции круговой диаграммы).

Чтение исходных данных

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

Привязка исходных данных может использоваться для периодического обновления графика или при изменениях серверных данных. Для более подробной информации о привязке По событию и Периодически обратитесь к разделу Свойства.

Пример привязки исходных данных:

См. Отладка графиков, чтобы понять, как заполнять Исходные данные "реальными" значениями из Редактора виджетов.

Построение массива данных

Как только свойство "Исходные данные" заполнено, график начинает перестраивать свой внутренний массив данных и обновляется. Это происходит в процессе поочередной обработки каждой записи таблицы Исходные данные и использования привязок графика для получения из нее различных массивов данных (таких как X, Y или Category).

Далее приведено пошаговое описание данного процесса:

  • Отрисовщик графика берет первую запись таблицы исходных данных.
  • Каждая запись таблицы Исходные данные используется для добавления одной записи массива данных графика. Выражения в каждом поле текущей записи исходных данных используются для получения различных значений из текущей записи исходных данных и заполнения записи массива данных графика.
  • 3. Процесс повторяется для остальных записей таблицы    

      Исходные данные, если их  несколько.

    См. Отладка графиков, чтобы понять, как проверить график, используя "живые" значения.

    Примеры

    Так как вышеуказанные понятия могут показаться сложными с первого взгляда, мы предлагаем вам рассмотреть несколько примеров.

    Круговая диаграмма

    Данный простой пример показывает, как построить круговую диаграмму, представляющую статистику типов сетевых интерфейсов в системе сетевого управления.

    Сначала мы задаем привязку, которая выполняет запрос и вводит в таблицу Исходные данные его результаты. Далее приведена таблица исходных данных (имена полей выделены жирным шрифтом):

    interface_type (Interface Type)

    interface_count (Interface Count)

    Tunnel

    18

    Ethernet

    11

    Wireless (IEEE 802.11)

    3

    Other

    2

    PPP

    2

    Loopback

    1

    Таблица Привязки исходных данных нашего графика выглядит следующим образом:

    Легенда

    Значение

    {interface_type}

    {interface_count}

    Это значит, что мы будем использовать значения столбца "Тип интерфейса" для вставки легенд массива данных ("названия секторов") и значения из столбца "Количество интерфейсов" для вставки значений массива данных ("размеры секторов").

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

    Столбчая диаграмма

    Данный пример показывает, как можно брать значения для различных серий данных из столбцов таблицы Исходные данные. Данная диаграмма является столбчатой и указывает текущий входящий и исходящий трафик для 10 самых активных сетевых интерфейсов в системе сетевого управления.

    Далее приведена таблица Исходные данные для данного графика. Она также была задана привязкой при запуске виджета.

    device (Device)

    interface (Interface)

    interfacesInterfacetrafficIncomingtraffic

    (Incoming Traffic, bps)

    interfacesInterfacetrafficOutgoingtraffic

    (Outgoing Traffic, bps)

    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 (Key)

    x (X)

    y (Y)

    z (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 - их координаты.

    Полученный график: