LoginSignup
1
2

More than 3 years have passed since last update.

オープンソースのレポーティング・BIツールJasperReportsとFineReportを徹底比較

Posted at

日々の活動を通じ、「オープンソースのレポート製品といえばJasperReports」と認知する企業が多いと実感がありますが、比較対象として「商用のレポート製品との違いを教えて下さい」とご質問頂くことがあります。本記事はJasperReports+iReportとFineReportを比較し、それぞれの特徴を述べます。     

JasperReportsとは?iReportとは?

JasperReports(ジャスパーレポート)は米Jaspersoft社が開発するJava製のオープンソースレポーティングツールです。iReportはJasperReportsのデザインツールで、レポートレイアウトの編集から実行までをGUIから行なうためのツールです。両方は無料ダウンロードして利用できます。たたし、一部のドキュメントは有料です。 通常、JasperReportsとiReportは組み合わせて使用​​されます。

JasperReportsとiReportで帳票を開発する場合、まずiReportでレポートレイアウトを設計し、「*.jrxml」のXMLファイルを生成し、「*.jasper」という拡張子のファイルにコンパイルします。 それから、「*.jasper」ファイルをJasperReportで読み込み、データソースと接続し、データを埋め込み、JasperPrintで最終的にレポートを出力します。つまり、JasperReports+iReportはレポートをレイアウトとデータに分離しているのです。

JasperReportsとは.png

JasperReportsとiReportダウンロード

JasperReportsとiReportでレポートを作成する場合、3つのパッケージをダウンロードする必要があります。

JasperReports+iReportとFineReportを比較

FineReport(ファンレポート)は、多彩なレポートと分析ダッシュボードをほぼノーコーディングで開発し、ブラウザやデバイスを問わず参照・出力する商用のレポーティング・BIツールです。1つのパッケージだけインストールすれば、簡単にレポートを作り始められます。

これからはデータソース、レポートの作り方、グラフなどからJasperReports+iReportとFineReportを比較します。

JasperReports+iReportとFineReportの違い① 設計の手順

上記はJasperReports+iReportによるレポート作成の手順を述べたので、ここは省きます。二つのツールを使い、しかも高度なコーディングが必要なので、開発者の技術力の高さが求めらます。

jasperReports+Ireport設計手順.png

FineReportを利用する場合、他のレポーティングツールと組み合わせることと、MyEclipseでJava環境を配置することはありません。FineReportでレポートの開発、参照及び出力を実現するので、作成の工数を大幅に削減し、複雑なコーディングによるミスを最大限避けます。

FineReport設計画面.gif

JasperReports+iReportとFineReportの違い② 設計画面

GUIエディタのiReportは、固定場所でレポートの各部分を設計します。簡単な様式に対応できますが、複雑な要件の場合はややこしくなります。揃えやフォントの設定にはコーディングが必要で、セルの数式が行列の調整に伴って自動調整しません。Excelファイルを元にしたレポート開発もサポートしていません。

JasperReportsUI.png

FineReportはExcelに近いUIを持ち、ドラッグアンドドロップのみでデータセットとセルを紐づけ、イメージした帳票のまま設計できます。既存Excelフォームの数式もフォーマットもそのままインポートし、レポートを開発します。仕様変更時にコーディングが不要で、Excel感覚で修正すればいいです。行列を挿入・削除してもセルの数式、データセットとの関連が自動調整します。

FineReport-Excel帳票.gif

SQLを作成するためのGUIを備えるので、開発者はドラッグ&ドロップでSQL文を書くことで効率が一層向上します。

FineReport-SQL.gif

JasperReports+iReportとFineReportの違い③ モバイル対応

スマートフォンやタブレットの普及に伴い、モバイルデバイスの職場での利用シーンが拡大し、外回りや出張、生産現場などでレポートを参照するニーズが高まっています。しかし、JasperReports+iReportはレポートをモバイルデバイスで閲覧できません。

一方、FineReportはモバイル特有のインターフェースやネイティブアプリを提供しているため、スマートフォンから簡単に操作や書き込みができます。チャートやダッシュボードはモバイルデバイスでの視認性も高く、コメントの追加、SNS経由の共有、セキュリティ管理などの機能を備え、調査アンケート、営業状況報告、設備管理、勤怠入力など様々なシーンに適用されます。

FineReportモバイル対応

JasperReports+iReportとFineReportの違い④ データソース

公式サイトでJasperReports+iReportがすべてのデータソースをサポートすると掲載していますが、既定でMySqlとODBCデータソースのみをサポートしています。 他のデータソースに接続する場合、ドライバーjarパッケージをダウンロードしてインストールし、データ接続、アクティベーションなどの手順を設定する必要があります。

JasperReports+iReportでは、1つのレポートは1つのデータソースからのみデータを取得できます。たとえば、データの一部は「販売量」テーブルから、一部は「売上高」テーブルから取得する場合、JasperReports+iReportは実現できません。

FineReportはJDBC、JNDIの方式でファイル、NoSQLデータベース(MongoDB)、多次元データベース(SSAS、BW)、ストアドプロシージャ、ビッグデータ(Hadoop Hive、AmazonRedshift)などに容易に接続できます。また、データベースやデータテーブルを越えて、異なる業務システムのデータを一枚のレポートに表示します。

JasperReports+IReportとFineReportの違い⑤ 可視化グラフ

JasperReports+iReportはJFreeChartと連携してチャート効果を実現するため、生成したレポートにJFreeChartの欠点があります。画像のみに出力でき、テキストと画像の質が低く、インタラクティブ性もありません。 グラフ設定のインターフェースは以下のとおりです。iReportチャートの設定方法はかなり面倒で、最終的な効果が理想的でないことはわかります。

JasperReportsグラフ.png

FineReportは独自開発の70種類以上のhtmlグラフを用意し、データヒント、ハイライト、チャートの切替、座軸標ズームなどのインタラクティブな表現が可能です。グラフとグラフ、グラフと表の連動もノーコーディングで設定できます。

FineReport可視化.gif

JasperReports+iReportとFineReportの違い⑥ バージョンアップ

JasperReports+iReportの公式サイトによると、2014年V5.6.0をリリースして以来、新機能は一切追加しません。2016年からパッチリリースも止まりしました。つまり、開発中バッグがあっても解決してくれないことになりました。

FineReportは2006年発売開始して以来、市場のニーズに合わせて絶えず更新し続け、もうV10.0に進化しました。今まで、一万社以上の企業に導入され、成熟した製品と整備されたサポート体制によってGartnerとForbesに高く評価しました。

まとめ

JasperReports+iReportはオープンソースのレポート作成ツールとして、非常に高機能で多くの開発者に愛用されています。しかし、過去数年登場した商用のツールに比べると、設計手順、UI、モバイル対応、グラフなどの面で劣っています。すべての学習資料は英語で、開発者の高い技術力と英語力が求められます。

FineReportは商用の帳票・BIツールとして、レポート・ダッシュボードの設計、出力、データ入力、モバイルBIなど豊富なレポーティング機能を持ち、営業、人事、財務、IoTといった業務別のテンプレートを用意するので、開発者が短時間で実用性の高い業務レポートを作成できます。トライアル版にお申し込みいただけば、テンプレートもご利用可能です。→FineReportトライアル

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2