Talend Data Preparationを使ってみる その２

#Talend Data Preparation Desktopでのクレンジング機能#
前回はTalend Data Preparation Desktopでの基本的な使い方を紹介しました。
この中で文字列置換と日付フォーマット指定を紹介しましたが、他にも多数のクレンジング機能がありますので一覧で紹介したいと思います。

#列を対象にしたクレンジング機能#
1. Compare numbers      
指定した値または他の列の値と比較を行いBoolean型を返す
2. Add,multiply,subtract or divide     
指定した値または他の列の値と四則演算を行い結果を返す
3. Negate value     
Boolean型に対して否定値を返す
4. Concatenate with     
指定した値または他の列の値と結合を行い結果を返す
5. Delete column     
選択した列の削除（複数指定可能）
6. Swap column     
指定した列の値と入れ替える
7. Convert distance     
距離単位で変換する（メートル、インチ、フィート、ヤード、マイル、海里、光年）
8. Convert duration     
日時単位で変換する（年、月、日、時、分、秒、ミリ秒）
9. Convert temperature     
温度単位で変換する（華氏、摂氏、ケルビン）
10. Clear on matching value     
指定した条件に一致するセルをクリアする
11. Clear the cells with invalid values     
無効な値を持つセルをクリアする
12. Delete the rows that match     
指定した条件に一致する行を削除する
13. Delete the rows with empty cell     
空のセルを持つ行を削除する
14. Delete the rows with invalid cell     
無効なセルを持つ行を削除する
15. Delete the rows with negative values     
負の値を持つ行を削除する
16. Fill cells with value     
指定した値または他の列の値で埋める
17. Fill empty cells from above     
空のセルを一つ上のセルの値で埋める
18. Fill empty cells with text    
空のセルを指定した値または他の列の値で埋める
19. Fill invalid cells with value    
無効なセルを指定した値または他の列の値で埋める
20. Standardize value(fuzzy matching)    
値の標準化（ファジーマッチング）
21. Mask data(obfuscation)    
データの一部をXに置換してマスキングする
22. Calculate time since    
指定した日時または他の列の日時との経過時間を計算する
23. Calculate timestamp to date    
現在日時までのタイムスタンプを計算する
24. Compare date     
指定した日付または他の列の日付との比較を行いBoolean型を返す
25. Convert date    
指定したフォーマット（暦）の日付に変換する
26. Extract date parts    
列の日時から各指定の部分（年月日など）を抽出する
27. Modify date    
指定した単位（年月日時）で指定した値または他の列の値を加算する
28. base 10 logarithm    
10を底とする対数を計算する
29. Calculate absolute value    
絶対値を計算する
30. Cosine    
余弦（コサイン）を計算する
31. Exponential    
指数を計算する
32. Max    
指定した値または他の列の値と比較を行い最大値を返す
33. Min    
指定した値または他の列の値と比較を行い最小値を返す
34. Modulo    
指定した値または他の列の値との剰余演算値を返す
35. Natural logarithm    
自然対数を計算する
36. Negate    
否定値を返す
37. Power    
二乗値を計算する
38. Sine    
正弦（サイン）を計算する
39. Square root    
平方根を計算する
40. Tangent    
正接（タンジェント）を計算する
41. Format numbers    
数値を指定した書式で返す
42. Generate sequence    
指定した開始値と増加数で連番を生成する
43. Remove fractional part    
小数部分を削除して返す
44. Remove negative values    
セルの値が負数なら削除する
45. Round value using ceil mode    
指定した小数点桁数で丸めて返す
46. Round value using down mode    
指定した小数点桁数で切り捨てして返す
47. Round value using floor mode    
指定した小数点桁数で切り上げして返す
48. Round value using halfup mode    
指定した小数点桁数で四捨五入して返す
49. Format phone number    
電話番号を指定したフォーマットで返す
50. Extract email parts    
Emailをローカルとドメインで分割して返す
51. Extract number    
数字のみを抽出して返す
52. Extract string parts    
指定した正規表現で文字列部分を抽出して返す
53. Extract URL parts    
URLをプロトコル、ホスト、ポートで分割して返す
54. Split the text in parts    
文字列を指定した区切文字で指定した数で分割して返す
55. Calculate length    
値の桁数を返す
56. Change to lower case    
大文字を小文字に変換して返す
57. Change to title case    
先頭が小文字なら大文字に変換して返す
58. Change to upper case    
小文字を大文字に変換して返す
59. Contains text    
指定した値または他の列の値があるか比較しBoolean型を返す
60. Extract parts of text   
セル内から指定した条件で文字列として抽出する
61. Match similar text    
セル内に指定したテキストと一致するか比較しBoolean型を返す
62. Matches pattern    
セル内が指定した正規表現と一致するか比較しBoolean型を返す
63. Remove consecutive characters    
セル内に指定した文字が連続していれば１文字削除する
64. Remove part of the text    
セルの値が指定した条件と一致すれば削除する
65. Remove trailing and leading characters    
セル内の先頭と末尾から指定した文字を削除する
66. Search and replace    
指定したパターンと一致する箇所を指定した値に置換する
67. Add extra characters    
指定した桁数を満たす部分に指定した文字を追加する
68. Find and group similar text    
セルから類似テキストの検索とグループ化を行う
69. Remove non alpha numeric characters    
セルの値から英数字ではない文字を削除する
70. Remove non numeric characters    
セルの値から数字ではない文字を削除する
71. Simplify text(remove case,accent,etc,)    
セル内のテキストの簡略化（大文字小文字の区別、アクセントなど）

#行を対象にしたクレンジング機能#
1. Delete row    
指定した行を削除する（複数指定可能）
2. Make as header    
指定した行の値でヘッダーを作成する

#表を対象にしたクレンジング機能#
1. Delete empty rows    
空の行を削除する
2. Remove duplicate rows    
重複している行を削除する
3. Format phone number    
データ内の電話番号を指定したフォーマットで返す
4. Remove trailing and leading characters    
データ内の先頭と末尾から指定した文字を削除する

#クレンジング機能のプレビュー#
クレンジングを実行する前に画面上でプレビューすることも可能です。
Email列を大文字に変換するクレンジングで説明します。
メニューのChange to upper caseをクリックするとSUBMITボタンが表示されますので、このボタン上にマウスカーソルを置いていると表の上にPreviewと表示され始めます。
![レシピプレビュー開始.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/641cc110-2570-f0af-0aae-8e288b6892c0.jpeg)
しばらくするとプレビューが開始され、Email列の値が大文字の状態で表示されます。
![レシピプレビュー中.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/d5105337-e3e6-2a6a-140f-5946d7c9812a.jpeg)
SUBMITボタンの上にあるCreate new columnをチェックすると、オリジナルの列は残したままで、その右に新しくクレンジングした内容の列を作成してくれます。
![レシピプレビュー新列作成.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/5f9d4b7a-c353-2249-602c-aab9d6c2b836.jpeg)
ほとんどのクレンジング機能にはCreate new columnのオプションがありますが、一部のクレンジング機能（分割抽出機能など）は無条件に新しい列が作成されます。

#まとめ#
Talend Data Preparation Desktopには多種多様なクレンジング機能があることがわかりましたが、個人的にはクレンジングの結果をプレビューして確認できるのは非常に使えるなと思いました。

次回もTalend Data Preparationの機能について紹介していきたいと思います。