1.3.10.39 配列からレコードを分割
「配列からレコードを分割」プロセッサを使用すると、入力配列内の各要素ごとにレコードを新たに分割することで、1つのレコードから複数のレコードを作成できます。
「配列からレコードを分割」は、複数のレコードで表現される必要があるデータが間違って1つのレコードのみにキャプチャされた場合に使用します。つまり、間違って非正規化されたデータを正規化するために使用します。
分割が必要な非正規化データは通常、このプロセッサを使用する前に前処理する必要があります。たとえば、次の受注表ではフリー・テキスト・フィールドを使用して複数の受注(複数の注文番号と製品説明を持つ)が誤って次の受注表の1つのレコードに入力されました。
Order_ID | Order_Number | Product_Desc |
---|---|---|
O574112 |
2788143 / 2788144 |
Home PC Package / Color Printer |
この場合、Order_Number
属性およびProduct_Desc
属性の両方に簡単な前処理が必要です。文字列から配列を作成プロセッサを使用して/文字を区切り文字に使用して配列を作成します。次に「配列からレコードを分割」プロセッサに配列を入力すると、次のようにレコードが分割されます。
Order_ID | Order_Number.normalized | Product_Desc.normalized |
---|---|---|
O574112 |
2788143 |
Home PC Package |
O574112 |
2788144 |
Color Printer |
前述の例では、多数の配列属性がこのプロセッサに入力されました。この場合、各入力レコード当たりの出力レコード数は要素数が最も多い配列属性の要素数と一致します。各属性の入力ではないデータは、各入力レコードから作成された出力レコードのすべてに単にコピーされます。たとえば、Title.arrayとFirstName.array
を入力して、次のレコードを分割する場合。
Cust_ID | Title.array | FirstName.array | 姓 |
---|---|---|---|
13451 |
{Mr}{Mrs} |
{John}{Dorothy}{James} |
Smith |
出力レコードは次のとおりです。
Cust_ID | Title.array | FirstName.array | 姓 |
---|---|---|---|
13451 |
Mr |
John |
Smith |
13451 |
Mrs |
Dorothy |
Smith |
13451 |
James |
Smith |
Title.array
の配列にFirstName.array
の3番目の要素と対応する要素がないため、Title.array.normalized
の最後のレコードはNullになります。
次の表に、構成オプションを示します。
構成 | 説明 |
---|---|
入力 |
レコードの分割に使用する配列属性を1つ以上指定します。入力された配列の各要素が単一値として出力されます。 |
オプション |
なし。 |
出力 |
データ属性またはフラグ属性の出力を記述します。 |
データ属性 |
次のデータ属性が出力されます。
|
フラグ |
次のフラグが出力されます。
|
次の表に、このプロファイラによって生成される統計情報を示します。
統計 | 説明 |
---|---|
入力レコード |
入力されたレコードの数(分割前)。 |
出力レコード |
出力されたレコードの数(分割後)。 ドリルダウンすると、すべての出力レコードが表示されます。 |
分割% |
複数の出力レコードに分割された入力レコードのパーセント値。 ドリルダウンすると、分割された出力レコード(入力配列属性が複数の要素を持つレコード)が表示されます。 |
出力フィルタ
なし。
例
この例では、照合のために個人名のデータ・セットを準備します。データには、別名や異なる綴りを持つ個人名が多数含まれます。これらは、単一のAliases.Array
属性へと前処理され、次に、配列からレコードを分割を使用してそれぞれの名前が別々に照合できるように分割されます。
Aliases.Array | Aliases.Array.Split |
---|---|
{Jose Angel Veron}{Jose Veron} |
Jose Veron |
{Jose Angel Veron}{Jose Veron} |
Jose Angel Veron |
{Namik Zouahi}{Namiq Zouahi}{Namig Zouahi} |
Namik Zouahi |
{Namik Zouahi}{Namiq Zouahi}{Namig Zouahi} |
Namiq Zouahi |
{Namik Zouahi}{Namiq Zouahi}{Namig Zouahi} |
Namig Zouahi |
{Christine Moss}{Christine Lee}{Christine Graham} |
Christine Moss |
{Christine Moss}{Christine Lee}{Christine Graham} |
Christine Lee |
{Christine Moss}{Christine Lee}{Christine Graham} |
Christine Graham |