Pentahoの.ktrから.prptへデータを渡したいのだけど・・・
さて、例によってPentaho回りを調べているのですが、今回は.prpt
ファイルまわりのところです。
.prpt
ファイルはPentaho BIフレームワークにおける帳票定義ファイルで、Pentaho Report Designerでもってデータソースとデザインを設定してつくります*1。
SpoonもしくはKettleの側にはこれに対応する出力処理ステップとして「Pentahoレポート出力」(Pentaho Reporting Output)なるものが存在しており.prpt
ファイルを指定して帳票出力をさせることができます。
問題は.ktr
と.prpt
の関連付けの方法です。こちらのリファレンスでも紹介されているとおり、何らかの入力処理もしくは中間処理の結果セットを使用して、「Pentahoレポート出力」ステップにテンプレート・ファイル名(つまり.prpt
のパス)と出力ファイル名(例えば出力形式がPDFなら.pdf
ファイルのパス)を渡して帳票出力をすることはできます。
まず変換(Transformation)のステップとして以下のようなフローを組みます:
今回はともかく1ファイルの帳票出力ができればいいので上述のテンプレート・ファイル名や出力ファイル名を定義するために「行生成」ステップを使います:
「Pentahoレポート出力」ステップの設定では「行生成」で定義した値のフィールド名で各設定値を入力します:
あとはこの変換を実行すれば.prpt
ファイルに基づき帳票出力が行われます。
しかし入力処理や中間処理の結果をデータソースとして、.ktr
側から指定する方法がわかりません(そもそもそれが「可能なこと」なのかわかりません)。.prpt
の作成時にデータソースとして.ktr
ファイルのステップを指定することはできます*2。
しかし「Pentahoレポート出力」では、他の出力系ステップ(例えばExcel出力など)のように、.ktr
側で処理(ステップ)の流れの中でビジネス・ロジックの対象となる結果セットを渡すというのができないのです。つまりこちらのブログで紹介されているような変換のフロー(「Pentahoレポート出力」ステップの前段に「テーブル入力」ステップが配されている)は意味がないようなのです。あるいはReport Designer側でレポートのデータソースを設定する際に何かしらの工夫をすればよいということなのか・・・。
あれこれ調べてみましたがこれはどうも諦めざるをえないような感じです・・・。