|
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 |
パターン文字が参照列にあり、マップ列にない場合は、基礎となる文字が値から削除されます(たとえば、NN-aからNNaへのマップを使用すると、12-Aの値は12Aに変換されます)。 パターン文字がマップの参照列になく、マップ列にある場合は、そのパターン文字が出力値のリテラル文字として追加されます(たとえば、NNaaからNN-aaへのマップを使用すると、12ABの値は12-ABに変換されます)。 パターン文字がパターン・マップの参照列とマップ列の両方にある場合は、次のようになります。
|
同じパターン文字にマップするすべての文字は、最終的なパターンで常に同じ順序で表示される必要があります(たとえば、デフォルトの文字パターン・マップを使用して、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.