Нестандартный расчет итогов в отчетах

Матричный отчет. Суммы по колонкам и строкам надо менять таким образом: значения по некоторым ячейкам обходить (например, если Value > 100). Сами значения не убирать из печати.
Например, в колонке 10, 20, 50, 110, 5. Сумма должна быть 85. 110 при этом из колонки не убирается. Кто-то с таким сталкивался? Был бы благодарен за подсказку.

Нравится

3 комментария

Может быть Вам подойдет использование конструкции IIF совместно с функцией SUM:
[SUM(IIF( логическое выражение булевого типа , логика в случае true, логика в случае false))]

Например:

[SUM(IIF( <ds_ReportOfferingsInInvoice."Quantity"> = 50 ,(<ds_ReportOfferingsInInvoice."BasicTotalAmount">), 0))]

В данном примере суммируем BasicTotalAmount в случае Quantity = 50, и не суммируем (суммируем с 0 ) если Quantity <> 50

Спасибо за ответ. Мне тоже приходило в голову, что надо использовать условие. Но в cross-tab editor (см. прикрепленный файл) только выбор агрегатных функций из меню (SUM, AVG, MIN...)
А как мне туда вклиниться, чтобы использовать условие?
И еще в процессе создания отчета возникла проблема. В фаст репорт размеры ячеек нормальные. При экспорте в Excel длина ячеек меняется (см. прикрепленные файлы). Свойств у ячеек вроде бы много, но как я ни экспериментировал с ними, от этого эффекта не избавился. В некоторых случаях этот глюк касается и высоты. Не знаете, как от него избавиться?

В случае с cross-tab можно попробовать управлять итоговой величиной программно.
Либо отказаться от cross-tab и использовать датабенды.

Что касается экспорта в Excel, с такой ситуацией не сталкивалась. Нужно общаться с технической поддержкой FastReport (http://www.fast-report.com/ru/forum/index.php)

Показать все комментарии