NoSQL DBのデータも利用できる!―FineReportをMongoDBに接続する方法

以下はFineReportのブログに掲載された記事です。(http://www.finereport.com/jp/design/mongodb/

 

 

MongoDBは、オープンソースのドキュメントデータベースです。ドキュメントDBはNoSQLデータベースの一種で、JSONスキーマ定義なしで格納することができます。DBランキングサイトDB-Engines では、OracleMySQLSQL Serverなどの関係型データベースに続き、第5位になっており、最有力のNoSQLといえます(2019年4月現在)

 

MongoDB

 

FineReportはV8.0以降、MongoDBに接続するプラグインを提供するので、ユーザがFineReportでMongoDBのデータを帳票作成と可視化に利用できるようになります。

以下はMongoDBのインストールそしてFineReportでの接続方法を説明していきます。

 

 

1. MongoDBをインストールする

自分のOSに応じて、公式サイトからMongoDBをダウンロードして、ガイドに従ってインストールします。
 

MongoDB

既定のインストールパスC:\Program Files\MongoDBを選択することをお勧めします。

(MongoDBのGUIモニターcompass communityをインストール必要がありません)
以下のフォルダを作成します。

 

C:\Program Files\MongoDB\data\db(dbを保存する)

C:\Program Files\MongoDB\log(ログを保存する)

 

C:\Program Files\MongoDB\logにログファイルmongodb.logを新規作成します。

 

C:\に設定ファイルmongo.confを作成し、データの保存パス、ログパス、ポートなどの情報を入力します。

dbpath=C:\Program Files\MongoDB\data\db

logpath=C:\Program Files\MongoDBlog\mongodb.log

port=27017 

 

MongoDBを起動します。

C:\Program Files\MongoDB\Server\3.4\bin>net start MongoDB

 

MongoDBを停止します。

C:\Program Files\MongoDB\Server\3.4\bin>net stop MongoDB

 

Studio 3TなどのNoSQLのGUIツールをダウンロードします。

 

MongoDB

 

ダウンロード完了後、Studio 3Tを起動します。「Connect」をクリックして、表示されるウィンドウの「NewConnection」をクリックします。

 

MongoDB

 

MongoDBサーバのIPアドレスとポートを入力します。

 

MongoDB

 

「Test Connection」をクリックすると、テスト接続をします。接続が成功した場合、下図のようになります。

 

MongoDB

 

そうすると、左側に接続したMongoDBのデータベースが表示され、データベースを操作できます。

 

MongoDB

 

2.FineReportをMongoDBに接続する

2.1 データ接続定義

MongoDBデータセットプラグインをインストールした後、「サーバ」⇒「データ接続定義」をクリックし、MongoDBデータ接続を追加します。実際状況に応じてDBアドレス、ポート、ユーザ名、パスワードを入力します。

 

データベース

 

「接続テスト」をクリックして、成功したら、MongoDBへの接続が完了します。

 

データベース

 

デザイナの左下のデータセットパネルで、「+」記号をクリックして、MongoDBデータセットを追加します。MongoDBデータセットは明細データセットと集計データに分かれます。

 

データベース

2.2 明細データセット

簡単なデータクエリを行う(データの集計などをしない)場合、MongoDBの明細データセットを追加します。

Studio 3TでSQL文を入力して、実行します。

 

データベース

 

 

上図の「QueryCode」に応じて、FineReportでMongoDBのクエリ条件、フィルタ条件、ソート条件を入力します。必要に合わせて次元を入力します。

{“sales”:-1}はsalesの高い順に並べるという意味です。

 

データベース

2.3 集計データセット

データクエリに集計関数(sum、avg、group byなど)がある場合、MongoDBの集計データセットを追加します。

Studio 3TでSQL文を入力して、実行します。

 

データベース

 

上図の「QueryCode」に応じて、集計データセット演算子と値を入力します。値はQueryCodeの演算子の後ろの{ }内の内容と同じです。

 

データベース

このように、MongoDBからデータを取り出して、FineReportで帳票とダッシュボードを作成できるのです。

 

FineReportダウンロードはコチラ