Для начала я хотел бы пояснить, что в СКД штатными методами задать общий заголовок для группы измерений нельзя. Для группы ресурсов - без проблем. Для группы измерений - нельзя. Так что все, что будет написано ниже - это повесть про костыли и грабли. Местами печальная, местами веселая, но уж такая какая получилась. Предупреждаю сразу, потому, что многие не любят такого чтива, а потом упрекают автора, в собственном потерянном времени и прикапываются к тому, что решение далеко от идеала.
Ну а с теми кто остался, мы сейчас попытаемся надеть "шапочку" на измерения в колонках таблицы СКД.
Давайте обратимся к практической задаче. У нас есть таблица с двумя числовыми показателями, которые заполнены по периодам в разрезе 2-х измерений: Вкус и Цвет.
Вот примерно так она выглядит:
Задача стоит тоже не сложная: оставить измерение "Вкус" в строках, а данные показателей по измерению "Цвет" вывести в столбцы, сгруппировав предварительно по месяцам.
Итак мы создаем отчет на СКД с указанными данными и выводим его в виде таблицы с двухуровневой группировкой по колонкам (период по месяцам и цвета внутри каждого месяца)
И здесь нас ждет первое разочарование. Если выводить так, как мы привыкли по строкам, значение периода в группировке верхнего уровня будет упорно предшествовать группировке по цветам, но никак не поднимется наверх. Поэтому мы уберем вывод значений периода из старшей группировки и дополнительно на вкладке "Другие настройки" для этой группировки установим настройку "Расположение группировок" на "Нет". А в поля группировки "Цвет" добавим для вывода интересующий нас период.
Вот примерно что из это выйдет:
Как видим, почти получилось, но вот определитель периода теперь повторяется в каждом столбце, а не объединяется как шапка группировки цветов.
И вот с этого момента коллеги обычно используют танцы с бубном в виде программного объединения ячеек шапки в уже созданном табличном документе. Как например здесь. Ничего не имею принципиально против, но мы, как говорил В.И. Ленин, пойдем другим путем.
Суть альтернативного подхода состоит в использовании возможностей СКД создавать вычисляемые поля и условно форматировать данные. У нас есть возможность с помощью условного форматирования настроить вид ячеек в табличном документе как угодно, а для условий, по которым мы должны применять форматирование, нужно получить несколько показателей в виде вычисляемых полей. К таким показателям относятся:
1. Порядковый номер текущего значения измерения в группировке.
2. Количество значений измерений в текущей группировке.
Таким образом, мы сможем узнать в каких полях начинается и заканчивается группировка по старшему измерению и можем настроить вывод значения старшего измерения только в первой ячейке, параллельно убрав разделительные линии из ячеек внутри группировки. А заодно (чтобы два раза не вставать) отформатируем первый день месяца в ММММ ГГГГ.
Получим в итоге то, что в нашей главной превьюшке (и демо отчете) называется "Пример 1"
Как видим получилось не сильно красиво, но по крайней мере видно как называется, где начинается и где заканчивается группировка по месяцам. Но обычно хочется, чтобы общее название было в центре. Для такого фокуса нам потребуется еще одно вычисляемое поле:
3. Номер колонки для заголовка. Для нечетного количества элементов в подчиненной группировке, это будет центральная ячейка, а для четного (тут уж извините) ближайшая к середине интервала слева.
Если теперь мы настроим условное форматирование так, чтобы выводился текст не в первой для группировки ячейки, а именно в колонке с нужным номером, то получим, то что на превьюшке я назвал "Пример 2"
Уже лучше, но все равно кривовато. Однако, наши возможности улучшить вид решения еще не исчерпаны. Давайте центровать заголовки периодов в ячейке вывода, если она действительно центральная (нечетное количество колонок в группировке) или выравнивать по правому краю, если колонка заголовка ближайшая к центру слева. Для такого фокуса нужно еще одно вычисляемое поле:
4. Необходимость центрировать текст в ячейке с заголовком.
После того, как мы установили общий формат текста для периода по правому краю и добавили условное форматирование для центрирования по необходимости мы получили отчет вида "Пример 3". Не идеально, но в общем-то лучшее, что можно сделать без кодирования в отчете.
Как рассчитать нужные поля, надеюсь понятно из рисунка:
С настройками условного форматирования, надеюсь справитесь. Ну а кто не справится - качаем демку, не стесняемся:)
Демо отчет тестировался и работает на платформе 8.3.9.2309