Как настроить круговую объемную диаграмму в СКД для отображения процентного соотношения данных?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке отчетов на базе Системы компоновки данных (СКД) часто возникает задача визуализировать статистику. Например, нам нужно показать распределение кодов ошибок в виде круговой диаграммы, где каждый сектор соответствует определенному коду, а размер сектора — частоте его появления. Одной из типичных трудностей является ситуация, когда диаграмма выводит «100%» для одного значения или вовсе отказывается строиться, если поля распределены неверно. Рассмотрим подробно, как правильно настроить СКД для решения этой задачи.

Понимание структуры диаграммы: Ресурсы и Серии

Для того чтобы круговая диаграмма корректно отображала данные, нам необходимо четко разделить поля на две категории: что мы группируем и что мы считаем. Проанализируем логику построения:

  1. Серии (Измерения): Это те значения, которые будут «разрезать» наш пирог на куски. В нашем случае это поле КодОшибки. Каждое уникальное значение этого поля (0, 1, 2... или пусто) станет отдельным сектором.
  2. Ресурсы (Значения): Это количественный показатель, который определяет «вес» или размер каждого куска. Диаграмма не может строиться просто по перечислению кодов; ей нужно числовое значение для вычисления пропорций.

Частой ошибкой является попытка поместить текстовое поле или код ошибки сразу в ресурсы без указания функции агрегации. Разберем шаги по исправлению этой ситуации.

Шаг 1: Настройка ресурсов в схеме компоновки данных

Рассмотрим первый способ настройки — без изменения текста запроса. В конфигураторе, на закладке «Ресурсы», необходимо добавить поле, по которому будет считаться количество записей. Выясним, как это сделать правильно:

Если у вас есть поле КодОшибки, добавьте его в список ресурсов. В колонке «Выражение» вместо простого имени поля укажите агрегатную функцию:

Количество(КодОшибки)

Или, что еще более универсально, можно использовать выражение:

Количество(1)

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

Шаг 2: Настройка структуры отчета

Перейдем на закладку «Настройки». Здесь мы определим визуальную иерархию нашего отчета. Выполним следующие действия:

  1. Нажмите правой кнопкой мыши на «Отчет» и выберите «Новая диаграмма».
  2. В структуре диаграммы вы увидите две папки: «Точки» и «Серии».
  3. Для классической круговой диаграммы, где мы делим целое на части по одному признаку, поле КодОшибки нужно перетащить в Серии.
  4. Папку «Точки» в данном случае можно оставить пустой.

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

Шаг 3: Настройка объемного вида и отображения процентов

Чтобы диаграмма стала объемной и информативной (показывала проценты прямо на секторах), обратимся к настройкам оформления. Рассмотрим по шагам:

  1. Выберите элемент «Диаграмма» в структуре настроек.
  2. В нижней части экрана найдите вкладку «Параметры вывода».
  3. Найдите параметр «Тип диаграммы» и установите значение Круговая объемная.
  4. Чтобы пользователи видели не только красивые цвета, но и конкретные цифры, найдите свойство «Состав подписи». Установите флажки Процент и Серия. Теперь каждый кусок диаграммы будет подписан, например: «Ошибка 404: 15%».

Шаг 4: Обработка пустых значений

Как отмечал автор вопроса, часто «пустое» значение кода ошибки означает отсутствие проблем, и таких записей может быть большинство (например, 70%). По умолчанию в легенде диаграммы это будет выглядеть как пустая строка, что неудобно. Исправим это с помощью выражения представления.

Рассмотрим алгоритм действий в схеме СКД:

  1. Перейдите на закладку «Наборы данных».
  2. Найдите поле КодОшибки.
  3. В колонке «Выражение представления» напишите условие:

Выбор 
    Когда КодОшибки Есть Null Или КодОшибки = "" 
    Тогда "Ошибок нет" 
    Иначе Строка(КодОшибки) 
Конец

После этой настройки в легенде вместо пустоты будет красоваться понятная надпись «Ошибок нет», что значительно повышает качество отчета.

Дополнительный совет: Управление цветами

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

Проанализируем пример: если мы хотим, чтобы сектор с кодом «5» всегда был ярко-красным (как критическая ошибка), а «Пусто» — зеленым:

  1. В настройках отчета перейдите на вкладку «Условное оформление».
  2. Добавьте новое оформление, выберите цвет фона (например, зеленый).
  3. В условии укажите: КодОшибки Не Заполнено.
  4. В оформляемых полях выберите именно диаграмму или серию.

Таким образом, вы получите не просто отчет, а мощный инструмент визуального контроля качества данных. Настройка количественного ресурса в сочетании с правильным распределением серий — это ключ к корректному отображению любых пропорциональных зависимостей в 1С.

← На главную