グループエレメントを使用してデータをマッピングする - 7.3

tXMLMap

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > 変換処理コンポーネント > tXMLMap
データガバナンス > サードパーティーシステム > 変換処理コンポーネント > tXMLMap
データクオリティとプレパレーション > サードパーティーシステム > 変換処理コンポーネント > tXMLMap

補足データを結合するためにルックアップフローを起動するをベースに、このシナリオでは、tXMLMap[Map Editor] (マップエディター)でエレメントを[group element] (グループエレメント)として設定し、出力データをグループ化する方法を示します。tXMLMapを使って出力データをグループ化する方法は、Talend Studioユーザーガイドを参照してください。

このシナリオの目的は、顧客IDと顧客名情報を顧客の出身州に従ってグループ化することです。以下のファクターを考慮して、[Customer] (顧客)出力テーブルのXMLツリービューを再構築する必要があります。

  • 顧客IDと顧客名情報をタグ付けするエレメントは、ループエレメントの下に置いてください。そうすることで、ループエレメントのサブエレメントとなります。

  • ループエレメントとそのサブエレメントは、グループエレメントに直接依存するようにしてください。

  • グループ化の条件として使用される州の情報をタグ付けするエレメントは、グループエレメントに直接依存するようにしてください。

  • グループエレメントをルートエレメントにすることはできません。

この分析をベースに、出力データのXML構造は次のようになります。customersノードがルートエレメントで、customerノードはグループエレメントとして設定され、出力データはLabelStateエレメントに従ってグループ化されます。

グループエレメントを有効にするには、処理するXMLデータをソートしておく必要があります。それには、グループ化の条件として使用するエレメントに、たとえばXMLツールを使用します。このサンプルでは、同じ州IDを持つ顧客はまとめる必要があります。XMLファイルCustomer.xml内の入力データは、次のようになります。

<?xml version="1.0" encoding="ISO-8859-15"?>
<Customers>
	<Customer RegisterTime="2001-01-17 06:26:40.000">
		<Name>
			<id>1</id>
			<CustomerName>Griffith Paving and Sealcoatin</CustomerName>
		</Name>
		<Address>
			<CustomerAddress>talend@apres91</CustomerAddress>
			<idState>2</idState>
		</Address>
		<Revenue>
			<Sum1>67852</Sum1>
		</Revenue>
	</Customer>
	<Customer RegisterTime="1987-02-23 17:33:20.000">
		<Name>
			<id>3</id>
			<CustomerName>Glenn Oaks Office Supplies</CustomerName>
		</Name>
		<Address>
			<CustomerAddress>1859 Green Bay Rd.</CustomerAddress>
			<idState>2</idState>
		</Address>
		<Revenue>
			<Sum1>1225.</Sum1>
		</Revenue>
	</Customer>
	<Customer RegisterTime="2002-06-07 09:40:00.000">
		<Name>
			<id>2</id>
			<CustomerName>Bill's Dive Shop</CustomerName>
		</Name>
		<Address>
			<CustomerAddress>511 Maple Ave. Apt. 1B</CustomerAddress>
			<idState>3</idState>
		</Address>
		<Revenue>
			<Sum1>88792</Sum1>
		</Revenue>
	</Customer>
	<Customer RegisterTime="1992-04-28 23:26:40.000">
		<Name>
			<id>4</id>
			<CustomerName>DBN Bank</CustomerName>
		</Name>
		<Address>
			<CustomerAddress>456 Grossman Ln.</CustomerAddress>
			<idState>3</idState>
		</Address>
		<Revenue>
			<Sum1>64493</Sum1>
		</Revenue>
	</Customer>
</Customers>