2013年11月12日火曜日

列の値を別の列にコピーする(Calculator)

Calculatorを使うと、列の値を別の列にコピーできる。

元のデータの「count」列を新しい「newfield」列にコピーする

新しく作成するフィールドを「フィールド名」に入力し、計算式を「フィールドAのコピー作成」を選び、フィールドAにコピー元のフィールドを選択し、新しいフィールドのデータタイプや長さを設定する。


新しいフィールドに値がコピーされた


http://wiki.pentaho.com/display/EAI/Calculator

環境変数

Spoonの中で環境変数をセットしておけばいろいろなところで使える。
「編集」→「環境変数の設定」からストリング名とストリング値を登録すると、毎回起動するたびに消えてしまうので面倒なので、ずっと使う場合はkettle.propertiesファイルに設定しておくと便利。

編集→環境変数の設定画面


kettle.properties

kettle.propertiesはC:\Users\ユーザー\.kettle\のように、ユーザーのディレクトリの中に.kettleディレクトリができていて、その中にある。kettle.propertiesを開いて以下のように追加。\はエスケープする必要あり。

MY_DIRECTORY=C\:\\Users\\z\\Documents\\data\\

環境変数は${MY_DIRECTORY}のように記述して利用する

Text file Input


Text File Inputとは



Text File Inputステップは、カンマ区切りのcsvファイルや固定幅形式のフラットファイルなどのデータを読み込むときに使う。 テキストファイルを読み込むときはファイルのパスを指定することもできるし、正規表現入力フィールドを使ってワイルドカードでファイルのリストを指定する事も出来る。 さらに、前のステップの処理を使ってファイル名を指定することもできる。

 「ファイル」タブ


ディレクトリC:\Users\z\Documents\data\以下のサブフォルダも含むディレクトリ内の「aaa.csv」というファイルをすべて読み込む場合
C:\Users\z\Documents\data\0001\aaa.csv
C:\Users\z\Documents\data\0002\aaa.csv
C:\Users\z\Documents\data\0003\aaa.csv
 ファイルとディレクトリ
  :C:\Users\z\Documents\
検索文字列
  :aaa.csv
サブフォルダを含む
  :Y

ファイル名に正規表現を使う場合

C:\Users\z\Documents\data\aaa.csv
C:\Users\z\Documents\data\bbb.csv
C:\Users\z\Documents\data\ccc.csv

 ファイルとディレクトリ
  :C:\Users\z\Documents\data\
検索文字列
  :.*.csv
サブフォルダを含む
  :Y

ちゃんとパスが合っているかどうかは「ファイル名の参照」を押して確認できる。読み込みたいファイルが表示されてればOK


「全般」タブ

ここでは読み込む対象のファイルの仕様を定義する。
ファイルタイプ、フィールド区切り文字、引用符、ヘッダー、フォーマット、文字コード、ローカル日付書式など。
最大レコード数に1以上の数値を指定すると、ファイルの上から指定した行数までのデータしか読まない。少しだけテストしたい時などに使える。

「フィルタ」タブ

読み込むファイルから、特定の条件でデータを除外したり抽出することができる。
フィルタ位置は、行内で文字列の検索を開始する位置を指定する。
0は行の先頭の位置で、位置に何も入力しないとフィルター文字列は全体の文字から検索を行う。ポジティブマッチをYにすると、指定した条件に一致したデータを抽出し、Nにすると指定した条件に一致しないデータを抽出する。

たとえば、以下のようなデータから、フィールドのaddressが「tokyo」のデータのみ抽出したい場合

フィルタ文字列に「tokyo」を入力しフィルタ位置は空白にし、ポジティブマッチをYにする。
条件に一致したデータのみが読み込まれるようになる。

「フィールド」タブ
テキストファイルから読み込まれるフィールドのフォーマットを定義する。
「フィールドを取得」ボタンを押すと自動的にファイルのデータを読み込み、フィールド名を取ってきてくれる。「サンプルを出力するレコード数」でレコードを指定すると、指定したレコード分だけデータを読み込んでそのタイプや書式などを解析してセットしてくれる。
データが多い場合や自分で設定する場合はこのサンプルを出力するレコード数はキャンセルし、手動でタイプや書式を設定するほうがよい。


pentaho wiki
Text File Input