置換

「置換」プロセッサは、たとえばデータを標準化するために、参照データ・マップを使用してデータを変換します。マップの1列目は値の照合に使用され、2列目は置換の制御に使用されます。

実行される置換は、値全体の単純な置換('Oracle Ltd'の値を'Oracle Limited'に置換するなど)、または入力された値の一部の置換(CompanyName属性の最後が'ltd'の場合に'limited'に置換する、'decsd'の文字列を検出するたびに'deceased'に置換するなど)になります。参照データの照合方法、つまりデータの置換方法は、次のいずれかのオプションを使用して制御します。

  • 全体の値

  • 次を含む

  • 先頭から一致する

  • 後方から一致する

  • 区切り文字の一致

また、参照データとの照合では、大/小文字を区別または無視できます。

「次を含む」、「先頭から一致する」または「後方から一致する」オプションを使用する場合は、参照データのルックアップ列に対して複数の一致が存在する可能性があります。この場合、「置換」では置換が常に1回のみ発生します。たとえば、'PT'という値を'PINT'で置換する「次を含む」置換を実行すると、 '10PT - APTITUDE BITTER'の値は'10PINT APINTITUDE BITTER'ではなく'10PINT - APTITUDE BITTER'に変換されます。

「区切り文字の一致」オプションを使用し、照合する前に区切り文字を使用してデータを区切るように選択すると、入力された値に多数の一致がある場合も、置換マップのルックアップ列と一致する分割された値が置換されます。

複数の一致がある場合の「置換」プロセッサによる置換方法の判断は、構成オプションを使用して制御できます。

デフォルトでは、単純にマップが順にチェックされ、入力データからのマップに対する最初の一致が置換に使用されます。たとえば、置換マップに'Lyn'および'Lynda'の値があり、リストの先頭に'Lyn'がある場合、'Lynda'という入力値は、マップのルックアップ値'Lyn'を使用して置換されます。

ただし、これは「最長の値に一致」オプションを使用して制御できます。このオプションを選択すると、一致した各参照エントリの長さが評価され、最も長い一致が使用されます。したがって、前述の例では、マップの'Lynda'というルックアップ値を使用して置換が実行されます。

「置換」プロセッサを使用して、同じものを意味する異なる接尾辞(LtdとLimited、AssocとAssc、CnclとCouncilなど)が標準的な様式で表されるように標準化(たとえば、CompanyName名の値をすべて標準化)します

日付の置換

「置換」を使用して、日付値を置換できます。ただし、機能させるためには、参照データ・マップの日付値がISOの標準書式、つまり、YYYY-MM-DD (例: 1900-01-01)またはYYYY-MM-DD HH:mm:ss (例: 1900-01-01 00:00:00)である必要があります。日付はNull値で置換でき、これにより、たとえば無効な日付を削除できます。

次の表に、構成オプションを示します。

構成 説明

入力

参照データ・マップを使用して値を置換する単一の属性を指定します。属性は文字列または文字列配列です。

配列を入力すると、置換は配列要素レベルで適用され、(置換実行後のデータを含む)配列が出力されます。

オプション

次のオプションを指定します。

  • 置換: 属性値をマップ内のルックアップ列と照合します。一致があると、一致する値が右側の列の値で置換されます。参照データとして指定します。デフォルト値: None

  • 最長の値に一致: マップとの一致が複数存在する場合に、「次で始まる」、「後方から一致する」または「次を含む」のうちどの置換を実行するかを制御します。Specified as 「はい」/「いいえ」で指定します。デフォルト値: No

  • 大文字/小文字を区別しない: マップのルックアップ列と照合するときに、大/小文字を無視するかどうかを決定します。Specified as 「はい」/「いいえ」で指定します。デフォルト値: はい

  • リストの一致基準: マップと照合する方法、および元の値のどの部分を置換するかを決定します。選択して指定します(全体の値/次で始まる/後方から一致する/次を含む/区切り文字の一致)。デフォルト値: 全体の値

  • 区切り文字: 区切り文字を使用してデータを区切ってから値をマップと照合する場合は、使用する区切り文字を指定できます。フリー・テキスト・エントリとして指定します。デフォルト値: スペース

出力

データ属性またはフラグ属性の出力を記述します。

データ属性

次のデータ属性が出力されます。

  • 置換済: 置換済の値から導出された新しい文字列または配列属性。入力属性値がマップと一致しなかった場合は、新しい属性に元の属性値がそのまま使用されます。

フラグ

次のフラグが出力されます。

  • ReplaceSuccess: 「正規表現の置換」が成功したか、失敗したか、それとも無効であったかを示します。使用可能な値はY/N/-です。

次の表に、このプロファイラによって生成される統計情報を示します。

統計 説明

変換済

置換が実行されたレコードの数。数値をドリルダウンすると、レコードが表示されます。

未変換

置換が実行なかったレコードの数。

無効

入力データ型に対して置換値が無効であったために置換に失敗したレコードの数。

注意:

「置換」プロセッサでは、任意のデータ型の属性(文字列、配列、数値または日付)を使用できます。ただし、「置換」は入力属性のデータ型を常に出力属性に対して使用するため、選択可能な変換の中には、置換された値が出力属性のデータ型では無効になる変換があります。たとえば、マップを使用して'2006-04-14'という日付値を'Bad date'で置換しようとすると、'Bad date'という値は有効な日付ではないため、置換は失敗します。無効な置換が存在する場合は、置換を実行する前に元の属性を異なるデータ型に変換するか、参照データ・マップを変更して無効な置換を削除する必要があります。

出力フィルタ

次の出力フィルタを使用できます。

  • 変換済の値を持つレコード

  • 未変換の値を持つレコード

  • 無効な置換があるレコード

この例では、「置換」プロセッサを使用して、顧客表からAddress3属性の英国の郡およびその他同様のデータを標準化します。出力属性は、Address3.standという名前になっています。

この場合、「全体の値」置換を使用しました。次の図は、変換されたレコードのドリルダウン・ビューからの抜粋です。

ADDRESS3 ADDRESS3.stand CU_NO

Lancs

Lancashire

13841

Cambs

Cambridgeshire

14053

OXON

Oxfordshire

14068

Leics

Leicestershire

14130

Linc

Lincolnshire

14207

Beds

Bedfordshure

14506