目次

Search

  1. はじめに
  2. トランスフォーメーション
  3. ソーストランスフォーメーション
  4. ターゲットトランスフォーメーション
  5. アクセスポリシートランスフォーメーション
  6. B2B Data Transformation
  7. アグリゲータトランスフォーメーション
  8. クレンジングトランスフォーメーション
  9. データマスキングトランスフォーメーション
  10. データサービストランスフォーメーション
  11. 重複排除トランスフォーメーション
  12. 式トランスフォーメーション
  13. フィルタトランスフォーメーション
  14. 階層ビルダートランスフォーメーション
  15. 階層パーサートランスフォーメーション
  16. 階層プロセッサトランスフォーメーション
  17. 入力トランスフォーメーション
  18. Javaトランスフォーメーション
  19. JavaトランスフォーメーションAPIリファレンス
  20. ジョイナトランスフォーメーション
  21. ラベラトランスフォーメーション
  22. ルックアップトランスフォーメーション
  23. 機械学習トランスフォーメーション
  24. マップレットトランスフォーメーション
  25. ノーマライザトランスフォーメーション
  26. 出力トランスフォーメーション
  27. 解析トランスフォーメーション
  28. Pythonトランスフォーメーション
  29. ランクトランスフォーメーション
  30. ルータトランスフォーメーション
  31. ルール仕様トランスフォーメーション
  32. シーケンスジェネレータトランスフォーメーション
  33. ソータートランスフォーメーション
  34. SQLトランスフォーメーション
  35. 構造パーサートランスフォーメーション
  36. トランザクション制御トランスフォーメーション
  37. 共有体トランスフォーメーション
  38. Velocityトランスフォーメーション
  39. ベリファイヤトランスフォーメーション
  40. Webサービストランスフォーメーション

トランスフォーメーション

トランスフォーメーション

階層ビルダトランスフォーメーションの例

階層ビルダトランスフォーメーションの例

リレーショナルデータを階層データに変換し、そのデータをターゲットファイルに階層形式で書き込むとします。
階層ビルダトランスフォーメーションを使用してデータを変換するには、次の手順を実行します。
  1. 階層スキーマを作成します。
  2. マッピングを作成します。
  3. 階層ビルダトランスフォーメーションを設定します。
  4. ターゲットを設定します。
  5. マッピングを実行します。

手順1.階層スキーマの作成

スキーマファイルを使用して出力データの階層を定義する階層スキーマを設定する必要があります。
次の例は、使用するスキーマ階層を示しています。
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.itemfield.com" targetNamespace="http://www.itemfield.com" elementFormDefault="qualified"> <xs:element name="Employees"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="xs:string" minOccurs="0"/> <xs:element name="Address" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="Employee" minOccurs="1" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="EmployeeID" type="xs:string" minOccurs="0"/> <xs:element name="Department" type="xs:string" minOccurs="0"/> <xs:element name="Subdivision" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="Building" type="xs:string" minOccurs="0"/> <xs:element name="Room" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
次の例は、使用する1つ目の入力ファイルデータを示しています。
CompanyName,Address First National Bank,874 Louis Road Jackson Industry,13 Sydney Drive
次の例は、使用する2つ目の入力ファイルデータを示しています。
Name,EmployeeID,Department,Building,Room First National Bank,122,Credit,6,1532 First National Bank,261,Credit,6,2251 First National Bank,431,Credit,6,5312 Jackson Industry,3875,Manufacture,C,673 Jackson Industry,2837,Manufacture,B,211
データ統合
で、使用するスキーマ階層を持つ階層スキーマを作成します。

手順2.マッピングの作成

入力データを解析するには、マッピングで階層ビルダートランスフォーメーションを使用して階層入力のデータを変換します。
Mapping Designerで、2つのソースオブジェクトを追加します。これらのオブジェクトは、解析するデータファイルへのパスが格納されたフラットファイルです。次の図に、ソーストランスフォーメーションの1つを示します。
ソースオブジェクトの詳細には、接続、ソースのタイプ、入力ファイルが表示されます。

手順3.階層ビルダトランスフォーメーションの設定

階層ビルダートランスフォーメーションを追加し、NewHierarchyBuilderという名前を使用します。作成した階層スキーマを使用するようにこのトランスフォーメーションを設定します。
NewHierarchyBuilderトランスフォーメーションにソースオブジェクトを接続します。受信データをトランスフォーメーションの各フィールドにマッピングするには、NewHierarchyBuilderトランスフォーメーションを選択します。
[受信フィールド]
タブで、フィールド名の競合がないことを確認します。次の図に、入力フィールド選択を示します。
[フィールドマッピング]タブに、構造パーサー入力フィールドにマッピングできる受信フィールドが表示されます。
リレーショナルフィールドを階層出力にマッピングするには、
[フィールドマッピング]
タブでプライマリキーおよび外部キーを選択します。次に、階層出力のスキーマ要素にリンクするリレーショナルフィールドを選択します。
次の図に、フィールドマッピング選択を示します。

手順4.ターゲットを設定します

フィールドのファイルターゲットオブジェクトを追加します。
次の画像に、最終のマッピングを示します。
マッピングに、SourceLogFileソースからLogParser構造パーサートランスフォーメーションへのデータフローが表示されます。構造パーサートランスフォーメーションはターゲットTargetFileにリンクされています。

手順5.マッピングを実行します

マッピングを実行して、階層形式のデータをターゲットトランスフォーメーションに書き込みます。
次の例は、階層出力を示しています。
<Employees> <Name>First National Bank</Name> <Address>874 Louis Road</Address> <Employee> <EmployeeID>122</EmployeeID> <Department>Credit</Department> <Subdivision> <Building>6</Building> <Room>1532</Room> </Subdivision> </Employee> <Employee> <EmployeeID>261</EmployeeID> <Department>Credit</Department> <Subdivision> <Building>6</Building> <Room>2251</Room> </Subdivision> </Employee> <Employee> <EmployeeID>431</EmployeeID> <Department>Credit</Department> <Subdivision> <Building>6</Building> <Room>5312</Room> </Subdivision> </Employee> </Employees> <Employees> <Name>Jackson Industry</Name> <Address>13 Sydney Drive</Address> <Employee> <EmployeeID>3875</EmployeeID> <Department>Manufacture</Department> <Subdivision> <Building>C</Building> <Room>673</Room> </Subdivision> </Employee> <Employee> <EmployeeID>2837</EmployeeID> <Department>Manufacture</Department> <Subdivision> <Building>B</Building> <Room>211</Room> </Subdivision> </Employee> </Employees>