Условная формула СУММ в Crystal Reports не работает

Я создаю пользовательскую формулу sum в своем отчете Crystal Report. Ключевым моментом является суммирование записей, когда другая ячейка имеет определенное значение. Например... У меня есть 2 строки по 3 записи в каждой. Если значение в первой строке равно 1 в двух записях, я хочу суммировать эти 2 записи в другой строке. Вы можете найти мой пример, который не работает. С Уважением.

if {sp_rptInternal;1.Tax_Rate_Percentage}=10.00
then 
Sum ({sp_rptInternal;1.Sell_Price})

ОБНОВЛЕНИЕ 1: значения (выделенные жирным шрифтом) из красного прямоугольника необходимо поместить в мою пользовательскую таблицу ниже. ОБНОВЛЕНИЕ 2: я попытался сгруппировать изображения 2 и 3, но это не работает.

Image 1.

введите здесь описание изображения

Image 2.

введите здесь описание изображения

Image 3.

введите здесь описание изображения


person Ferid Š. Sejdović    schedule 14.08.2018    source источник
comment
Можете выложить таблицу, а потом объяснить. Это трудно понять, как это.   -  person JulyOrdinary    schedule 14.08.2018
comment
Вот. @ИтиТяги   -  person Ferid Š. Sejdović    schedule 14.08.2018
comment
В вашем описании указано, что значение равно 1, а ваш код показывает 10. Кроме того, если значение в столбце равно 1,00, то вам нужно только суммировать? Правильно? По сути, строки сумм, в которых процент налога равен 1,00?   -  person JulyOrdinary    schedule 15.08.2018
comment
Добавил еще две картинки. Мне нужно значение сгруппированной суммы в таблице ниже (изображение 1). @ИтиТяги   -  person Ferid Š. Sejdović    schedule 15.08.2018
comment
Я бы посоветовал вам перенести сгруппированное значение из кода программной части, поскольку кажется, что вам нужно поместить эти значения вне раздела групп.   -  person JulyOrdinary    schedule 16.08.2018
comment
Это может сработать... НО я буду вызывать одну и ту же хранимую процедуру ДВАЖДЫ. Первый раз для расчета в code-behind и передачи значения и второй раз при получении данных для отчета. @ИтиТяги   -  person Ferid Š. Sejdović    schedule 16.08.2018
comment
Вы пробовали использовать глобальные переменные в отчете?   -  person JulyOrdinary    schedule 16.08.2018
comment
Да, не работает! Я пробовал все. @ИтиТяги   -  person Ferid Š. Sejdović    schedule 16.08.2018


Ответы (3)


В разделе подробностей используйте что-то вроде:

если {sp_rptInternal;1.Tax_Rate_Percentage}=10,00, то {sp_rptInternal;1.Sell_Price} ИНАЧЕ 0

В нижнем или верхнем колонтитуле группы покажите сумму этой формулы.

person MilletSoftware    schedule 14.08.2018
comment
Спасибо за Ваш ответ. Это не нормально, показывает неверный результат. Дело в том, что я могу выполнить суммирование, сгруппировав эту вторую строку, но проблема в том, что ячейка результата находится в разделе GroupFooter, и мне нужно показать это где-то еще (в моем разделе ReportFooter в качестве пользовательского поля таблицы). @MilletSoftware - person Ferid Š. Sejdović; 14.08.2018

Похоже, вам нужно использовать промежуточную сумму. Вы можете сгруппировать данные, вставить промежуточный итог типа суммы в строку сведений и использовать пользовательскую формулу для условия суммы, например: {record1}=previous({record1}).

Иногда функция промежуточного итога в Crystal работает не совсем так, как ожидалось, в самом начале или в конце отчета, поэтому тщательно проверьте это в различных условиях. Если это не совсем правильно, вам может потребоваться добавить в формулу дополнительные условия или создать промежуточные итоги вручную (обычно это метод, который я использую, потому что у вас больше контроля).

person LeAnn    schedule 14.08.2018
comment
Привет. Раньше я использовал RunningTotal для более сложных требований. Я загрузил изображение моего DetailsSection и пользовательской таблицы, где мне нужно показать результат. Спасибо. @ЛеЭнн - person Ferid Š. Sejdović; 14.08.2018

Единственный возможный способ — сделать общие/глобальные переменные, которые можно использовать где угодно, в каждом разделе отчета, динамически. Источник может быть предоставлен из кода программной части или через формулу.

person Ferid Š. Sejdović    schedule 27.08.2018