|
СКД: Как обратиться к итогу по группировке? | ☑ | ||
---|---|---|---|---|
0
sdemon72
27.01.23
✎
18:53
|
Добрый вечер!
Пишу отчет на скд, нужно в определенной группировке вывести результат операции (скажем, деления) двух ресурсов, каждый из которых вычисляется по сложгой формуле. Ресурс1: Выбор Когда СпособАгрегации = &СпособСреднее Тогда Среднее(Значение) Когда СпособАгрегации = &СпособСумма Тогда Сумма(Значение) Когда СпособАгрегации = &СпособМинимум Тогда Минимум(Значение) Когда СпособАгрегации = &СпособМаксимум Тогда Максимум(Значение) Конец Ресурс2: Максимум(ВесовойКоэффициент) И теперь надо сделать Ресурс3 = Ресурс1/Ресурс2. Как то можно сделать так, чтоб не лепить многоэтажку аля: Выбор Когда СпособАгрегации = &СпособСреднее Тогда Среднее(Значение) Когда СпособАгрегации = &СпособСумма Тогда Сумма(Значение) Когда СпособАгрегации = &СпособМинимум Тогда Минимум(Значение) Когда СпособАгрегации = &СпособМаксимум Тогда Максимум(Значение) Конец/Максимум(ВесовойКоэффициент) А просто сослаться на имена ресурсов? Все это в пределах одной группировки. Ну а потом еще в общем итоге просуммировать это все |
|||
1
Мультук
гуру
27.01.23
✎
19:22
|
(0)
Моё ИМХО - никак Я в этом случае: 1) Редактирую всё это во внешнем редакторе с подсветкой 2) Пишу Ресурс1 * Ресурс2 / Ресурс3 а потом делаю заменить. Семиэтажный результат copy/paste в выражение ресурса. |
|||
2
sdemon72
27.01.23
✎
19:25
|
Эхх.. Попробую через "Вычислить выражение" - может получится лаконичней...
|
|||
3
Donkey_hot
27.01.23
✎
20:01
|
(2) Можно при помощи вычисляемого поля, использующего функцию общего модуля.
|
|||
4
Сергиус
27.01.23
✎
20:08
|
(0)Делаешь конструкцию из серии () / (), и внутрь каждой вставляешь)
|
|||
5
sdemon72
27.01.23
✎
20:22
|
С вычисляемым полем вроде ничо так.
Вычисляемое поле (ЗначениеПоказатель): ВычислитьВыражение("Выбор Когда СпособАгрегации = &СпособСреднее Тогда Среднее(Значение) Когда СпособАгрегации = &СпособСумма Тогда Сумма(Значение) Когда СпособАгрегации = &СпособМинимум Тогда Минимум(Значение) Когда СпособАгрегации = &СпособМаксимум Тогда Максимум(Значение) Конец", "Показатель") Ресурс: Выбор Когда Максимум(ЗначениеПоказатель)/Максимум(ЦелевоеЗначение) < Максимум(МинимальныйПорог) Тогда 0 Когда Максимум(ЗначениеПоказатель)/Максимум(ЦелевоеЗначение) > Максимум(МаксимальныйПорог) Тогда Максимум(МаксимальныйПорог) Иначе Максимум(ЗначениеПоказатель)/Максимум(ЦелевоеЗначение) Конец *Максимум(ВесовойКоэффициент) |
|||
6
sdemon72
27.01.23
✎
20:26
|
Только теперь по более верхней группировке надо просуммировать это. Через ВычислитьВыражениеСГруппировкойМассив вроде, но что-то не выходит...
|
|||
7
sdemon72
27.01.23
✎
21:02
|
Короче вернулся к "Многоэтажке", иначе не работала ВычислитьВыражениеСГруппировкойМассив, не могу сказать, почему
|
|||
8
sdemon72
27.01.23
✎
21:03
|
Напугайтесь :)
Сумма(ВычислитьВыражениеСГруппировкойМассив(" Выбор Когда Выбор Когда Максимум(СпособАгрегации) = &СпособСреднее Тогда Среднее(Значение) Когда Максимум(СпособАгрегации) = &СпособСумма Тогда Сумма(Значение) Когда Максимум(СпособАгрегации) = &СпособМинимум Тогда Минимум(Значение) Когда Максимум(СпособАгрегации) = &СпособМаксимум Тогда Максимум(Значение) Конец/Максимум(ЦелевоеЗначение) < Максимум(МинимальныйПорог) Тогда 0 Когда Выбор Когда Максимум(СпособАгрегации) = &СпособСреднее Тогда Среднее(Значение) Когда Максимум(СпособАгрегации) = &СпособСумма Тогда Сумма(Значение) Когда Максимум(СпособАгрегации) = &СпособМинимум Тогда Минимум(Значение) Когда Максимум(СпособАгрегации) = &СпособМаксимум Тогда Максимум(Значение) Конец/Максимум(ЦелевоеЗначение) > Максимум(МаксимальныйПорог) Тогда Максимум(МаксимальныйПорог) Иначе Выбор Когда Максимум(СпособАгрегации) = &СпособСреднее Тогда Среднее(Значение) Когда Максимум(СпособАгрегации) = &СпособСумма Тогда Сумма(Значение) Когда Максимум(СпособАгрегации) = &СпособМинимум Тогда Минимум(Значение) Когда Максимум(СпособАгрегации) = &СпособМаксимум Тогда Максимум(Значение) Конец/Максимум(ЦелевоеЗначение) Конец *Максимум(ВесовойКоэффициент) ", "Показатель")) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |