Всем привет.

Такой вопрос:
Есть запрос, который возвращает таблицу вида, как на рисунке ниже. Показатель - строка, значение показателя - число. Для любого подразделения показатель п3=0.

Делаю отчет с группировками показатель и подразделение. Значение показателя - ресурс.

Необходимо, чтобы значение показателя расчитывалось по разному в зависимости от значения группировки Показатель. Если показатель = п1 или п2, то как Сумма(ЗначениеПоказателя), а вот если показатель = п3, то как "Значение показателя п1" / "Значение показателя п2" для соответствующего подразделения. (Как на рисунке ниже).
Не могу понять, что мне писать в формуле ресурса.
---
Тут можно применить соединение наборов, где в первом наборе будет таблица описанная в (5), а во втором наборе таблица с колонками:
 - Подразделение
 - Показатель
соединять наборы по подразделению, передавая их значения в параметры списком.

Тогда в ресурсах можно будет прописать формулу:

```1c
    Выбор
    Когда Минимум(Показатель) <> Максимум(Показатель) // обработка изменения структуры отчета, либо вывода общего итога
    Тогда 0
    Когда Показатель = «п1»
    Тогда Сумма(ЗначениеПоказателя1)
    Когда Показатель = «п2»
    Тогда Сумма(ЗначениеПоказателя2)
    …
    Иначе 0
    Конец
```
---
Может в самом запросе это прописать?
---
В самом запросе прописать, к сожалению, не получится, т.к. в реальности - это не запрос, а объединение запросов и объектов.
---
что-то типа такого наверное https://www.youtube.com/watch?v=gnfAMl1QIBs&t=409s
---
то есть. если показатели фиксированные (три), то в первую группировку включить п1 и п2, во вторую группировку включить п3 с другой формулой: типа такого

СУММА(ВЫБОР КОГДА П = П1 ТОГДА Значение ИНАЧЕ 0 КОНЕЦ) / СУММА(ВЫБОР КОГДА П = П2 ТОГДА Значение ИНАЧЕ 0 КОНЕЦ)
---
При таких вводных:
 - структуре исходной таблицы
 - и настройке варианта отчета
у вас не получится прописать корректную формулу для показателя п3, так как при выводе данных в группировке СКД оперирует только теми детальными записями, которые соответствуют этой группировке.

Если перенести сказанное на ваш пример, то при выводе группировки по полю "Показатель" со значением "п3", в детальных записях содержатся следующие строки:
 - Отдел продаж; п3; 0
 - Бухгалтерия; п3; 0
 - Отдел кадров; п3; 0
и из этих строк никак не получить нужный вам результат.

Тут конечно можно прибегнуть к функции "ВычислитьВыражение" с параметром группировки = "ОбщийИтог", чтобы получить значения записей, не относящихся к текущей группировки, но в этом случаем нельзя будет:
 - ни сделать отбор на записи
 - ни получить результат в виде таблицы с колонками: Показатель; ЗначениеПоказателя.
Если не прав, то прошу коллег поправить меня.

Поэтому оптимальным вариантом будет:
1) либо получать исходную таблицу в следующем виде:
 - Подразделение
 - ЗначениеПоказателя1
 - ЗначениеПоказателя2
 - ЗначениеПоказателя3

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

1) В принципе я могу получить все показатели отдельными колонками, но как мне тогда получить требуемую структуру, когда на верхнем уровне группировки показатель, а на втором - подразделение?
---
Тут можно применить соединение наборов, где в первом наборе будет таблица описанная в (5), а во втором наборе таблица с колонками:
 - Подразделение
 - Показатель
соединять наборы по подразделению, передавая их значения в параметры списком.

Тогда в ресурсах можно будет прописать формулу:

```1c
    Выбор
    Когда Минимум(Показатель) <> Максимум(Показатель) // обработка изменения структуры отчета, либо вывода общего итога
    Тогда 0
    Когда Показатель = «п1»
    Тогда Сумма(ЗначениеПоказателя1)
    Когда Показатель = «п2»
    Тогда Сумма(ЗначениеПоказателя2)
    …
    Иначе 0
    Конец
```
---
Спасибо. Думаю, это подойдёт.
---
Я, наверное, Вас не понимаю.

Если я делаю отдельный ресурс, с формулой подобной той, которую вы написали, то когда я вывожу его в группировке показателя п3, то получаю "деление на 0", т.к. в группировке показателя п3 п<>п2, соответственно выражение ВЫБОР КОГДА П = П2 ТОГДА Значение ИНАЧЕ 0 КОНЕЦ равно нулю.