Джаспер иРепорт комплекс кросс-таблицы столбец и ряд - PullRequest
2 голосов
/ 01 февраля 2012

Я хочу создать перекрестный отчет с помощью Jasper iReport, который имеет такую ​​структуру

**Date: 1 January 2012**
    Num  Transaction        Blue      Red       Total
    1   | Bank Wire     |     2   |    5    |     7
    2   | Credit Card   |     1   |    2    |     3
    3   | Cheque        |     1   |    1    |     2
    ------------------------------------------------
    Total 
    Bank Wire & Credit  |     3   |    7    |    10
    ------------------------------------------------
    Total All           |     4   |    8    |    12  


**Date: 2 January 2012**
    Num  Transaction        Blue      Red       Total
    1   | Bank Wire     |     0   |    1    |     1
    2   | Credit Card   |     2   |    2    |     4
    3   | Cheque        |     1   |    1    |     2
    ------------------------------------------------
    Total 
    Bank Wire & Credit  |     2   |    3    |     5
    ------------------------------------------------
    Total All           |     3   |    4    |     7 


    --------------------------xx-----------------------
    --------------------------xx-----------------------
    Total 
    All Bank Wire 
    & Credit            |     5   |    10   |    15
    ----------------------------------------------------
    Total
    All Transaction     |     7   |    12   |    19
    --------------------------xx-----------------------
    --------------------------xx-----------------------

Это очень сложно, и в моей собственной логической мысли я чувствую, что это кросс-таблица в подотчете? Кроме того, Crosstab не позволяет добавлять один столбец или строку, только группы строк, что немного затрудняет работу.

Прямо сейчас я могу создать кросс-таблицу только с колонкой Transaction, Blue, Red и Total, Общая сумма всех банковских переводов и кредитов и общая сумма всех транзакций

Я все еще не могу сделать столбец Num, хотя!

Кроме того, я могу выполнять подсчет кросс-таблиц только во всем диапазоне дат (от 1 до 2 января) вместо каждой даты ... поэтому я по-прежнему не могу выполнить Total Bank Wire & Credit и Total All в соответствии с каждой датой

Форум Jasper iReport также не активен ..

Ответы [ 2 ]

1 голос
/ 13 февраля 2012

Я использую SQL.Я решил проблему с датой, поместив свою кросс-таблицу в полосу подробностей и использовав для этого кросс-таблицы набор данных.

-Мой основной набор данных имеет параметры FromDate и ToDate, его запрос выглядит примерно так:

SELECT Date FROM Table WHERE Date BETWEEN $P{FromDate} AND $P{ToDate}

Так что теперь у моего основного набора данных есть поле Дата

-Тогда я создал новый набор суб-данных с параметром PDate, и его запрос выглядит примерно так

SELECT columnName FROM Table WHERE Date = $P{PDate}

-Тогда вДанные кросс-таблицы в параметрах я добавляю в параметр PDate с выражением F{Date} из основного набора данных, чтобы они были связаны друг с другом.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 02 февраля 2012

Столбец «Num» можно создать, добавив в качестве выражения группу строк и переменную count.Также для правильного подсчета создайте группу «Дата» и поместите кросс-таблицу в нижний колонтитул этой группы.

...