2011-12-21 41 views
2

これは可能かどうかは分かりませんが、iReport Designerを使用してレポートを表示するユーザーがグループを制御できるレポートを作成できるかどうかはわかりません。ユーザーによって変更可能なJasperReportsグループ化

たとえば、グループ化を並べ替えることができ、レポートがグループ化された程度(1つのフィールドまたは複数のフィールドのみ)に変更することができます。

私はアカウントと[エージェントによるグループ分け例えば意味、ところでグループ化SQLを意味するものではありません。

| Account | Agent | Invoice | Total | 
+----------+---------+----------+-------+ 
| Account1 |   |   |  | 
|   | Joe |   |  | 
|   |   | Invoice2 | $600 | 
|   |   | Invoice1 | $300 | 
| Account2 |   |   |  | 
|   | Sam |   |  | 
|   |   | Invoice4 | $120 | 
|   |   | Invoice7 | $230 | 
|   | Joe |   |  | 
|   |   | Invoice3 | $200 | 
+----------+-- ------+----------+-------+ 

そして、何私が把握しようとしているがあり、あなたがこのグループを作成するiReportはを使用することができます動的?つまり、ユーザーは、まずエージェントごとにグループ化したいと思うかもしれませんし、iReportでこれを行う方法があれば、グループごとに1つのレポートを作成するのではなく、うまくいくでしょう。

+0

このために[JasperReports API](http://jasperreports.sourceforge.net/api/index.html)または[DynamicJasper API](http://dynamicjasper.com/docs/current/xref/)を使用できますニーズ。または、たとえば、いくつかのテンプレートを使用することができます。 –

+0

はい、私はそれらを認識していますが、あなたがJasperReports Serverにインポートできるレポートにその種のデータを埋め込む方法があることを期待していました。私はそれがないと思うようになり始めている。 – mludd

+0

'groupExpression'でパラメータを使うことができます。サンプル: '<![CDATA [$ P {groupByParam}]]>'。そのような報告を支持することは非常に難しいと思う。 –

答えて

1

はい、そうしたレポートを作成することは可能です。しかし、あなたの正確なニーズに応じて、現実的ではないかもしれません(アレックスKが示すように)。

アカウントでグループ化した後、エージェントでエージェントまたはグループをグループ化してアカウントを作成すると、単純になります。ユーザーがこの選択肢を指定できるようにするパラメータがあります。おそらくドロップダウンリストになるでしょう。

今日のバージョン:$F{Account}$F{Agent}

ダイナミックバージョン:$P{AcctFirst} ? $F{Account} : $F{Agent}

$P{AcctFirst} ? $F{Agent} : $F{Account}は同様に、グループ定義が新しいAcctFirstのPARAMを含める必要があるだろうし、レポートに次のようなフィールドを持っているでしょう。

しかし、うまく拡張されません。 2つのフィールドが異なるデータ型の場合はどうなりますか?ユーザーが3または4またはNフィールドから選択できるようにするにはどうすればよいですか?それらのそれぞれは解決可能ですが、レポートは指数関数的に複雑になります。

ところで、比較的一般的なリクエストです。このような機能がJasperReportsに組み込まれています。しかし、今のところそれは難しいものです。

関連する問題