【連載】PDI 誌上ハンズオン - 3

|
PentahoのETL(PDI)でデータ変換を作成するハンズオンの
3回目は、Excelファイルの入出力と変換ステップの使い方をご紹介します。

本ハンズオンは、Pentaho 5.2で動作確認を行っております。

使用するExcelファイルは、事前にこちらからダウンロードをお願いします。
jira.xlsx


次の「ETL」の各処理のうち、
E(Extract:抽出)
T(Transform:変換)
L(Load:ロード)

T(Transform:変換)の事例として「フィルター」「値マッピング」ステップを使用し、
不要なレコード(行)を削除したり、
値をマッピングテーブルに従って置換する処理を行います。

スライド62.PNG
今回も、メニューから新規データ変換を選択し、データ変換を作成していきます。
画面左側のフォルダから、

「入力」フォルダ:Excel入力、
「フロー」フォルダ:フィルター、
「変換」フォルダ:値マッピング、
「出力」フォルダ:Excel出力
の各ステップをドラッグし、上図のようにステップを配置し、
ホップ(線)で接続します。

「フィルター」と「値マッピング」の間のホップは、
選択肢が表示されるので「Main output of step」を選択。


スライド63.PNG
「Excel入力」をダブルクリックして編集画面を表示します。
ファイルタブの内容を指定します。
スプレッドシートタイプは「Excel2007」を指定。
[参照]ボタンをクリックすると、ファイル選択画面が表示されるので、
このハンズオンのサンプルファイル「jira.xlsx」を選択します。
[追加]ボタンをクリックすると、選択したファイルが[ファイル名のリスト]欄に移動します。

スライド64.PNG
シートタブを表示します。
!(エクスクラメーションマーク)が表示されているタブが、必須入力のタブになります。
「シートの取得」ボタンをクリックし、
「入力リスト」ウィンドウで対象のシートを選択します。
[>]ボタンをクリックして選択するシートを右側に移動します。
[OK]ボタンをクリックして「入力リスト」ウィンドウを閉じます。

スライド65.PNG
続いて「開始レコード」「開始列」を指定します。
サンプルデータのExcelファイルの内容に従い、
開始レコード:3
開始列:1
を指定します。

スライド66.PNG
フィールドタブを表示します。
「フィールドの取得」ボタンをクリックすると、
ファイルの内容が読み込まれ、フィールドの各項目が自動的に設定されます。

スライド67.PNG
「プレビュー」ボタンをクリックして、ファイルの内容を確認します。
表示された内容をチェックして、「閉じる」をクリックします。
内容に間違いがある場合は、フィールドの設定項目を修正します。

「Excel入力」ステップの編集画面を閉じます。

スライド68.PNG
「フィルター」ステップをダブルクリックして編集します。

スライド69.PNG
「フィルタ条件」を指定します。
上図を参考に「Summary」フィールドに「IS NOT NULL」を指定します。
「OK」をクリックして編集画面を閉じます。

スライド70.PNG
「値マッピング」ステップをダブルクリックして編集します。

文字列として入力された値を、それぞれ対応する数値に変換します。
フィールド名に「Priority」、
出力フィールドに「priority_order」、
合致しない場合の初期値として「9」
を指定します。

[OK]をクリックして編集画面を閉じます。

スライド71.PNG
「Excel出力」ステップをダブルクリックして編集します。
「ファイル名」を指定します。
(ここでは「C:\pentaho\pdi_work\result」を指定しています)

スライド72.PNG
フィールドタブを表示します。
「フィールドを取得」ボタンをクリックすると、
前のステップで設定されたフィールドの内容が取得されます。

スライド73.PNG
上図のように、フィールド名とデータタイプが取得されます。
[OK]ボタンをクリックして編集画面を閉じます。

スライド74.PNG
ツールバーの「実行」ボタン(緑色の三角)をクリックします。
「データ変換の実行」ウィンドウが表示されますので「実行」ボタンをクリックします。


スライド75.PNG
データ変換が保存されていない場合は、
上図のように、実行前にデータ変換を保存するダイアログが表示されます。
[はい]をクリックして編集した内容を保存します。

スライド76.PNG
Spoon上で実行結果を確認します。
エラーが無いかチェックします。

スライド77.PNG
出力されたファイルをExcelで開いて、内容を確認します。

次回は、データベースからデータを取得する方法をご紹介する予定です。

2015年11月

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