Java
BI
yellowfin
Connector

YellowfinのThirdPartyConnectorのサンプル・機能制限

YellowfinThirdPartyConnector.jpg

ThirdPartyConnectorってなんや・・

Yellowfin7.2以降、ThirdPartyConnectorをデータソースとし、レポート・ダッシュボードを合わせて用意されたContentsとして広く配布することが可能となりました。
これにより、APIを公開しているFacebook、Google Analyticsなどの情報を認証ウィザードを経るだけですぐに可視化することができるようになり、またそのConnector自体も自由に作成することができるようになりました。

現在使用できるコネクターのは今現在(2017/12/25)全26種類のようです。
個人的にはtwitter、Instagram辺りが気になります。。

いきなり機能の制約から

・コネクターのDataSourceでは複数のDataSetsからレポートを作成することができません。
・ドリルダウンは使用できません。
・グループ化は使用できません。
・Connector内部では複雑なフィルターは使用できません。Connector内部でのフィルターは全てAndで適用され、Orでフィルターすることはできません。

つまりあんまり難しいことはできないってことですね!

開発要件について

・Javaのバージョン7以降
・Connectorに必要なライブラリはYellowfinに同梱されている、/appserver/webapps/ROOT/WEB-INF/lib/以下の、2つのjarファイルになります。これを参照することで、Connectorに必要なクラスを呼び出すことができます。
・i4-core.jar ・i4-mi.jar 
・Eclipse Luna(4.4)以降(おそらくどのバージョンでも可能です)

突然ですが、サンプル添付

https://github.com/celery1216/yellowfin_sample_connector

また、Eclipseで読み込む際には、libsフォルダの全てのjarファイルを参照し、Yellowfin本体に/appserver/webapps/ROOT/WEB-INF/lib/含まれている、下記2ファイルも参照してください。 
・i4-core.jar
・i4-mi.jar

SampleConnector概要

SampleConnectorを展開すると、サンプルで作成したコネクターのプロジェクトファイル類と、完成したパッケージsampleconnector.yfpが同梱されています。
このコネクターはhttp://api.population.io/#!/population/retrievePopulationTableAllAges を参照するもので、yearとcountryを入力すると、その条件の人口を返してくれるAPIです。

sampleconnector.yfpの使い方

connect.jpg

接続情報を入力する
 ・名前(コネクター名): SampleConnector
 ・説明: 任意
 ・年: 2017
 ・国名: Japan

※この画面をSampleMetaData.javaで作成しています

connect2.jpg

テーブルにpopulation_io(dataset)を選択し、ビュー名にjapanを入力する
最後にレポート作成をクリック

レポート作成

グラフを作成し、公開して終了です。

report.jpg

report2.jpg

完成!