Pattern Transform

「Pattern Transform」プロセッサでは、正規表現を使用してテキスト属性のデータの書式を変換するかわりとなる、単純で簡単に使用できる手段を提供します。

「Pattern Transform」は、2つの列で構成される参照データ・セット(パターン・マップ)を使用して、いくつかのパターン(1つ目の参照列)を新しい1つ以上の書式(2つ目のマップ列)と照合し、データを再書式化します。

用途

たとえば、郵便番号、口座番号、製品シリアル番号の属性など、データが少数の標準形式に従っていることが望まれ、実際はそのようになっていない場合に、「Pattern Transform」を使用して属性のデータの書式を標準化します。

データに存在する可能性がある無効なパターンを見つけるには、「Patterns Profiler」(同じ文字パターン・マップを使用、つまり、文字パターン生成方法が同じ)を使用すると便利です。これらは、無効な各パターンが有効なパターンにマップされた状態で、このプロセッサで使用されるパターン・マップに追加されます。

「Pattern Transform」は、ある文字パターンから別のパターンへの単純なマップを使用する範囲内で、可能なかぎり多くの柔軟性を提供することを目指します。テキスト変換のタイプによっては、正規表現の特別な複雑さを必要とするものもあります(「Regex Replace」を参照)。

プロセッサの完全な論理は次のとおりです。

ステップ

アクション

1

値のパターンを生成するために、構成された文字パターン・マップを使用して、入力された値のすべての文字をパターン文字にマップします(AB1243-ZXをaaNNNN-aaにマップするなど)。

2

生成されたパターンをパターン・マップの参照列に対して照合します。

  • マッチがない場合は、データを変換せずに出力属性に対して元の値を出力します(終了)。
  • マッチ(完全一致のみ)がある場合は、ステップ3に移動します。

3

パターン文字が参照列にあり、マップ列にない場合は、基礎となる文字が値から削除されます(たとえば、NN-aからNNaへのマップを使用すると、12-Aの値は12Aに変換されます)。

パターン文字がマップの参照列になく、マップ列にある場合は、そのパターン文字が出力値のリテラル文字として追加されます(たとえば、NNaaからNN-aaへのマップを使用すると、12ABの値は12-ABに変換されます)。

パターン文字がパターン・マップの参照列とマップ列の両方にある場合は、次のようになります。

  • 左から右に順に操作し、基礎となる各文字を同じパターン文字で出力値にマップします(たとえば、NaaNからNNaaへのマップを使用すると、1AB2の値は12ABに変換されます)。
  • 参照列のほうがマップ列よりも同じタイプの文字数が多い場合は、基礎となる最も右側の文字が値から削除されます(たとえば、NaaNからNaaへのマップを使用すると、1AB2の値は1ABに変換されます)。
  • マップ列にある文字が参照列にない場合は、値にリテラル文字として追加されます(たとえば、NNaaからEDB-NNaaへのマップを使用すると、12ABの値はEDB-12ABに変換されます)。
  • マップ列のほうが参照列よりも同じタイプの文字数が多い場合は、マップ列で最も右側の文字が出力値のリテラル文字として機能します(たとえば、NNaaからNNaaNへのマップを使用すると、12ABの値は12ABNに変換されます)。
  • マップ列に一重引用符で囲まれた文字がある場合、これらはリテラル文字として変換された値に追加されます(たとえば、NNNaから'EDN-'NNNaへのマップを使用すると、123Nの値はEDN-123Nに変換されます)。

同じパターン文字にマップするすべての文字は、最終的なパターンで常に同じ順序で表示される必要があります(たとえば、デフォルトの文字パターン・マップを使用して、AB123CDから123ABCDまたは1ABC23への変換は可能ですが、AB123CDからBA123CDまたはAB213CDに変換することはできません)。

構成

入力

パターン・マップを使用して値を置換する単一の文字列または文字列配列属性。

配列属性を入力すると、変換はすべての配列要素に適用され、単一の配列属性が出力されます。

オプション

オプション

タイプ

目的

デフォルト値

Character Pattern Map

参照データ(「Pattern Generation」カテゴリ)

パターン・リストと照合するパターンを生成するために、文字をパターン化する入力値のマップ先の文字。

*Character Pattern Map

Patterns Map

参照データ(「Patterns」カテゴリ)

データの変換に使用する文字パターンのマップ。

なし

出力

データ属性

データ属性

タイプ

目的

[Attribute Name].PatternTransformed

導出

パターン・マップに従って値が置換された新しい属性。

元の属性がパターン・マップに従って変換された値。

フラグ

フラグ

目的

可能性のある値

[Attribute Name].PatternTransformedFlag

各レコードに対するパターン変換操作の結果(つまり、データが変換されたかどうか)を格納します。

Y - 変換されました。

N - 変換されませんでした。

実行

実行モード

サポート

バッチ

Yes

リアルタイム・モニタリング

Yes

リアルタイム応答

Yes

結果ブラウザの表示

統計

意味

Transformed

パターン・マップを使用して変換されたレコードの数。

Untransformed

パターン・マップを使用して変換されなかったレコードの数。

出力フィルタ

「Pattern Transform」プロセッサからは、次の出力フィルタが使用可能です。

この例では、パターンの生成にデフォルトの文字パターン・マップを使用し、英国の郵便番号に関する共通書式の問題を解決するために、次のパターン・マップを使用します。

その結果、次に示すように値が変換されます。

Oracle (R) Enterprise Data Qualityオンライン・ヘルプ バージョン8.1
Copyright (C) 2006,2011 Oracle and/or its affiliates.All rights reserved.