Поддержка подстановок в настройках диаграмм

Подстановки - зарезервированные команды (функции) для обращения к свойствам виджета и вывода значений переменных, атрибутов и данных из источника в заданном формате. Подстановки используются при настройке правил условного форматирования, текстовых шаблонов для подсказок и надписей в диаграммах, а также в HTML-виджете.

Простые подстановки в шаблонах надписей и подсказок в диаграммах

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

Шаблоны позволяют настраивать формат и состав информации об элементах (секциях) диаграммы. В Системе предусмотрены 2 подхода к настройке текстовых шаблонов:

  • быстрая настройка
  • расширенная настройка

Рекомендованные подстановки для простой и быстрой настройки шаблонов описаны в таблице:

Подстановка Описание Точки применения Примеры
[[$variable]] Значение переменной источника, где variable - название переменной из OLAP-источника или код параметра из источника типа “Реестр”
  1. Столбчатая диаграмма/Линейная диаграмма/Радар
    • Серии»Значения»Шаблон
    • Подсказки»Текст»Шаблон
    • Серии»Основное»Заголовок
  2. Датчик/Пирамида/Круговая диаграмма
    • Подсказки»Текст»Шаблон
    • Надписи»Основное»Шаблон
  3. Древовидная карта
    • Надписи»Основное»Шаблон
    • Легенда»Основное»Шаблон
    • Подсказки»Текст»Шаблон
  4. Пузырьковая диаграмма
    • Подсказки»Текст»Шаблон
    • Группы»Значения»Шаблон
    OLAP: [[$Период получения данных]]

    Реестр: [[$par_period]]
    [[text]] Полный заголовок метки (элемента диаграммы), значение зависит от текущей строки/элемента данных. В OLAP-источнике заголовки элементов кортежа перечисляются через разделитель " - ", в источнике типа “Реестр” выводится значение поля, отображаемого как наименование
    1. Столбчатая диаграмма/Линейная диаграмма/Радар
      • Серии»Значения»Шаблон
      • Подсказки»Текст»Шаблон
    2. Датчик/Пирамида/Круговая диаграмма
      • Подсказки»Текст»Шаблон
      • Надписи»Основное»Шаблон
    3. Древовидная карта
      • Надписи»Основное»Шаблон
      • Легенда»Основное»Шаблон
      • Подсказки»Текст»Шаблон
    4. Пузырьковая диаграмма
      • Подсказки»Текст»Шаблон
      • Группы»Значения»Шаблон
      OLAP: [[text]]

      Реестр: [[text]]
      [[caption]] Краткий заголовок для элементов иерархий кортежа, характеризующего строку данных Аналогично [[text]] OLAP: [[caption]]

      Реестр: [[caption]]
      [[@attribute]] Атрибут элемента иерархии в кортеже оси строк, где attribute - это код атрибута, добавленного в настройках OLAP-источника Аналогично [[text]] OLAP: [[@year]]

      Реестр: не применимо
      [[value]] Текущее форматированное значение точки данных (секции диаграммы) по выбранному полю источника (показателю) Аналогично [[text]] OLAP: [[value]]

      Реестр: [[value]]
      [[value_index]] Форматированное значение поля по номеру, где index - это номер столбца из источника виджета, начиная с 0 Аналогично [[text]] OLAP: [[value_1]]

      Реестр: [[value_2]]
      [[value_field]] Форматированное значение поля по полному наименованию, где field - это уникальное имя (код) столбца из источника, в OLAP - перечисление UniqueName элементов в кортеже через запятую, в Реестре - код поля. В отличие от индекса обращение по коду актуально, когда порядок столбцов может измениться или количество столбцов большое Аналогично [[text]] OLAP: [[value_[Measures].[dec_sum]]]

      Реестр: [[value_num_decimal]]
      [[value_x]]
      [[value_y]]
      [[value_z]]
      [[value_x]] — Значение, выбранное в настройках группы для расположения элемента по оси X

      [[value_y]] — Значение, выбранное в настройках группы для расположения элемента по оси Y

      [[value_z]]— Значение, выбранное в настройках группы для определения размера элемента
      1. Пузырьковая диаграмма
        • Подсказки»Текст»Шаблон
        • Группы»Значения»Шаблон
      OLAP:
      • [[value_x]]
      • [[value_y]]
      • [[value_z]]
      Реестр:
      • [[value_x]]
      • [[value_y]]
      • [[value_z]]
      [[percents]] Текущее значение элемента в процентах относительно суммы значений по всем элементам в формате вещественного числа с двумя знаками после запятой
      1. Столбчатая диаграмма/Линейная диаграмма
        • Серии»Значения»Шаблон
        • Подсказки»Текст»Шаблон
      2. Круговая диаграмма/Пирамида
        • Подсказки»Текст»Шаблон
        • Надписи»Основное»Шаблон
      3. Древовидная карта
        • Надписи»Основное»Шаблон
        • Легенда»Основное»Шаблон
        • Подсказки»Текст»Шаблон
        OLAP: [[percents]]

        Реестр: [[percents]]
        [[total]]

        [[total_fixed]]
        [[total]] - итоговое значение (сумма) текущих значений элементов

        [[total_fixed]] - итоговое значение в формате числа с двумя знаками после запятой (только в круговой диаграмме/пирамиде)
        1. Столбчатая диаграмма/Линейная диаграмма
          • Серии»Значения»Шаблон
          • Подсказки»Текст»Шаблон
        2. Круговая диаграмма/Пирамида
          • Заголовки»Текст
          OLAP:
          • [[total]]
          • [[total_fixed]]
          Реестр:
          • [[total]]
          • [[total_fixed]]
          [[title]] Заголовок серии/группы элементов, заданный в настройках виджета
          1. Столбчатая диаграмма/Линейная диаграмма/Радар
            • Серии»Значения»Шаблон
            • Подсказки»Текст»Шаблон
          2. Пузырьковая диаграмма
            • Подсказки»Текст»Шаблон
            • Группы»Значения»Шаблон
            OLAP: [[title]]

            Реестр: [[title]]

            Подстановки в настройках условного форматирования

            В аналитических панелях есть возможность настроить правила для условного раскрашивания диаграмм. С версии 5.2 для виджетов:

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

            В настройках условия доступно использование следующих операторов:

            1. Логические операторы:

            • || - логическое ИЛИ (ищет первое истинное значение из двух аргументов, если хотя бы 1 операнд принимает значение true, то результат - Истина)
            • && - логическое И (возвращает true , если оба аргумента истинны)
            • ! - НЕ (приводит аргумент к логическому типу true/false и возвращает противоположное значение, одним из вариантов использования является проверка на пустоту)

            2. Операторы сравнения (дополнительная информация в статье Операторы сравнения в JavaScript):

            • > < - сравнения больше/меньше
            • >= <= - сравнения больше/меньше или равно
            • == - равно (без сравнения типа, т.е. при сравнении операнды с разным типом данных преобразуются к числу)
            • === - строгое равно (сравнивается и тип, и значение, т.е. проверяет равенство без приведения типов)
            • != - не равно (без сравнения типа)
            • !== - оператор строгого неравенства (без приведения типов)

            3. Математические операторы:

            • + сложение
            • - вычитание
            • * умножение
            • / деление
            • % взятие остатка от деления
            • ** возведение в степень

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

            Примечание

            1. Приоритет оператора &&(И) больше, чем ||(ИЛИ), поэтому он выполняется раньше. Приоритет !(НЕ) является наивысшим из всех логических операторов, поэтому он всегда выполняется первым, перед && или ||.
            2. Строки сравниваются посимвольно в лексикографическом (алфавитном) порядке, поэтому результат сравнения форматированного значения со строкой отличается от сравнения неформатированного значения со строкой. Алгоритм сравнения строковых значений предполагает, что сначала сравниваются первые символы строк, если они равны, то поочередно сопоставляются последующие символы. Также при сравнении строковых значений учитывается регистр символов. Например:
              • '100' < '2' - Истина, а 100 < 2 - Ложь
              • 'Московская область' > 'Москва' - Истина
              • 'N1' < 'n1' - Истина
            3. Значения разных типов при сравнении приводятся к числу. Исключением является сравнение с помощью операторов строгого равенства === и неравенства !==. Например:
              • true == 1, false == 0 - Истина, a true === 1, false === 0 - Ложь
              • '100' > 2 - Истина
              • '' == 0, '' == false - Истина, так как пустая строка и false равны нулю
              • '01 !== 1 - Истина, a '01' != 1 - Ложь
            4. При сопоставлении с форматированных значений важно учитывать примененные разделители тысячных и дробной части операндов. Например, результат сравнения значения в формате “#0.00 руб” будет Истина при выражениях следующего вида:
              • row.getValue(0, true)=='1 001,22 руб'
              • row.getValue(0, false)==1001.223

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

            1) от источника данных виджета:

            Подстановка Описание Примеры
            [[$variable]] Уникальное имя (значение) переменной источника, где variable - название переменной из OLAP-источника или код параметра из источника типа “Реестр” OLAP: [[$Период получения данных]]=='[period_dim].[period_heir].[2021]'

            Реестр: [[$param]]=='Тюменская область'
            Функция Описание Примеры
            ds.getVariableValue
            (variableName, asString)
            Значение переменной источника, приведенное к строке в зависимости от булева значения asString, где variableName - название переменной из OLAP-источника или код параметра из источника типа “Реестр”. При asString = true значение передается форматированной строкой, при отсутствии или false - значение (UniqueName) без форматирования OLAP:
            1. переменная типа “Элемент иерархии” в формате строки сопоставляется с фиксированным значением:
              ds.getVariableValue("Период",true)=="2020"
            2. переменная типа “Элемент иерархии” без форматирования сопоставляется со значением элемента иерархии:
              ds.getVariableValue("Период", false)=='[period_dim].[period_heir].[2021]'
            3. переменная типа “Дата” в формате строки сопоставляется с фиксированным значением:
              ds.getVariableValue("Выбранная дата", true)=='31.12.2018'
            4. переменная типа “Дата” без форматирования сопоставляется с текущей датой: ds.getVariableValue("Выбранная дата", false)<=new Date()
            Реестр: ds.getVariableValue("param", false)=='2021'

            2) от текущей строки данных:

            Подстановка Описание Примеры
            [[text]] Полный заголовок метки (элемента диаграммы), значение зависит от текущей строки/элемента данных. В OLAP-источнике заголовки элементов кортежа перечисляются через разделитель " - ", в источнике типа “Реестр” выводится значение поля, отображаемого как наименование OLAP: * при наличии 2х иерархий на оси строк:
            [[text]]=='Тюменская область - 2021'

            Реестр: [[text]]=='Тюменская область'
            [[caption]] Краткий заголовок для элементов иерархий кортежа, характеризующего строку данных OLAP: * при наличии 2х иерархий на оси строк:
            [[caption]]=='Тюменская область'

            Реестр: [[caption]]=='Тюменская область'
            [[name]] Уникальное наименование строки данных (идентификатор записи в Реестре). Для OLAP-источника значение содержит перечисление UniqueName элементов в кортеже через запятую без пробелов OLAP: * при наличии 2х иерархий на оси строк:
            [[name]]=='[dim_regions].[regions_hier].[Тюменская область],[period_dim].[period_heir].[2021]'

            Реестр: [[name]]==38
            [[@attribute]] Атрибут элемента иерархии в кортеже оси строк, где attribute - это код атрибута, добавленного в настройках OLAP-источника. Значение соответствует типу атрибута OLAP:
            1. нестрогое равенство атрибута фиксированному значению:
              [[@year]]==2021
            2. сравнение атрибута типа “Дата” с фиксированной датой после приведения типов к дате:
              [[@Date]]>=Ext.util.Format.date(new Date('2018-12-31'),"Y-m-d 00:00:00.0")
            [[value]] Текущее значение точки данных (секции диаграммы) по выбранному полю источника (показателю) без форматирования OLAP: [[value]]>30000

            Реестр: [[value]]>5.4
            [[value_index]] Значение поля без форматирования по номеру, где index - это номер столбца из источника виджета начиная с 0, при необходимости округления дробной части можно использовать метод .toFixed(n), где n - количество цифр после десятичной запятой от 0 до 20 OLAP: [[value_1]]==1000

            Реестр:
            • сравнение числового поля, округлённого до 2х знаков после запятой:
              [[value_2]].toFixed(2)>=0.61
            [[value_field]] Значение поля без форматирования по полному наименованию, где field - это уникальное имя (код) столбца из источника, в OLAP - перечисление UniqueName элементов в кортеже через запятую, в Реестре - код поля OLAP:
            • сравнение значения меры по определенному элементу иерархии периодов на оси столбцов: [[value_[period_dim].[period_heir].[2021],[Measures].[sum]]]>=1002.32
            Реестр:
            • сравнение 2х числовых полей: [[value_plan]]<[[value_fact]]
            [[value_x]]
            [[value_y]]
            [[value_z]]
            [[value_x]] — Значение без форматирования, выбранное в настройках группы для расположения элемента по оси X
            [[value_y]] — Значение без форматирования, выбранное в настройках группы для расположения элемента по оси Y
            [[value_z]] — Значение без форматирования, выбранное в настройках группы для определения размера элемента
            OLAP: [[value_x]]>10

            Реестр: [[value_z]]>100
            Функция Описание Примеры
            row.getText() Полный заголовок метки (элемента диаграммы), значение зависит от текущей строки/элемента данных. В OLAP-источнике заголовки элементов кортежа перечисляются через разделитель " - ", в источнике типа “Реестр” выводится значение поля, отображаемого как наименование OLAP:* при наличии 2х иерархий на оси строк:
            row.getText()=='Тюменская область - 2021'

            Реестр:
            row.getText()=='Тюменская область'
            row.getCaption() Краткий заголовок для элементов иерархий кортежа, характеризующего строку данных OLAP: * при наличии 2х иерархий на оси строк: row.getCaption()=='Тюменская область'

            Реестр:
            row.getCaption()=='Тюменская область'
            row.getPropertyValue
            (propertyName, asString)
            Атрибут элемента иерархии в кортеже оси строк, где propertyName - это код атрибута из OLAP-источника, при asString = true значение преобразуется в формат строки, при отсутствии или false - значение без форматирования OLAP:
            1. значение атрибута типа “Дата” соответствует строке: row.getPropertyValue("Date", true)=='2018-12-31 00:00:00.0'
            2. значение атрибута типа “Дата” раньше текущей даты (без форматирования): row.getPropertyValue("Date", false)<Ext.util.Format.date(new Date(),"Y-m-d")
            3. значение атрибута типа “Дата” меньше значения переменной типа “Дата”, приведенной к единому формату (без форматирования): row.getPropertyValue("Date", false)<Ext.util.Format.date(ds.getVariableValue
              ("Выбранная дата", false),"Y-m-d")
            4. значение атрибута логического типа = Истина (без форматирования): row.getPropertyValue("bln", false)==true
            5. значение атрибута логического типа = Истина (в формате строки): row.getPropertyValue("bln", true)=='true'
            6. значение атрибута логического типа = Ложь (без форматирования): row.getPropertyValue("bln", false)==null
            7. значение атрибута логического типа = Ложь (в формате строки): row.getPropertyValue("bln", true)==''
            Реестр: не применимо
            row.getValue(index, asString) Значение поля строки данных по номеру, где index - это номер столбца из источника виджета начиная с 0. При asString = true значение передается форматированной строкой, при отсутствии или false - фактическое значение без форматирования. При необходимости округления дробной части можно использовать метод .toFixed(n), где n - количество цифр после десятичной запятой со значением от 0 до 20. В форматированном значении из OLAP-источника в качестве разделителя тысячных применяется неразрывный пробел " " (non -breaking space) OLAP:
            1. сравнение значения меры типа “Целое число” (без форматирования): row.getValue(0, false)==946451
            2. сравнение значения меры типа “Целое число” (форматированное): row.getValue(0, true)=='946 451'
            3. сравнение значения меры в формате процента (без форматирования): row.getValue(1, false)==1.021036
            4. сравнение значения меры в формате процента (форматированное): row.getValue(1, true)=='102,10%'
            Реестр:
            1. сравнение значения поля типа “Вещественное число” (без форматирования): row.getValue(3)==-3.4
            2. сравнение значения поля типа “Вещественное число” (форматированное): row.getValue(3, true)=='-3.4'
            row.getValue(fieldName, asString) Значение поля строки данных по полному наименованию, где fieldName - это уникальное имя (код) столбца из источника, в OLAP - перечисление UniqueName элементов в кортеже через запятую, в Реестре - код поля. При asString = true значение передается форматированной строкой, при отсутствии или false - фактическое значение без форматирования. При необходимости округления дробной части можно использовать метод .toFixed(n), где n - количество цифр после десятичной запятой со значением от 0 до 20. В форматированном значении из OLAP-источника в качестве разделителя тысячных применяется неразрывный пробел " " (non -breaking space) OLAP:
            1. сравнение значения меры по дефолтному элементу иерархии периодов на оси столбцов (без форматирования): row.getValue("[dim_period].[h_period].[All h_periods],[Measures].[sum]", false)>2022.01
            2. сравнение значения меры по дефолтному элементу иерархии периодов на оси столбцов (форматированное): row.getValue("[dim_period].[h_period].[All h_periods],[Measures].[sum]", true)=='2 022,02'
            Реестр:
            1. значение поля типа “Дата” сопоставляется со строкой (в формате строки): row.getValue("registration_date",true)<'21.06.2023'
            2. значение поля типа “Дата” сопоставляется с датой (без форматирования): row.getValue("registration_date", false)<Ext.util.Format.date(new Date('2023-06-21'),"Y-m-d")
            3. значение поля логического типа = Ложь (без форматирования): row.getValue("signed", false)==false
            4. значение поля логического типа = Ложь (в формате строки): row.getValue("signed", true)=='False'

            3) от настроек виджета:

            Функция Описание Примеры
            widget.Title Свойство “Заголовок виджета” widget.Title!='Динамика продаж за 2022г.'

            Подстановки в содержании HTML-виджета и HTML-редактора подсказок

            В системе обеспечена поддержка HTML-кода с подстановками и переменными в теле содержания, что позволяет:

            • отображать в дашборде данные источника в любом формате через HTML-виджет
            • создавать пользовательские подсказки любого вида

            Набор подстановок и правила настройки HTML-содержания для HTML-виджета и HTML-редактора подсказок совпадает, разница заключатся только в том, что подстановки в подсказках выполняются на основе данных источника самой диаграммы, а HTML-виджет оперирует любыми источниками дашборда, так как обращение выполняется явно в содержании.

            Простые подстановки

            Подстановка Описание Примеры
            {$variable} Значение переменной источника данных форматированной строкой, где variable - название переменной из OLAP-источника или код параметра из источника типа “Реестр”. При наличии спецсимволов (кроме нижнего подчёркивания) в имени переменной следует применять подстановку вида {[values["$variable"]]} или соответствующую функцию OLAP:
            1. Переменная “Период” без пробелов в названии - {$Период}
            2. Переменная “Период получения данных” - {[values["$Период получения данных"]]}
            Реестр: {$param}
            {text} В OLAP-источнике полный заголовки элементов в кортеже оси строк, заголовки перечисляются через разделитель " - ". В источнике типа “Реестр” построчно выводится значение поля, отображаемого как наименование OLAP: {text}

            Реестр: {text}
            {caption} Краткий заголовок текущих элементов иерархий в кортеже для строки данных. В источнике типа “Реестр” совпадает с {text} OLAP: {caption}

            Реестр: {caption}
            {name} Уникальное имя строки данных (идентификатор записи в Реестре). Для OLAP-источника значение содержит перечисление UniqueName элементов в кортеже через запятую без пробелов. Может использоваться в условиях вывода подсказки или параметрах URL-ссылок OLAP: {name}

            Реестр: {name}
            {@attribute} Атрибут элемента иерархии в кортеже оси строк, где attribute - это код атрибута элемента, добавленный в настройках OLAP-источника. Значение соответствует типу атрибута. Для виртуальных атрибутов рекомендована конструкция вида {[values["@attribute"]]} или соответствующая функция OLAP:
            1. Обычный атрибут по коду - {@Date}
            2. Виртуальный атрибут с наименованием “Отображаемый период” - {[values["@Отображаемый период"]]}
            Реестр: не применимо
            {value_index} Форматированное значение поля по номеру, где index - это номер столбца из источника виджета начиная с 0 OLAP:
            • {value_0}
            • {value_10}
            Реестр:
            • {value_0}
            • {value_10}
            {value_field} Форматированное значение поля по полному наименованию:
            • в Реестре - получение значения поля по коду, где field - это уникальное имя (код) столбца из источника. Для числовых полей можно задать формат вывода через :number("0,0.00")
            • в OLAP - необходимо использовать конструкцию вида {[values["value_field"]]} или соответствующую функцию, где field - перечисление UniqueName элементов в кортеже через запятую.
              В отличие от индекса обращение по коду актуально, когда порядок столбцов может измениться или количество столбцов большое
            OLAP:
            1. Значение меры на оси столбцов - {[values["value_[Measures].[sum]"]]}
            2. Значение меры по элементу иерархии периодов на оси столбцов - {[values["value_[period_dim].[period_heir].[2021],[Measures].[sum]"]]}
            Реестр:
            1. Значение поля с кодом “SUM” - {value_SUM}
            2. Значение поля с кодом “name” - {value_name}
            3. Значение поля с кодом “natural_increase” - {value_natural_increase}
            4. Переопределенный формат значения поля с кодом “plan” - {value_plan:number("0,0.00")}

            Продвинутые функции

            Функция Описание Примеры
            {[values.getVariableValue
            (variableName, asString)]}
            Значение переменной источника данных, приведенное к строке в зависимости от булева параметра asString, где variableName - название переменной из OLAP-источника или код параметра из источника типа “Реестр”. При asString = true - значение передается форматированной строкой, при отсутствии или false - значение (UniqueName) без форматирования OLAP:
            • {[values.getVariableValue
              ("Период", false)]}
            • {[values.getVariableValue
              ("Период")]}
            • {[values.getVariableValue
              ("Период", true)]}
            Реестр:
            • {[values.getVariableValue
              ("param", false)]}
            • {[values.getVariableValue
              ("param")]}
            • {[values.getVariableValue
              ("param", true)]}
            {[values.getText()]} Заголовок строки данных:
            • в OLAP-источнике полный заголовок элементов в кортеже оси строк, заголовки перечисляются через разделитель " - "
            • в источнике типа “Реестр” построчно выводится значение поля, указанного в настройке “Поле, отображаемого как наименование”
            OLAP: {[values.getText()]}

            Реестр: {[values.getText()]}
            {[values.getCaption()]} Краткий заголовок текущих элементов иерархий в кортеже для строки данных. В источнике типа “Реестр” совпадает с {text} OLAP: {[values.getCaption()]}

            Реестр: {[values.getCaption()]}
            {[values.getName()]} Уникальное имя строки данных:
            • Для OLAP-источника значение содержит перечисление UniqueName элементов в кортеже через запятую без пробелов
            • Для источника типа “Реестр” значением является идентификатор записи в Реестре
            Может использоваться в условиях вывода подсказки или параметрах URL-ссылок
            OLAP: {[values.getName()]}

            Реестр: {[values.getName()]}
            {[values.getPropertyValue
            (propertyName, asString)]}
            Атрибут элемента иерархии в кортеже оси строк, где propertyName - это код атрибута из OLAP-источника. При asString = true - значение преобразуется в формат строки, при отсутствии или false - значение без форматирования OLAP:
            • {[values.getPropertyValue("Date", true)]}
            • {[values.getPropertyValue("Date", false)]}
            Реестр: не применимо
            {[values.getValue(index, asString)]} Значение поля строки данных по номеру, где index - это номер столбца из источника виджета начиная с 0. При asString = true - значение передается форматированной строкой, при отсутствии или false - фактическое значение без форматирования OLAP: {[values.getValue(1, false)]}

            Реестр: {[values.getValue(1, false)]}
            {[values.getValue
            (fieldName, asString)]}
            Значение поля строки данных по полному наименованию, где fieldName - это уникальное имя (код) столбца из источника:
            • в OLAP - перечисление UniqueName элементов в кортеже через запятую
            • в Реестре - код поля

            При asString = true - значение передается форматированной строкой, при отсутствии или false - фактическое значение без форматирования
            OLAP:
            • {[values.getValue("[Measures].[sum]", false)]}
            • {[values.getValue("[period_dim].[period_heir].[2021],[Measures].[sum]", true)]}
            Реестр:
            • {[values.getValue("SUM", true)]}
            • {[values.getValue("name", true)]}
            • {[values.getValue
              ("natural_increase", false)]}

            Дополнительные возможности

            Функция Описание Примеры
            new Date(datestring) Создание нового объекта типа “Дата”:
            • с текущей датой и временем - new Date()
            • с заданной датой - Date('2018-01-23') или new Date(2018, 0, 23)
            OLAP: new Date()

            Реестр: new Date()
            Ext.util.Format.date
            (date,format)
            Определение формата для значения типа “Дата” OLAP: Ext.util.Format.date(new Date(),"Y-m-d")

            Реестр: Ext.util.Format.date(new Date(),"Y-m-d")
            HTML-теги Поддерживаются различные теги языка разметки текста для описания элементов, среди популярных:
            • <br> - переносит текст на другую строку, не начиная нового абзаца
            • <p> - создаёт абзацы
            • <b></b> - cоздает жирный текст
            • <hr> - добавляет горизонтальную линию
            • <div></div> - определяет логическое разделение содержимого
            • <a href="URL">Заголовок для сcылки</a> - используется для создания ссылок
            • <span></span> - используется для стилизации отдельных слов и фраз в блоке текста
            • <font size=?></font> - устанавливает размер текста в пределах от 1 до 7
            • <font color=?></font> - устанавливает цвет текста, используя значение цвета в виде RRGGBB
            • <table></table> - создает таблицу
            • <tr></tr> - определяет строку в таблице
            • <td></td> - определяет отдельную ячейку в таблице
            • <th></th> - определяет заголовок таблицы
            • <td colspan=#> - указывает количество столбцов, которое объединено в одной ячейке (по умолчанию=1)
            • <td rowspan=#> - указывает количество строк, которое объединено в одной ячейке (по умолчанию=1)
            • <frame src="URL"> - определяет какой контент будет показан во фрейме
            • коды спецсимволов:
              • &lt; - оператор сравнения меньше
              • &gt; - оператор сравнения больше

            Примечание

            1. Добавлять подстановки рекомендуется путем копирования-вставки из тела справки к шаблону, так как некоторые комбинации символов при незавершенной конструкции могут спровоцировать ошибки, зависание и перезагрузку вкладки браузера с системой. Например, некорректно вводить с клавиатуры последовательность символов {[ или {%, объявляющих блок js-кода.
            2. В подстановках не могут применяться имена полей, переменных, атрибутов, содержащих спецсимволы, кроме “_”. При наличии спецсимволов в имени следует использовать подстановки вида:
              • {[values["value_field"]]}
              • {[values["@attribute"]]}
              • {[values["$variable"]]}
                или соответствующие функции:
              • {[values.getValue("fieldName")]}
              • {[values.getValue(index)]}
              • {[values.getPropertyValue(propertyName)]}
              • {[values.getVariableValue(variableName)]}
            3. Если для серии/группы настроено содержимое подсказки, для этой серии/группы будет игнорироваться значение шаблона текста из настроек раздела “Подсказки”. Настройка подсказки, заданная в области “Содержимое”, приоритетнее значения шаблона, указанного в области настроек подсказки “Текст”.
            4. Стиль текста и фона, размер подсказки применяются в следующем порядке:
              1. переопределённые в HTML-содержании подсказки,
              2. явно заданные параметры подсказки,
              3. дефолтные настройки.

            HTML-виджет

            Для обращения к источнику данных в виджете «HTML» необходимо во вкладке «Содержание» ввести шаблон <tpl for="ds">содержимое</tpl>, где:

            • ds – название источника данных дашборда (не должно содержать пробелы и другие спецсимволы),
            • содержимое – область ввода HTML-тегов и подстановок с обращением к данным источника.

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

            <table border="1" style="border-collapse:collapse;">
              <colgroup width="50%">
                <colgroup width="30%">
                <tr>
                  <th rowspan="1">Наименование</th>
                  <th colspan="1">Показатель</th>
                </tr>
                <tpl for="Источник_Реестр">
              <tr>
                <td align="left">{text}</td>
                <td align="center">{value_1}</td>
              </tr>
              </tpl>
            </table>
            

            Если необходимо получить значение из источника 1 раз (например, переменную) или данные 1 конкретной ячейки, то можно использовать конструкцию вида values["ds"][n].function, где:

            • ds – название источника данных дашборда,
            • n - индекс строки,
            • function - подстановка для получения данных источника.

            Таким образом, в блоке js-кода описывается js-объект, где ключ - источник, а значение - массив из записей источника с набором поддерживаемых методов. Для вызова кода необходимо задекларировать зависимость от изменения источника, поэтому в рамках содержимого также потребуется добавить конструкцию <tpl for...>, например:

            <tpl> 
              {% values.dsVarValue = values["Источник_OLAP"][0].getVariableValue("Период",true); 
               %} 
            	Выбранный период - {dsVarValue} 
            </tpl>
            <tpl for="Источник_OLAP"></tpl>
            

            HTML-редактор подсказок

            С версии 5.2 для каждой диаграммы дополнительно реализован расширенный режим редактирования подсказок - опция позволяет более тонко настроить визуализацию данных.
            В HTML-редакторе доступно использование простых подстановок, сложных функций и возможностей HTML-тегов. Подсказки могут содержать данные источника, таблицы, диаграммы, изображения для отображения всей необходимой пользователю информации о данных графика и кастомизации внешнего вида и условий появления всплывающих подсказок.

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

            Линейная

            Радар
            • HTML из области настроек “Содержание” отдельной серии
            • HTML из области настроек “Содержание” в общих параметрах подсказок
            • Шаблон подстановок из области настроек “Текст” в общих параметрах подсказок
            {title} — Заголовок серии
            {value} — Текущее значение элемента диаграммы форматированной строкой
            {percents} — Значение элемента диаграммы в процентах
            {total} — Итоговое значение
            Круговая

            Пирамида

            Древовидная карта
            • HTML из области настроек “Содержание” в общих параметрах подсказок
            • Шаблон подстановок из области настроек “Текст” в общих параметрах подсказок
            {value} — Текущее значение элемента диаграммы форматированной строкой
            {percents} — Значение элемента диаграммы в процентах
            Датчик
            • HTML из области настроек “Содержание” в общих параметрах подсказок
            • Шаблон подстановок из области настроек “Текст” в общих параметрах подсказок
            {value} — Текущее значение элемента диаграммы форматированной строкой
            Пузырьковая диаграмма
            • HTML из области настроек “Содержание” отдельной группы
            • HTML из области настроек “Содержание” в общих параметрах подсказок
            • Шаблон подстановок из области настроек “Текст” в общих параметрах подсказок
            {title} — Заголовок группы
            {value_x} — Значение оси X элемента диаграммы
            {value_y} — Значение оси Y элемента диаграммы
            {value_z} — Значение элемента диаграммы
            1 Like