変換プロセッサ
変換プロセッサは、1つ以上の入力属性を受け取って変換し、変換した値を新しい属性として出力します。
EDQの変換プロセッサは入力データを決して直接変更しないことを理解することが重要です。EDQでは、適用する変換の効果を確認してから、変換データを使用する方法を決めることができます。たとえば、データ・クレンジング・プロセスからデータを掻き出す前に、元のデータよりも変換済データを優先して使用するように選択できます。
変換プロセッサの最も一般的な用途は、データを新システムに移行する前に、あるいはデータの監査や照合を行う前にデータ品質を詳しく分析するためにデータを変換することです。したがって、変換プロセッサはプロセス・フローのどの時点でも使用できます。たとえば、分析を実行する前にすべてのテキスト・データを大文字または小文字に変換することもできます。そうすると、大/小文字を区別する必要がなくなります。
多くの場合、データに適用する必要がある変換は、プロファイリングおよび監査の際に明らかになります。したがって、EDQでは、変換ルールをデータそのものから直接作成することができます。たとえば、属性の値が無効な一連のレコードが見つかったとします。その場合、誤った値を正しい値で置き換えるために参照データ・マップをデータから直接作成できます。さらに、新しい参照データ・マップを使用して、不正な値が置換された新しい属性を作成するように、「置換」プロセッサを構成できます。
変換プロセッサで作成される属性は、プロセッサに応じて導出または追加になります。これはデータ・フローの動作に影響するため、違いを理解することが重要です。
導出属性
導出属性は、各入力属性を個別に処理して、各入力属性の変換済バージョンを新しく生成する変換プロセッサによって作成されます。新しい導出属性には、入力属性のデータの変換済バージョンが含まれます。導出属性の名前は、常にデフォルト形式[Input Attribute Name].Transformation
になります(例: Forename.Upper)。
表1-133 導出属性
プロセッサ | デフォルト名での導出属性の作成 |
---|---|
大文字 |
[Attribute Name].Upper |
空白の切捨て |
[Attribute Name].Trimmed |
ノイズ削除 |
[Attribute Name].Denoise |
文字の切捨て |
[Attribute Name].Substring |
置換 |
[Attribute Name].Replaced |
適切な大小文字 |
[Attribute Name].Proper |
導出属性を追加するプロセッサによって属性が変換されると、出力属性には変換を反映する名前が付けられます。
デフォルトでは後続のプロセッサは入力属性として属性の最新値を使用します。たとえば、「ノイズ削除」プロセッサを「リーダー」プロセッサと「大文字」プロセッサの間に挿入した場合、「大文字」プロセッサで入力として使用されるNAME属性は、オリジナルのNAME属性ではなくNAME.Denoiseバージョンになります。
属性が処理されたすべての変換の中から、使用される最新バージョン属性が青い矢印で示されます。
つまり、処理の順序をあらかじめ確認する必要はありません。変換処理を別の変換処理の前に挿入しても、他のプロセッサにはほとんど影響しません。
導出属性は、名前がデフォルトの名前形式から変更された場合でも、結果ブラウザで導出元属性の横に表示されます(たとえば、NAME.Upper
がNew_name
に変更されることがあります)。
定義された属性は緑色の丸印で示されます。これは属性の最新バージョンではなく、属性の特定のバージョン(NAME.Denoise
など)を示します。
注意:
後続のプロセッサの入力として、最新バージョンのかわりに定義済属性を選択できます。プロセッサの構成において、青矢印アイコンの下で各属性を展開すると、使用可能な定義済属性を表示できます。前述の例では、NAME (オリジナル・ソースの属性)とNAME.Denoiseが使用可能です。表示される属性はどれもプロセッサの入力として選択できます。
追加属性
追加属性は、新しい属性が1つの入力属性に直接対応していない場合やデータ型が変更される場合に、変換プロセッサによって作成されます。追加属性が作成されるのは次のケースです。
-
変換で複数の入力属性が使用される場合(連結など)
-
複数の出力属性が同一の入力属性から作成される場合(分割など)
-
入力属性のデータ型が変更される場合(データ型の変換など)
追加属性には変換操作に基づいてデフォルト名が割り当てられます。たとえば、連結の場合はConcatが使用されます。追加属性を追加するプロセッサの例を次に示します。
表1-134 追加属性
プロセッサ | デフォルト名での追加属性の作成 |
---|---|
連結 |
Concat |
入力から配列を作成 |
配列 |
乗算 |
MultipliedValue |
加算 |
AddedValue |
文字列から配列を作成 |
ArrayFromString |
出力属性の命名
[Input Attribute].[Output]
という形式で名前が付けられるように属性(導出または追加)を追加するプロセッサを構成すると、プロセッサによって作成される出力属性の名前は、入力属性が変更された場合に変更されます。これは、導出属性を追加するすべてのプロセッサと、追加属性を追加する一部のプロセッサ(出力が入力属性に関連しているが、導出属性を追加する理由がないケース)に該当します。一般的な理由としては、データ型の変更により導出属性ではなく追加属性を作成する必要があるためです。そうしないと、後続のプロセッサへの入力が無効になってしまうためです。
これは次のプロセッサに該当します。
表1-135 出力属性の命名
プロセッサ | デフォルト名での追加属性の作成 |
---|---|
数値を文字列に変換 |
[Input Attribute].NumberToString |
日付を文字列に変換 |
[Input Attribute].DateToString |
文字列を日付に変換 |
[Input Attribute].StringToDate |
文字列を数値に変換 |
[Input Attribute].StringToNumber |