• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Вычисляемые Выражения В Общих Итогах

  • Автор темы tanat
  • Дата начала
T

tanat

Доброго времени суток, гусары!

Такое дело: есть хитрый отчет который строится хитрым образом не-суть-какого формата, но на СКД. И вот ведь не задача, есть поля, суммировать по которым значения для итогов по группировкам и общих итогов ну никак нельзя!

Поясню на пальцах:

Поля | Значения | Пояснение
-Группировка 1 | 13 | // Сумма макимальых значений внутри группировки по "вложеным" группировкам)
--Группировка 2.1 | 8 | //(максимальное значение внутри группировки)
----Детальное значение | "" | // по данным запроса тут стоит значение 8, но его не выводим(для детальных записей значение искомое не выводим)
--Группировка 2.2 | 5|
----Детальное значение | ""|
...
--Общий итог |"N"| //Вот его то мне и надо посчитать

Есть соображения, как получить это значение?

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


П.С.2: пробовал так: Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(Значение)","Группировка2"))) рассчитывать по: Общий итог.
 
D

Darlock

Доброго времени суток.
А разве СКД не выводит общие итоги по группировкам, если у вас способ вывода "Таблица", а не "Список"?
 
T

tanat

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


В итоге получилось, сделал так:

Поля | Значения | как получаю
-Группировка 1 | 13 | Сумма((ВычислитьВыражениеСГруппировкойМассив("Среднее(Детальные записи)","Группировка 2.1")))
--Группировка 2.1 | 8 |выражение = Максимум(Детальные записи)
----Детальное значение | "" | Выражение = 0 по Детальной записи
--Группировка 2.2 | 5|
----Детальное значение | ""|

А общие итоги высчитывал по извращенной формуле: Сумма((ВычислитьВыражениеСГруппировкойМассив("Среднее(План)","Смена,Дата")))

А проблема была в том, что платформа 8.2 не хотела суммировать значения массива в общих группировках. Запустил отчет на платформе 8.3 все посчиталось.

Возможно, я пошел не оптимальным путём. Может кто подскажет, как иначе подобные задачи реализовать стоит?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!