トランスフォーメーション > ノーマライザトランスフォーメーション > 正規化されたフィールド
  

正規化されたフィールド

[正規化されたフィールド]タブで、正規化対象フィールドを定義します。マッピングに使用する他の受信フィールドも指定できます。
正規化されたフィールドを定義する際には、フィールドを手動で作成するか、受信フィールドのリストからフィールドを選択できます。また、ソースデータに複数のフィールドグループが含まれている場合も、フィールドグループを作成できます。グループレベルのフィールドには、フィールドおよび他のグループを含めることができます。
次の表に、正規化されたフィールドに設定するプロパティとその説明を示します。
プロパティ
説明
名前
フィールド名またはグループ名。
詳細モードまたはSQL ELTモードでは、このプロパティは常にフィールド名になります。
レベル
フィールドまたはグループレベル。
詳細モードまたはSQL ELTモードでは、値は常に1になります。
発生数
ソース行内のフィールドまたはグループのインスタンスの数。
タイプ
フィールドのデータ型。データ型は、文字列または数値のいずれかになります。詳細モードでは、任意のプリミティブデータ型を使用できます。
グループレベルのフィールドには適用されません。
精度
数値の全桁数。例えば、数値123.45の精度は5です。精度は1にする必要があります。
グループレベルのフィールドには適用されません。
スケール
数値の小数点の右側の桁数。例えば、数値123.45のスケールは2です。スケールは0以上でなければなりません。数値のスケールは、その精度より小さい値にする必要があります。スケールにより、ゼロフィリングまたは四捨五入による切り詰めが発生する可能性があります。例えば、スケールが5である場合、123.45は"123.45000"と表され、また、123.456789は"123.45679"表されます。
グループレベルのフィールドには適用されません。
詳細モードでは、ノーマライザトランスフォーメーションによって複数の出力グループが生成されます。それ以外の場合、ノーマライザトランスフォーメーションは1つの出力グループのみを生成します。
受信フィールドに複数回出現フィールドが含まれていても、対応するカテゴリフィールドがない場合は、フィールドを作成してデータの出現回数を定義することができます。例えば、異なるタイプの収入を持つ3つのフィールドを表すには、[収入]カテゴリフィールドを作成して出現回数値を3に設定します。

出現回数の設定

正規化されたフィールドの出現回数値を設定して、受信データ内にフィールドまたはフィールドグループが出現するインスタンスの数を定義します。
複数回出現するフィールドまたはグループを定義するには、出現回数値を1より大きい整数に設定します。出現回数値を1より大きい値に設定すると、ノーマライザトランスフォーメーションによって、フィールドまたはグループレベルフィールドに対して生成されたカラムIDフィールドが作成されます。
また、ノーマライザトランスフォーメーションは、出現回数値を使用して、対応する出力フィールドのセットも作成します。出力フィールドは、ノーマライザトランスフォーメーションの[フィールドマッピング]タブに表示されます。出力フィールドの命名規則は、「<出現フィールド名>_<出現回数>」です。
1回出現フィールドを定義するには、当該フィールドの出現回数値を1に設定します。1回出現フィールドを定義することで、正規化されたフィールドリストに正規化する必要がない受信フィールドを含めることができます。

フィールドグループ

正規化するフィールドを定義するときに、フィールドグループを設定できます。フィールドグループにより、ソース内で複数出現するフィールドのグループを定義します。ノーマライザトランスフォーメーションは、フィールドの出現ごとではなく、グループの出現ごとに行を返します。
ソースに複数のフィールドのグループが含まれている場合は、フィールドグループを設定します。
フィールドのグループがソース行に複数回出現する場合は、子グループを追加してデータ階層を設定することができます。ノーマライザトランスフォーメーションは、子グループの出現ごとに、親グループの出現回数値を乗算した行を返します。
例えば、4回出現する親グループに、3回出現する子グループが含まれているとします。子グループには、それぞれが1回出現する2つのフィールドが含まれているとします。ノーマライザトランスフォーメーションは、それぞれのフィールドを12回返します。
次の画像に、親グループと子グループを含む[正規化されたフィールド]タブを示します。
この画像は、2つのグループを含む[正規化されたフィールド]タブを示しています。[四半期]グループはレベル1で、ソース内で4回出現しています。[カテゴリ]グループはレベル2で、3回出現しています。[カテゴリ]グループには、レベル3の2つのフィールド(売上と返品)が含まれています。フィールドはそれぞれ1回ずつ出現しています。このタブには、[年]というフィールドと、レベル1で生成された[GCID]および[GK]というフィールドも表示されています。
フィールドレベルは、フィールドの階層を識別します。同じグループ内のフィールドは同じレベル番号を持ち、グループレベルのフィールドの下に順番に表示されます。グループには最大10までのレベルを定義することができます。
注: 詳細モードまたはSQL ELTモードでフィールドグループを設定することはできません。

フィールドグループの設定

受信データに複数のフィールドのグループまたは複数のフィールドのグループが含まれている場合は、フィールドグループを設定します。
    1グループを追加するには、[追加]をクリックし、[新規グループ]を選択します。
    2[新規グループ]ダイアログでグループ名を入力し、出現回数値を設定してから、[OK]をクリックします。
    3子グループを追加するには、親グループが含まれている行で、[アクション] > [新しいグループの作成]をクリックします。
    4[新規グループ]ダイアログでグループ名を入力し、出現回数値を設定してから、[OK]をクリックします。
    5 グループにフィールドを追加するには、グループを含む行で次のいずれかの操作を実行します。
    6新しく作成されたフィールドの場合は、[新しいフィールド]ダイアログでフィールドのメタデータを入力し、出現回数値を設定してから、[OK]をクリックします。
    また、受信フィールドから作成されたフィールドのメタデータと出現回数値を編集することもできます。

出現回数値の異なる複数回出現フィールドのグループ

ノーマライザトランスフォーメーションで、複数回出現フィールドの複数のグループを正規化できます。複数のグループを含める場合で、出現回数値が一致しない場合は、検証エラーが発生しないようにマッピングを設定します。
出現回数値の異なる複数回出現フィールドのグループを処理するには、次のいずれかの方法を使用します。
正規化されたデータを異なるターゲットに書き込む
正規化されたデータを異なるターゲットに書き込む場合は、出現回数値の異なる複数回出現フィールドを使用できます。
例えば、ソースデータに出現回数が4回の費用フィールドと出現回数が3回の収入フィールドが含まれているとします。このような場合は、正規化された費用データと正規化された収入データを、それぞれ別々のターゲットに書き込むようにマッピングを設定します。
異なる複数回出現フィールドに同じ出現回数を使用する
同じ出現回数を使用するように複数回出現フィールドを設定し、必要な生成フィールドを使用します。複数回出現フィールドに同じ出現回数を使用すると、正規化されたデータを同じターゲットに書き込むことができます。
例えば、ソースデータに出現回数が4回の費用フィールドと出現回数が3回の収入フィールドが含まれている場合に、出現回数を4回として両フィールドを設定します。
ノーマライザフィールドマッピングを設定する際に、4回の費用フィールドと3回の収入フィールドを連結できます(1つの不要な収入の出力フィールドは未使用のままになります)。これで、すべての正規化されたデータを同じターゲットに書き込むようマッピングを設定できます。

生成キー

ノーマライザトランスフォーメーションは、正規化されたデータのキー値を生成します。
生成されたキーフィールドは、そのフィールドが複数回出現するよう設定されている場合、[正規化されたフィールド]タブに表示されます。
マッピングタスクは、正規化されたデータについて、次のフィールドを生成します。
生成キー
トランスフォーメーションによって最初のグループレベルフィールドまたは最初の複数回出現フィールドに対して生成されるキー値。また、このトランスフォーメーションでは、少なくとも1つの複数回出現する子グループまたはフィールドを持つ、複数回出現するすべてのグループのキー値も生成されます。
ノーマライザの生成キーの命名規則は、「GK_<再定義されるフィールド名>」です。
最初に正規化されたフィールドが、複数回出現する子フィールドまたはグループを含む複数回出現グループである場合、ノーマライザトランスフォーメーションは親グループに対して2つのキー値を生成します。このトランスフォーメーションでは、2番目に生成されたキーに"_1"が追加されます
注: 生成されたキーは、詳細モードでは適用できません。
生成カラムID
複数回出現データのインスタンスを表すカラムID値。例えば、4回出現する費用フィールドの場合、1から4の値を使用して出現データの各インスタンスが表現されます。
ノーマライザトランスフォーメーションは、複数回出現するよう設定されている各フィールドについて生成カラムIDを使用します。
ノーマライザの生成カラムIDの命名規則は、「GCID_<再定義されるフィールド名>」です。
詳細クラスタは、生成されたカラムIDフィールドをbigintとして処理します。データ統合サーバーはIDをintegerとして処理します。