0

jasper レポートでレポートを動的に生成する方法を知る必要がありますか? 私の場合、テーブルにはフィールドとして id,name,design があります。1 つの jrxml ファイルで 5 つの異なるクエリを操作する必要があります。

最初はテーブル全体を選択します。2 つ目は id,name のみを選択します。一人で三人目。

ここでは、テーブル全体を選択することに成功しましたが、残りを実行する方法について混乱しています。

4

2 に答える 2

0

jschoenによって提示された3つのオプションに加えて、4番目のオプションがあります。

4)サブデータセットを使用して、1つのレポートで複数のクエリを実行します。これを行う方法を確認するには、単一のjasperドキュメントで複数のクエリに対する回答を確認できます。

于 2012-07-01T08:09:32.400 に答える
0

3つの選択肢があります。

1)5つのクエリすべてを1つのクエリに組み合わせることができます。これを行うのは難しい(場合によっては不可能)場合がありますが、最初に試す必要があります。一般的に、レポートのデータは、レポートの他のデータと何らかの形で関連しています。完全に無関係なデータがレポートの行にまとめられているのは無意味に思えます。だからあなたはこれを行うことができるはずです。

これが最善の選択肢です。これらの5つのクエリを1つのクエリにできるはずです。それはあなたの人生をより簡単にし、メンテナンスをより簡単にし、そして初期のデザインは言うまでもなくより簡単になります。1つのjrxmlですべてを実行できるようになります。グループ化、フォーマット、並べ替えなどはすべてjrxmlで行うことができます。ですから、これをよく調べてください。問題が発生した場合は、このサイトで新しい質問を作成し、クエリと表の説明を提供してください。ここにいるSQLの専門家があなたに手を差し伸べてくれると思います。

2)クエリをJRXMLに完全に配置するのをやめ、代わりにすべてのデータを含むJavaを介してデータソースを渡すことができます。これを行う方法の例については、POJOをIReportデータソースとして使用するを確認してください。

上記のオプション1を実行できない場合、これはオプションのそれほどひどいことではありません。これは適切な妥協案ですが、データソースを構築するためにまだいくつかのクエリを実行しているため、実際にレポートを実行するのにかかる時間に悪影響があります。

3)サブレポートを使用して、各レポートに1つのクエリを設定し、前のクエリの結果を使用して次のクエリを実行できます。これにより、レポートのツリー階層が得られ、あなたの場合は5つのレポートを作成することになります。

これはあなたの場合には良い考えではないと思いますが、それがオプションであることをあなたが認識していることを確認したかっただけです。セットアップが非常に複雑になり、保守が困難になります。

于 2012-06-29T14:24:05.227 に答える