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

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

<!-- wp:heading -->
<h2>JasperReportsとは？iReportとは？</h2>
<!-- /wp:heading -->

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

<!-- wp:paragraph -->
<p>JasperReportsとiReportで帳票を開発する場合、まずiReportでレポートレイアウトを設計し、「*.jrxml」のXMLファイルを生成し、「*.jasper」という拡張子のファイルにコンパイルします。 それから、「*.jasper」ファイルをJasperReportで読み込み、データソースと接続し、データを埋め込み、JasperPrintで最終的にレポートを出力します。つまり、JasperReports+iReportはレポートをレイアウトとデータに分離しているのです。</p>
<!-- /wp:paragraph -->
![JasperReportsとは.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306983/26c11be2-7542-fa22-a536-04eccf97a770.png)

<!-- wp:heading -->
<h2>JasperReportsとiReportダウンロード</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>JasperReportsとiReportでレポートを作成する場合、3つのパッケージをダウンロードする必要があります。</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li><a rel="noreferrer noopener" href="https://community.jaspersoft.com/community-download" target="_blank">JasperReports® Library</a></li><li><a rel="noreferrer noopener" href="https://community.jaspersoft.com/project/ireport-designer" target="_blank">iReport Designer</a></li><li><a rel="noreferrer noopener" href="http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html" target="_blank">JDK1.7</a></li></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2>JasperReports+iReportとFineReportを比較</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong><a rel="noreferrer noopener" href="https://www.finereport.com/jp/?utm_source=Qiita&utm_medium=media&utm_campaign=jasper" target="_blank">FineReport（ファンレポート)</a></strong>は、多彩なレポートと分析ダッシュボードをほぼノーコーディングで開発し、ブラウザやデバイスを問わず参照・出力する商用のレポーティング・BIツールです。1つのパッケージだけインストールすれば、簡単にレポートを作り始められます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>これからはデータソース、レポートの作り方、グラフなどからJasperReports+iReportとFineReportを比較します。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>JasperReports＋iReportとFineReportの違い① 設計の手順</h3>
<!-- /wp:heading -->

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

![jasperReports+Ireport設計手順.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306983/96038d1a-ddeb-b321-7886-a04c2febbee3.png)


<!-- wp:paragraph -->
<p>FineReportを利用する場合、他の<a rel="noreferrer noopener" href="https://www.finereport.com/jp/enterprise/reporting-efficiency-method/?utm_source=Qiita&utm_medium=media&utm_campaign=jasper" target="_blank">レポーティングツール</a>と組み合わせることと、MyEclipseでJava環境を配置することはありません。FineReportでレポートの開発、参照及び出力を実現するので、作成の工数を大幅に削減し、複雑なコーディングによるミスを最大限避けます。</p>
<!-- /wp:paragraph -->
![FineReport設計画面.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306983/c906c443-00d9-1d47-3f90-337cb64f426c.gif)


<!-- wp:heading {"level":3} -->
<h3>JasperReports＋iReportとFineReportの違い②　設計画面</h3>
<!-- /wp:heading -->

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

![JasperReportsUI.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306983/caf34293-cdce-3b61-7ec1-b607820dce5e.png)


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

![FineReport-Excel帳票.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306983/22da56e8-8ce0-d2c6-7d6d-0d8b29a639c4.gif)


<!-- wp:paragraph -->
<p>SQLを作成するためのGUIを備えるので、開発者はドラッグ＆ドロップでSQL文を書くことで効率が一層向上します。</p>
<!-- /wp:paragraph -->
![FineReport-SQL.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306983/2e28e74e-6759-3168-faa7-8ad3e492135f.gif)


<!-- wp:heading {"level":3} -->
<h3>JasperReports＋iReportとFineReportの違い③　モバイル対応</h3>
<!-- /wp:heading -->

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

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

<!-- wp:image {"align":"center","width":500} -->
<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://www.finereport.com/jp/wp-content/themes/BusinessNews/images/mobile-use.png" alt="FineReportモバイル対応" width="500"/></figure></div>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3>JasperReports＋iReportとFineReportの違い④　データソース</h3>
<!-- /wp:heading -->

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

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

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

<!-- wp:heading {"level":3} -->
<h3>JasperReports＋IReportとFineReportの違い⑤　可視化グラフ</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>JasperReports+iReportはJFreeChartと連携してチャート効果を実現するため、生成したレポートにJFreeChartの欠点があります。画像のみに出力でき、テキストと画像の質が低く、インタラクティブ性もありません。 グラフ設定のインターフェースは以下のとおりです。iReportチャートの設定方法はかなり面倒で、最終的な効果が理想的でないことはわかります。</p>
<!-- /wp:paragraph -->
![JasperReportsグラフ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306983/3e072e8a-b22d-2f71-f715-7edabecfb2fe.png)


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

![FineReport可視化.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306983/f2290bd3-0e75-fe4c-b8c6-17b159986af1.gif)


<!-- wp:heading {"level":3} -->
<h3>JasperReports＋iReportとFineReportの違い⑥　バージョンアップ</h3>
<!-- /wp:heading -->

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

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

<!-- wp:heading -->
<h2>まとめ</h2>
<!-- /wp:heading -->

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

<!-- wp:paragraph -->
<p>FineReportは商用の帳票・BIツールとして、レポート・ダッシュボードの設計、出力、データ入力、モバイルBIなど豊富なレポーティング機能を持ち、営業、人事、財務、IoTといった業務別のテンプレートを用意するので、開発者が短時間で実用性の高い業務レポートを作成できます。トライアル版にお申し込みいただけば、テンプレートもご利用可能です。<a rel="noreferrer noopener" href="https://www.finereport.com/jp/trial/?utm_source=Qiita&utm_medium=media&utm_campaign=jasper" target="_blank">→FineReportトライアル</a></p>
<!-- /wp:paragraph -->