Настройка компонентов отчета
Общая информация
Настройка отчета в режиме конструктора предполагает несколько основных шагов:
- выбор набора данных. Набором определяются исходные данные, которые представляют собой плоскую таблицу;
- выбор внешнего представления данных. Выбором типа диаграммы определяется не только внешний вид представления, но и набор «Полок» для размещения данных, поэтому выбрать тип диаграммы нужно на этом этапе, см. рисунок ниже:

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

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

Интерфейс и компоновка управляющих элементов при настройке визуализации в контейнере
Экран в режиме «Конструктор отчетов» разделен на несколько областей, каждая из которых имеет свое функциональное назначение. Внешний вид экрана для настройки отчета в режиме конструктора отражены на рисунках выше и ниже:

- элемент 1 — область заголовка. Здесь расположены название отчета и название компонента, а также кнопки «Сохранить» и «Отмена»;
- элемент 2 — область набора данных. В списке показаны поля выбранного набора;
- элементы 3 и 4 — область настройки представления. При нажатии на иконки выбора шага настройки в области «4» изменяется набор настроек в области «3»: выбор типа (см. первый рисунок, слева), настройка выбранного компонента (см. первый рисунок, по центру), настройка фильтров (см. первый рисунок, справа);
- элемент 5 — область связи набора данных и представления. Размещая поля набора на «Полках», настройте как будут выводиться данные в представлении;
- элемент 6 — область просмотра результата настройки.
Выбор набора данных внутри контейнера
Выберите набор данных из списка. Поля выбранного набора отобразятся так, как представлено на рисунке ниже:

Все поля набора для удобства пользователя сгруппированы по типу данных, каждый тип данных помечен специальным значком:
- Выбранный набор данных.
- Строковые поля.
- Поля типа «Дата».
- Числовые поля.
- Заготовка для создания вычисляемого поля.
- Группа полей.
Подробнее про наборы данных и группы, см. раздел «Произвольные наборы данных».
Выбор визуального представления
Выбор визуального представления данных зависит от целей представления. Ответьте на вопрос, какую историю вы хотите рассказать с помощью этой визуализации и определите, какой шаблон визуализации лучше всего подойдет для этого.
Например, распределение расходов по статьям бюджета можно отобразить на линейной диаграмме, а можно в виде «пирога» (круговой диаграммы), на котором сразу видно соотношение разных статей между собой. Для выбора лучшего варианта попробуйте несколько шаблонов, и выберите тот, который лучше всего передает основную идею.
Доступные представления открываются при нажатии кнопки
в правом верхнем углу в настройках компонента. Перетащите мышью выбранное представление из меню визуализаций справа на рабочее поле. После этого можно настраивать данные, подробнее см. раздел «Визуализации: Компоненты (А-Я)»
Основные настройки данных из набора для визуального представления
Для настройки расположения данных внутри компонента используются специальные управляющие элементы — «Полки», на которые простым перетаскиванием мыши можно разместить поля набора данных или созданное вычисляемое поле.
Каждая «Полка» имеет свое назначение. Для удобства пользователя назначение полки подписано на экране:

- «Значения» — полка для размещения результирующих значений. Если на этой полке располагается числовое поле, то значение будет подсчитываться в зависимости от выбранной функции агрегации. Если поле типа «Строка», то доступны только функции подсчета количества значений, минимума и максимума. Значений может быть несколько. По умолчанию установлена настройка показа только одного значения (переключатель в положении «первое»), но можно включить отображение всех значений (переключатель в положении «ВСЕ»). Порядок отображения значений будет зависеть от порядка их расположения на полке.
- «Категории» — категории определяют группировку (агрегацию) для значений. Например, по датам, по менеджерам, по месяцам. Группировок может быть несколько, расположение их на диаграмме зависит от вида диаграммы.
- «Серии» — полка позволяет сделать дополнительную группировку внутри группы «Категория». На диаграмме отображается несколькими значениями внутри одной категории, конкретное отображение значения зависит от выбранной визуализации. Использование серий можно включать и выключать, используя переключатель «ВКЛ / ВЫКЛ».
- «Фильтры» — полка для размещения полей, которые будут использоваться в качестве фильтров. Для возможности настройки общих фильтров для нескольких представлений в отчете, в каждом представлении в качестве фильтра должно быть выбрано соответствующее общему фильтру поле. Если такое поле не выбрано в представлении, общий фильтр на это представление распространяться не будет.
Настройка правил агрегации, сортировки, отбора
Для детальной настройки данных на «Полке» нажмите стрелку вниз на «Пилюле» нужного поля, откроется список возможных настроек:

- «Имя поля» — позволяет переименовать исходное поле из набора данных для сокращения названия или для лучшего понимания данных конечным пользователем. Также существует возможность использования одного и того же исходного поля для нескольких выходных полей с разными функциями агрегации. В этом случае обязательно дать выходному полю соответствующее смыслу уникальное имя.
- «Сортировка» — можно выбрать сортировку по значению из вариантов:
- не сортировать (по умолчанию);
- по возрастанию;
- по убыванию.
Также возможно указать порядок сортировки для нескольких полей. Причем сортировка может быть по любым полям, которые лежат на полках «Значения», «Категории», «Серии».

Функция агрегации — правило определения значения в группе («Категория»-«Серия»). Доступны следующие функции:
- «-» — агрегация не применяется, в представление выводится весь список значений без группировки. Рекомендуется использовать в табличном представлении; применение в других типах визуализаций может привести к некорректному отображению данных.
- «AVG» — среднее значение (сокращенно от «average»), доступна для числовых полей;
- «MIN» — минимальное значение (сокращенно от «minimum»), для полей любого типа;
- «MAX» — максимальное значение (сокращенно от «maximum»), доступна для полей любого типа. Устанавливается как функция по умолчанию для полей типов «Строка» и «Дата»;
- «SUM» — сумма значений (сокращенно от «summa»), доступна для числовых полей. Устанавливается как функция по умолчанию для полей числового типа;
- «COUNT» — количество значений, доступна для полей любого типа;
- «COUNTD» — количество уникальных значений (сокращенно от «count distinct»), доступна для полей любого типа.
Настройка вычисляемых полей
«Вычисляемые поля» — это возможность получить производные значения от имеющихся данных. Для добавления вычисляемого поля перетащите его заготовку, выведенную в конце списка полей набора данных на полку «Значений». Возможно использовать вычисляемое поле и на полках Категорий или Серий. Задайте имя и переходите в настройку формулы вычисления при помощи кнопки «Редактировать».

Отобразится редактор кода для вычисляемого поля. При настройке формулы поля из набора данных, функции и действия можно перетаскивать непосредственно в область редактора кода. Вставка происходит точно в позицию курсора. Панель с кнопками быстрых функций (SUM, AVG, MIN, MAX, COUNT, DISTINCT, AVGD, STR, +, -, /, *) расположена над редактором и также вставляет выбранный элемент в место установки каретки.

Под редактором кода отображается поле «Отображаемое имя», в котором указывается отображаемое на компоненте наименование вычисляемого поля, а также кнопки:

- «Сохранить» — нажмите на кнопку для сохранения введенного кода;
- «Отмена» — при нажатии на кнопку будет отменено редактирование без сохранения внесенных изменений.
Можно вводить выражения с клавиатуры — при наборе редактор показывает выпадающий список автозаполнения со встроенными SQL-функциями. Правила формул соответствуют математическим и SQL-правилам.

При вводе синтаксически неверных значений строка с ошибкой подсвечивается красным кружочком.

Возможен вывод вычисляемого поля как «Подзаголовка» диаграмм. Для этого выбрать «Тип» поля «Подзаголовок», в формуле вычисления ввести желаемое выражение.
Использование в вычисляемых полях переменных
Подробнее об использовании переменных, см. раздел «Использование переменных в дашборде».
Переменные оформляются следующими шаблонами:
- для категорий, серий и значений —
$Категория$,$Серия$,$Значение$; - для фильтров —
$Фильтр.ИмяФильтра.ИмяФункции()$; - переменные окружения —
{!env.value!},{!env.value!; true}.
Все системные переменные распознаются редактором, подсвечиваются особым цветом как переменные и не подчеркиваются как синтаксические ошибки.

Поддерживаемые функции: КоличествоЗначений(), Максимум(), Минимум(), Сумма().
Чтобы зафиксировать цвета в круговой диаграмме при использовании нескольких уровней drill-down (дрилла), вы можете использовать переменную $Категория$, она автоматически принимает значение текущего уровня детализации. Достаточно задать правила через CASE для всех возможных значений переменной $Категория$.
Например:
CASE $Категория$
WHEN 'A' THEN '#990000'
WHEN 'B' THEN '#004C4C'
WHEN 'S' THEN '#B8860B'
WHEN 'A1' THEN '#FF0000'
WHEN 'A2' THEN '#FF8000'
WHEN 'B1' THEN '#00BFFF'
WHEN 'B2' THEN '#0066FF'
WHEN 'S1' THEN '#FFFF00'
WHEN 'S2' THEN '#FF00FF'
ELSE '#CCCCCC' -- серый по умолчанию
END
Подробнее о возможностях внешнего вида диаграмм, см. раздел «Настройка перехода между уровнями детализации данных/дрилла».
Использование одного вычисляемого поля в другом
Для использования одного вычисляемого поля внутри другого выполните следующие шаги:
Шаг 1.Выгрузите запрос компонента, чтобы определить, как именно можно обратиться к вычисляемому полю, нажатием на кнопку «Сохранить текст запроса».

- В тексте запроса после вычисляемого поля идёт фрагмент вида «
... as [values][x]», где x — порядковый номер поля среди полок компонента. Учтите, что если поменять поля местами, их номера в запросе изменятся.

- Напишите SQL-код для второго вычисляемого поля со ссылкой на исходное вычисляемое поле через
[values][x]. Пример:SUM("[values][1] ").

- Если при сохранении возникает ошибка «колонка не найдена», поднимите уровень вычисления для второго поля. В интерфейсе настройки вычисляемого поля есть опция «Уровень вычисления» — выберите более высокий уровень.

- Если при обращении к вычисляемому полю вместо
[values][x]используется, к примеру,SUM([values][х]), и возникает ошибка, несмотря на поднятый уровень вычислений, дополните выражение оконной функциейOVER(). Причина: использование агрегатаSUM([values][x])безOVER()требует согласования с прочими колонками в связи с логикой группировки, а оконная функцияOVER()позволяет произвести вычисления поверх всех строк, не агрегируя их. Пример из задачи:SUM(SUM("МинутПростоя") * 1.0 / MAX(SUM("МинутПростоя")) * 100.0) OVER(ORDER BY ...)выдаёт ошибку. Решение — использовать ссылку на исходное вычисляемое поле сOVER().