Накопительная переменная с JasperReports - PullRequest
1 голос
/ 02 марта 2011

Мне нужно сделать сумму, накопленную в столбце моего отчета. Я извлекаю значение из базы данных и заполняю другие столбцы некоторой математической операцией с этим значением. Последний столбец должен быть суммой, и в каждой строке он также должен суммировать вышеуказанное значение. Например:

DATA-DB  | COLUMN_1 (A)       |    COLUMN_2 (B)      |       COLUMN-3 (C)          |          COLUMN-4 (D)      |    

  2000   |     (2000/2)       |   (2000 *60)/365     |     column_1 + column_2     |    column_1 + column_2     |      D1   
  1500   |      (1500/2)      |    (1500*60)/365     |     column_1 + column_2     |    column_1 + column_2 +D1 |      D2   
  3000   |      (3000/2)      |    (3000*60)/365     |     column_1 + column_2     |    column_1 + column_2 +D2 |      D3   

Как я могу это сделать? Я не нахожу путь. Я пробовал некоторые переменные и вещи, похожие на: $V{var1}= $V{var1}+$V{TOC} и я получаю ошибки.

Я использую iReport 4.0. Пожалуйста, дайте мне знать, если это возможно в iReport?

1 Ответ

0 голосов
/ 03 марта 2011

Прямой и стандартный способ сделать что-то подобное таков:

  1. Создать три новые переменные.Назовите их half, times60by365 и sum.
  2. Перейдите к их свойствам и определите Переменный класс равным java.lang.Integer или Double, что позволит вамиспользуйте их для арифметических операций.
  3. Измените их свойства Выражение переменной на $F{amount}/2 для half, $F{amount}*60/365 для times60by365 и $V{half} + $V{times60by365} для sum
  4. Перетащите их на строку детализации

PS: Релиз iReport: 4.0.1 доступен со вчерашнего дня!

...