Форматирование виджета "Сводная таблица"

Форматирование может применяться в следующих элементах виджета (активируется галочкой Включить форматирование):

  • Настройки таблицы

    • Заголовки столбцов

    • Заголовки строк

    • Ячейки данных

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

  • @value - значение ячейки заголовка (применяется для форматирования текстов показателя или измерений);

При форматировании текста заголовков строк можно использовать следующие зарезервированные команды:

  • @value - значение в ячейке бокового столбца;

  • @level - уровень вложенности измерения;

  • @rowLevel (@level) - текущий уровень вложенности;

  • @path - массив всех родительских уровней;

    • @path[0] - самый первый родитель;

    • @path[@level-1] - ближайший родитель.

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

  • @value - значение в ячейке таблицы;

  • @rowPath - массив родителей-строк;

  • @rowLevel - текущий уровень вложенности по строкам;

  • @columnPath[x] - массив родителей-столбцов (x – уровень вложенности);

  • @columnLevel - текущий уровень вложенности;

  • @subcolumn - содержит название показателя.

При работе с форматированием также можно использовать HTML разметку для более глубоко форматирования текста.

Примеры форматирования

Изменение фона ячеек

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

@subcolumn=='Пробег автомобиля'? 'red':@subcolumn=='Стоимость автомобиля'?'green':''

Где

@subcolumn=='Пробег автомобиля' – название колонки, где вы хотите изменить цвет фона ячеек;

'red' - цвет фона.

Возможно использование различных цветовых форматов:

  • HTML имя цвета (например, red)

  • RGBA (например, rgba(225,0,0,225))

  • HEX (например, #ff0000)

 

Замена значения первого уровня измерения

Вы можете заменить значение первого уровня измерения в таблице. В нашем примере мы заменим буквенное обозначение региона на полное название региона. Для этого мы выполним следующую команду в поле Форматирование текста измерения раздела Заголовки столбцов:

@level===0&&@path[0]===ru-al?Алтайский край : @level===0&&@path[0]===ru-ir?Иркутская область :@level===0&&@path[0]===ru-ms?Москва :@level===0&&@path[0]===ru-pr?Приморский край :@level===0&&@path[0]===ru-sa?Самарская область :@level===0&&@path[0]===ru-sc?Севастополь :@value

Где
@level===0 – уровень вложенности измерения;
@path[0]самый первый родитель;
ru-al – буквенное обозначение региона;
Алтайский край – полное название региона, на которое нужно заменить текущее значение.

Также можно добавить любой текст к существующему значению показателя. Например, добавим к фразе Объем продаж в штуках слово RUR во всех колонках. Для этого выполним следующую команду в поле Форматирование текста показателя раздела Заголовки столбцов:

@value + ' RUR'

Где
@value – значение ячейки показателя;
' RUR' – добавляемый текст.

Дополнение подписей измерения

Вы можете добавлять пояснительный текст к значениям, отображаемым в названиях строк. В качестве примера, добавим в нашей таблице к цифровому обозначению года слово год, а к названию месяца добавим слово месяц. Для этого введем следующую команду в поле Форматирование текста раздела Заголовки строк:

@level == 0 ? @value + ' год' : @level==1? 'месяц ' + @value : ''

Где

@level == 0, @level==1 - уровень вложенности измерения;

@value - значение (год или месяц соответственно);

' год', 'месяц ' - текст, который нужно добавить.

Результат применения команды:

Изменение значения в ячейке

Вы можете изменять любое значение ячейки при помощи логических и математических операций. В нашем примере мы умножим значения, которые меньше 1000, на 2, а все остальные поделим на 2. Для этого мы введем следующую команду в поле Форматирование текста:

@value <1000 ? @value * 2: @value/2

Где

@value <1000 - условие (значение должно быть меньше 1000);

@value * 2 - умножение значения на 2, если выполнено условие;

@value/2 - деление значения на 2 в противном случае.

Результат применения команды:

Изменение цвета текста в ячейках

Вы можете изменять цвет текста в ячейках в зависимости от определенного значения и названия измерения. В нашем примере мы пометим разным цветом значения, которые отображаются в колонке Май. Те значения, которые больше 30 000 мы пометим синим цветов, значения, которые меньше 1000 – красным. Значения, которые не удовлетворяют ни одному из указанный условий, пометим чёрным цветом. Для этого мы выполним следующую команду в поле Форматирование цвета текста раздела Ячейки данных:

@value > 30000 && @columnPath[0]=="Май"? "blue" : @value < 1000 && @columnPath[0]=="Май"? "red" : "black"

Где
@value > 30000 – условие (значение должно быть больше 30 000);
&& - логический оператор И;
@columnPath[0]=="Май" – массив родителей-столбцов (в нашем примере это колонка с названием Май);
"blue" – цвет, который примет значение, если оно больше 30 000;
@value < 1000 – условие (значение должно быть меньше 1000);
"red" – цвет, который примет значение, если оно меньше 1000;
"black" – цвет, который примет значение, если оно не удовлетворяет ни одному из указанных условий.

 

Возможно использование различных цветовых форматов:

  • HTML имя цвета (например, red)

  • RGBA (например, rgba(225,0,0,225))

  • HEX (например, #ff0000)

Изменение цвета фона ячеек

Цвет фона ячеек можно также изменить в зависимости от определенного значения и названия измерения. Например, можно задать разный цвет ячеек для каждого месяца в таблице. Для этого мы выполним следующую команду в поле Форматирование фона раздела Ячейки данных:

@columnPath[0] == "Январь" ? '#03a9e3' : @columnPath[0] == "Февраль" ? '#0bb2c4' : @columnPath[0] == "Март" ? '#3bad68' : @columnPath[0] == "Апрель" ? '#8bbd38' : @columnPath[0] == "Май" ? '#cfc903' : @columnPath[0] == "Июнь" ? '#f9ad01' : @columnPath[0] == "Июль" ? '#f08002' : @columnPath == "Август" ? '#ec494c' : @columnPath[0] == "Сентябрь" ? '#cf687d' : @columnPath[0] == "Октябрь" ? '#98648a' : @columnPath[0] == "Ноябрь" ? '#6881b9' : @columnPath[0] == "Декабрь" ? '#0078aa' : '000000'

Где
@columnPath[0] – массив родителей-столбцов (в нашем примере это названия месяцев);
"Январь" – название измерения;
'#03a9e3' – название цвета.

Изменение шрифта заголовков столбцов и ячеек данных

Вы можете выделить в таблице отдельные столбцы, изменив шрифт заголовков столбцов и данных в этих столбцах. Например, можно выделить определенную категорию столбцов жирным шрифтом. В нашем примере мы выделим данные столбца Оклад. Для этого мы введем две команды:

  1. @value=='Оклад'?'<b>' + @value +'</b>':@value – в поле Форматирование текста показателя раздела Заголовки столбцов (для выделения названия показателя).
    Где
    @value=='Оклад' – название показателя, которое нужно выделить (в нашем примере это Оклад);
    '<b>' + @value +'</b>' – выделение значения жирным шрифтом с помощью тегов;
    :@value – указывает на то, что другие значения показателей остаются без изменений.

  2. @subcolumn=='Оклад'?'<b>' + @value +'</b>':@value – в поле Форматирование текста раздела Ячейки данных (для выделения значений столбца).
    Где
    @subcolumn=='Оклад' – содержит название показателя (в нашем примере это Оклад);
    '<b>' + @value +'</b>' – выделение значения жирным шрифтом с помощью тегов;
    :@value – указывает на то, что другие значения ячеек остаются без изменений.

Форматирование стиля текста в заголовках столбцов

Вы можете изменить стиль текста в заголовках столбцов. Например, можно выделить значения жирным шрифтом. Для этого используется следующая команда в поле Форматирование текста показателя раздела Заголовки столбцов:

'<b>' + @value +'</b>'

Обработка пустых заголовков строк

Если у вас в таблице имеются пустые заголовки строк, их можно заменить каким-либо значением или фразой, например, <Пусто>. Для этого используется следующая команда в поле Форматирование текста раздела Заголовки строк:

@value==""?"<Пусто>":@value

Где
@value=="" – условие, при котором значение отсутствует;
"<Пусто>" – текст, который вставляется вместо пустого заголовка при удовлетворении условия.