Pentaho Design Studioの最近のブログ記事

前回はaction sequenceにおけるactionとcomponentの関係について記述しましたが、今回は各componentが実際どのように使用されるのかご紹介したいと思います。

・Relational
RelationalComponentはJDBC、JNDIデータソースに対してクエリーを発行し、結果を次のactionに渡します。
relaional.jpg


・JavascriptRule
JavascriptRuleは記述されたJava Scriptを実行し、結果を次のactionに渡します。先行のactionからパラメータを取得する事ができるので、後続のactionに渡すデータを絞り込む時などに便利です。
javascriptrule.jpg


・PivotViewComponent
PivotViewComponent はデータベース接続情報、Mondrianモデル、MDXなどを入力として取得し、ブラウザにPivotテーブルを表示する事が出来ます。Pentaho ユーザーコンソールでAnalysis Viewから作成されたPivotテーブル保存時には内部でxactionファイルが作成されており、そのaction sequenceにはPivotViewComponentが使用されています。
pivotview.jpg


これらのcomponentを組み合わせて使用するとRelationalでデータを取得、JavascriptRuleでデータを処理、結果をPivotViewが表示するというaction sequenceを作成する事が出来ます。
result.jpg


★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム
アクションシーケンスにてActionは大変重要です。Actionとはソリューションエンジンによって処理されるタスクのタイプを意味します。例えば、SQL Query Actionでは実行するクエリ、使用されるJNDI, JDBCコネクション、クエリ結果をストアするアクションアウトプット名が定義されます。

ComponentとはサーバーサイドのJavaクラスでActionを実行するのがComponentです。
なのでソリューションエンジンがActionを処理する度にActionに合ったComponentが実行されます。

ほとんどの場合、ActionとComponentは1対1の関係にあります。例えば、SQLLookupRuleはSQL query actionsのみを処理するComponentです。
一方、UtilityComponentなどは複数のActionを処理します。

アクションシーケンスのようにアクションシーケンス内のActionもインプット、アウトプットのリストを持っています。ActionのインプットパラメータはComponentにActionの実行方法を伝え、アウトプットはComponentの処理終了時にランタイムコンテキストでどのパラメータを有効にするのかを定義します。後続するActionはこのアウトプットをインプットとして使用します。

Pentaho BI Platformでは以下のようなActionが利用できます。

Action名をクリックすると、Pentaho Wikiページより各アクションの説明を見る事が出来ます。

★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム
PentahoはチャートエンジンにjFreeChartを採用していますが、Chart Componentを使用すればDesign studioで簡単にチャートが作成できます。今回は最もシンプルなSQLで取得したデータで棒グラフを作成する方法をご紹介します。

1、Design Studioを起動し新規アクションシーケンスを作成します。
new action sequence.jpg

2、Process ActionsにRelationalを追加しSQLを定義します。

query.jpg

3、Process ActionsにChart ComponentのBar chartを追加します。RelationalのResult Set NameをChart Dataに指定し、width, heightを好みの大きさに設定します。
barchart1.jpg

Bar ChartのOutputsにimage-tagを追加します。
barchart2.jpg

4、Process Outputsにimage-tagを追加します。
processoutput.jpg

5、ファイルを保存すれば完成です。Pentaho-solutionsの下に配置しBI serverで確認すると生産ラインごとの売り上げが棒グラフで表示されます。
bargraph.jpg

現在のDesign Studioでは色の変更などはできずシンプルなチャートしか作成できませんがXMLを直接編集すると以下のようなチャートも作成できます。

bargraph2.jpg

同様の手順で円グラフや折れ線グラフも簡単に作成できるので一度お試しください。

★Have a nice Open Source Day★
KSK ソリューションズ Pentahoチーム
Action SequenceはPentaho BI Platformのユニークでパワフルな特徴の一つです。
Pentahoのデザインツールやユーザーコンソールの機能だけでは難しかったサードパーティーのフレームワークとのインタラクションなどもAction Sequenceを使うと簡単に行う事が出来ます。

Action Sequenceとは?
Action Sequenceとはタスクを実行するのに必要なアクションを順序付けて定義したXMLドキュメントです。Action Sequenceはレポーティングやバースティングなどに有効で、result setをループ、他のAction Sequenceをコール、条件的なコンポーネントの実行なども行えます。
通常はXMLファイルにDOMで記述、もしくはDesign StudioのGUIを使用してAction Sequenceを作成します。

Solutionとは?
共通のテーマや目的の為に作成されたAction Sequenceの集合をSolutionと呼びます。一般的に各SolutionはSolutionごとにディレクトリを構成し、それらはすべてpentaho-solutionsのサブディレクトリとなります。ソリューションレポジトリはそれらをミラーリングしているので、BI Platformはその情報を基にユーザーやロールのアクセスをコントロールします。

Design Studioの使用
Action Sequenceは拡張子が.xactionのXMLファイルです。Action Sequenceの各コンポーネントはユニークなinput, output, action 定義を持っているので直接XMLを記述してAction Sequence を作成するのは非常に困難です。Design StudioのAction Sequence Editorを使用すればグラフィカルインターフェイスで各コンポーネントの入力項目が表示されるので簡単にAction Sequenceを作成する事が出来ます。またDesign StudioでAction Sequence作成中でもタブをクリックするだけでDOMベースでの表示、編集が可能です。

Design Studioは弊社のパートナーサイトよりダウンロード頂けます。

★Have a nice Open Source Day★
KSK ソリューションズ Pentahoチーム
レポートデザイナー3.0でレポートにパラメータを使用する為にはパブリッシュ時に作成されるxactionを編集し、プロンプト画面を作成する必要がありましたが、レポートデザイナー3.5からレポートはprpt形式となり、わざわざxactionを編集しなくてもレポートデザイナー内でプロンプトを作成出来るようになり大変使い易くなりました。
しかしながらレポートデザイナー内で作成したプロンプト画面は特定されている為、プロンプト画面とレポート表示画面を変えたい場合、プロンプトのレイアウトを変えたい場合などにはやはりxactionの使用が有効です。
そこで今回はxactionからのprpt起動方法を紹介したいと思います。

①まずレポートデザイナーで通常通りパラメータを使用したレポートを作成します。
regularreport.jpg

②次にデザインスタジオで新規にxactionを作成します。
Process inputsのinputにレポートに使用したパラメータ名と同じ名前でパラメータを作成します。
inputparam.jpg

Process inputsのresourceに作成したprptファイルを定義します。
resouce.jpg

Process Actionのprompt/Secure FilterにProcess Inputsで作成したパラメータを定義します。
definestoreparam.jpg

Process ActionsのRelationalにレポートで使用したクエリーを張り付け、パラメータの使用方法を
&{パラメータ名}→{PREPARE:パラメータ名}に変更します。
definequery.jpg

Process ActionsにPentaho Reportを定義します。Report Parametersにはレポートで使用したクエリー名を追加します。
definereport.jpg

Process OutputsにPentaho ReportのOutput Report Nameを追加し、xactionを保存します。
output.jpg

③レポートデザイナーでレポートを開き、作成したData setsを削除してExternalを追加します。作成したParametersも削除し、以下のように新たなパラメータを定義します。Name欄にはクエリー名を指定します。
param.jpg

④レポートを保存しユーザーコンソールからxactionファイルを起動するとprompt画面が表示され、
prompt.jpg

表示させたい物を選んでOKを押すとレポートが表示されます。
report.jpg

このようにxactionを使用することでprpt単体では制限されていたレポートの表示方法の幅が大きく広がります。

★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム
アナリシスビュー(JPivot)にて

001.jpg

上記のような情報で、

例えば、2009年度のもののみ参照したい場合は、
OLAP Navigatorより
002.jpg

とすれば

003.jpg

当然、このように見えます。

が、
この年度を変更してみる操作で
OLAP Navigatorを毎回開いて、クリックして・・・
がめんどくさい。
いつもやる操作なんだから何かいい方法はないか。
そんなときは
デザインスタジオを使用し「プロンプトから選択する」
(今回の例では年度のみ選択)
というような設定ができます。

まず、
上記の2009年度の情報を表示した状態のものを保存します。
006.jpg

保存したフォルダには
007.jpg

xactionという拡張子で保存されてます。

これを

デザインスタジオで開いて編集します。
(日本語がある場合はUTF8設定にすること)


INPUT情報である年度(year)を作成します。

008.jpg


Process Action:Relational にて
年度リストをDBより取得する
(この場合はtimeディメンジョンテーブルにあるyearを取得)

009.jpg


Process Action:Promptにて
プロンプトの表示設定
(上記で取得してyear_listを指定)

010.jpg


プロンプトで指定された値(year)をMDXクエリに渡す
(year変数をセット)


もともと2009年度を表示していたMDXクエリ
---------------------------------------------------------------------------------------------------------
select NON EMPTY {[Measures].[予算], [Measures].[実績]} ON COLUMNS,
  NON EMPTY {[ymd].[all].[2009], [ymd].[all].[2009].Children} ON ROWS
from [forBlog1]
---------------------------------------------------------------------------------------------------------
これを

↓↓↓↓↓

プロンプトで選択されるINPUT情報を変数として設定
{year}の形でセットする。
---------------------------------------------------------------------------------------------------------
select NON EMPTY {[Measures].[予算], [Measures].[実績]} ON COLUMNS,
  NON EMPTY {[ymd].[all].[{year}], [ymd].[all].[{year}].Children} ON ROWS
from [forBlog1]
---------------------------------------------------------------------------------------------------------

011.jpg


このように設定したxactionファイルを
ユーザコンソールより起動すると

012.jpg

このようにプロンプト画面となり
年度を選択することで

005.jpg

とか

003.jpg

のように

切り替えて表示できるようになります。



2014年4月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30