360
Informatica Developer (参照項目 9.1.0 HotFix 4) トランスフォーメーションガイ

Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Informatica Developer (参照項目 9.1.0 HotFix 4)

トランスフォーメーションガイド

Page 2: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Informatica Developer トランスフォーメーションガイド

参照項目 9.1.0 HotFix 43月 2012

著作権 2009-2012 Informatica. すべての権利を保留する.

本ソフトウェアおよびマニュアルには、Informatica Corporationの所有権下にある情報が収められています。これらは使用および開示の制限等を定めた使用許諾契約のもとに提供され、著作権法により保護されています。本ソフトウェアのリバースエンジニアリングは禁じられています。本マニュアルのいかなる部分も、いかなる手段(電子的複写、写真複写、録音など)によっても、Informatica Corporation の事前の承諾なしに複製または転載することは禁じられています。このソフトウェアは、米国および/または国際的な特許、およびその他の出願中の特許によって保護されています。

合衆国政府によるソフトウェアの使用、複製または開示は、DFARS 227.7202-1(a)および227.7702-3(a)(1995年)、DFARS252.227-7013(C)(1)(ii)(1988年10月)、FAR 12.212(a)(1995年)、FAR 52.227-19、またはFAR 52.227-14(ALT III)に記載されているとおりに、当該ソフトウェア使用許諾契約に定められた制限によって規制されます。

本製品または本書の情報は、予告なしに変更されることがあります。お客様が本製品または本書内に問題を発見された場合は、書面にて当社までお知らせください。

Informatica、Informatica Platform、Informatica Data Services、PowerCenter、PowerCenterRT、PowerCenter Connect、PowerCenterData Analyzer、PowerExchange、PowerMart、Metadata Manager、Informatica Data Quality、Informatica Data Explorer、InformaticaB2B Data Transformation、Informatica B2B Data Exchange、Informatica On Demand、Informatica Identity Resolution、InformaticaApplication Information Lifecycle Management、Informatica Complex Event Processing、Ultra Messaging、およびInformatica MasterData Managementは、Informatica Corporationの米国および世界中の管轄地での商標または登録商標です。その他のすべての企業名および製品名は、それぞれの企業の商標または登録商標です。

本ソフトウェアまたはドキュメントの一部は、次のサードパーティが有する著作権に従います(ただし、これらに限定されません)。Copyright DataDirect Technologies.All Rights Reserved.Copyright © Sun Microsystems.All Rights Reserved.Copyright © RSASecurity Inc. All Rights Reserved.Copyright © Ordinal Technology Corp. All rights reserved. Copyright © Aandacht c.v. Allrights reserved. Copyright Genivia, Inc. All rights reserved. Copyright Isomorphic Software. All Rights Reserved.Copyright ©

Meta Integration Technology, Inc. All rights reserved. Copyright © Intalio. All Rights Reserved.Copyright © Oracle. AllRights Reserved.Copyright © Adobe Systems Incorporated. All Rights Reserved.Copyright © DataArt, Inc. All rights reserved.Copyright © ComponentSource. All Rights Reserved.Copyright © Microsoft Corporation. All Rights Reserved.Copyright (C) RogueWave Software, Inc. All rights reserved. Copyright © Teradata Corporation. All Rights Reserved.Copyright © Yahoo! Inc. Allrights reserved. Copyright © Glyph & Cog, LLC. All Rights Reserved.Copyright (C) Thinkmap, Inc. All rights reserved. Copyright(C) Clearpace Software Limited. All Rights Reserved.Copyright (C) Information Builders, Inc. All rights reserved. Copyright(C) OSS Nokalva, Inc. All rights reserved. Copyright Edifecs, Inc. All rights reserved. Copyright Cleo Communications, Inc.All rights reserved.Copyright © International Organization for Standardization 1986. All Rights Reserved.Copyright © ej-technologies GmbH . All Rights Reserved.Copyright © Jaspersoft Corporation. All Rights Reserved.

本製品には、Apache Software Foundation(http://www.apache.org/)によって開発されたソフトウェア、およびApache License, Version2.0(「ライセンス」)の下に許諾されたその他のソフトウェアが含まれています。ライセンスのコピーはhttp://www.apache.org/licenses/LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェアは「現状のまま」で配布され、明示的あるいは黙示的かを問わず、いかなる種類の保証も行われません。ライセンス下での許諾および制限を定める具体的文言については、ライセンスを参照してください。

本製品には、Mozilla(http://www.mozilla.org/)によって開発されたソフトウェア、ソフトウェアcopyright The JBoss Group, LLC, allrights reserved、ソフトウェアcopyright, Red Hat Middleware, LLC, all rights reserved、Copyright © 1999-2006 by Bruno Lowagieand Paulo SoaresおよびGNU Lesser General Public License Agreement(http://www.gnu.org/licenses/lgpl.htmlを参照)に基づいて許諾されたその他のソフトウェアが含まれています。資料は、Informaticaが無料で提供しており、一切の保証を伴わない「現状渡し」で提供されるものとし、Informatica Corporationは市場性および特定の目的の適合性の黙示の保証などを含めて、一切の明示的及び黙示的保証の責任を負いません。

>製品には、ワシントン大学、カリフォルニア大学アーバイン校、およびバンダービルト大学のDouglas C.Schmidtおよび同氏のリサーチグループが著作権を持つACE(TM)およびTAO(TM)ソフトウェアが含まれています。Copyright © 1993-2006, all rights reserved.

本製品には、OpenSSL Toolkitを使用するためにOpenSSL Projectが開発したソフトウェア(copyright The OpenSSL Project.All RightsReserved)が含まれています。また、このソフトウェアの再配布は、http://www.openssl.orgおよびhttp://www.openssl.org/source/license.htmlにある使用条件に従います。

本ソフトウェアには、CurlソフトウェアCopyright 1996-2007, Daniel Stenberg, <[email protected]>が含まれます。All Rights Reserved.本ソフトウェアに関する許諾および制限は、http://curl.haxx.se/docs/copyright.htmlにある使用条件に従います。すべてのコピーに上記の著作権情報とこの許諾情報が記載されている場合、目的に応じて、本ソフトウェアの使用、コピー、変更、ならびに配布が有償または無償で許可されます。

本製品には、ソフトウェアcopyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.が含まれます。本ソフトウェアに関する許諾および制限は、http://www.dom4j.org/license.htmlにある使用条件に従います。

製品には、ソフトウェアcopyright (C) 2004-2007, The Dojo Foundationが含まれます。All Rights Reserved.本ソフトウェアに関する許諾および制限は、http://dojotoolkit.org/licenseにある使用条件に従います。

本製品には、ICUソフトウェアcopyright International Business Machines Corporationおよび他のソフトウェアが含まれます。All RightsReserved.本ソフトウェアに関する許諾および制限は、http://source.icu-project.org/repos/icu/icu/trunk/license.htmlにある使用条件に従います。

本製品には、ソフトウェアcopyright © 1996-2006 Per Bothnerが含まれます。All Rights Reserved.お客様がこのようなソフトウェアを使用するための権利は、ライセンスで規定されています。http://www.gnu.org/software/kawa/Software-License.htmlを参照してください。

本製品には、OSSP UUIDソフトウェアCopyright (C) 2002 Ralf S. Engelschall, Copyright (C) 2002 The OSSP Project Copyright (C)2002 Cable & Wireless Deutschlandが含まれます。本ソフトウェアに関する許諾および制限は、http://www.opensource.org/licenses/mit-license.phpにある使用条件に従います。

Page 3: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

本製品には、Boost(http://www.boost.org/)によって開発されたソフトウェアまたはBoostソフトウェアライセンスの下で開発されたソフトウェアが含まれています。本ソフトウェアに関する許諾および制限は、http://www.boost.org/LICENSE_1_0.txtにある使用条件に従います。

本製品には、ソフトウェアcopyright © 1997-2007 University of Cambridgeが含まれます。本ソフトウェアに関する許諾および制限は、http://www.pcre.org/license.txtにある使用条件に従います。

本製品には、ソフトウェアcopyright (C) 2007 The Eclipse Foundationが含まれます。All Rights Reserved.本ソフトウェアに関する許諾および制限は、http://www.eclipse.org/org/documents/epl-v10.phpにある使用条件に従います。

本製品には、http://www.tcl.tk/software/tcltk/license.html、http://www.bosrup.com/web/overlib/?License、http://www.stlport.org/doc/license.html、http://www.asm.ow2.org/license.html、http://www.cryptix.org/LICENSE.TXT、http://hsqldb.org/web/hsqlLicense.html、http://httpunit.sourceforge.net/doc/license.html、http://jung.sourceforge.net/license.txt、http://www.gzip.org/zlib/zlib_license.html、http://www.openldap.org/software/release/license.html、http://www.libssh2.org、http://slf4j.org/license.html、http://www.sente.ch/software/OpenSourceLicense.html、http://fusesource.com/downloads/license-agreements/fuse-message-broker-v-5-3-license-agreement、http://antlr.org/license.html、http://aopalliance.sourceforge.net/、http://www.bouncycastle.org/licence.html、http://www.jgraph.com/jgraphdownload.html、http://www.jcraft.com/jsch/LICENSE.txt、http://jotm.objectweb.org/bsd_license.html、http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231、http://www.slf4j.org/license.html、http://developer.apple.com/library/mac/#samplecode/HelpHook/Listings/HelpHook_java.html、http://www.jcraft.com/jsch/LICENSE.txt、http://nanoxml.sourceforge.net/orig/copyright.html、http://www.json.org/license.html、http://forge.ow2.org/projects/javaservice/、http://www.postgresql.org/about/licence.html、http://www.sqlite.org/copyright.html、http://www.tcl.tk/software/tcltk/license.html、http://www.jaxen.org/faq.html、http://www.jdom.org/docs/faq.html、およびhttp://www.slf4j.org/license.htmlの条項の下に許諾されたソフトウェアが含まれています。

本製品には、Academic Free License(http://www.opensource.org/licenses/afl-3.0.php)、Common Development Distribution License(http://www.opensource.org/licenses/cddl1.php)、Common Public License(http://www.opensource.org/licenses/cpl1.0.php)、SunBinary Code License Agreement Supplemental License Terms、BSD License(http://www.opensource.org/licenses/bsd-license.php)、MIT License(http://www.opensource.org/licenses/mit-license.php)、およびArtistic License(http://www.opensource.org/licenses/artistic-license-1.0)に基づいて許諾されたソフトウェアが含まれています。

本製品には、ソフトウェアcopyright © 2003-2006 Joe WaInes, 2006-2007 XStream Committersが含まれています。All Rights Reserved.本ソフトウェアに関する許諾および制限は、http://j.org/license.htmlにある使用条件に従います。本製品には、Indiana UniversityExtreme! Labによって開発されたソフトウェアが含まれています。詳細については、http://www.extreme.indiana.edu/を参照してください。

本ソフトウェアは、米国の特許番号5,794,246、6,014,670、6,016,501、6,029,178、6,032,158、6,035,307、6,044,374、6,092,086、6,208,990、6,339,775、6,640,226、6,789,096、6,820,077、6,823,373、6,850,947、6,895,471、7,117,215、7,162,643、7,254,590、7,281,001、7,421,458、7,496,588、7,523,121、7,584,422、7,720,842、7,721,270、および7,774,791、および国際的な特許、ならびにその他の出願中の特許によって保護されています。

免責: 本文書は、一切の保証を伴わない「現状渡し」で提供されるものとし、Informatica Corporationは他社の権利の非侵害、市場性および特定の目的への適合性の黙示の保証などを含めて、一切の明示的および黙示的保証の責任を負いません。Informatica Corporationでは、本ソフトウェアまたはドキュメントに誤りのないことを保証していません。本ソフトウェアまたはドキュメントに記載されている情報には、技術的に不正確な記述や誤植が含まれる場合があります。本ソフトウェアまたはドキュメントの情報は、予告なしに変更されることがあります。

特記事項

このInformatica製品(以下「ソフトウェア」)には、Progress Software Corporation(以下「DataDirect」)の事業子会社であるDataDirect Technologiesからの特定のドライバ(以下「DataDirectドライバ」)が含まれています。DataDirectドライバには、次の用語および条件が適用されます。

1.DataDirectドライバは、特定物として現存するままの状態で提供され、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保

責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任

の制限が禁じられる場合、強行規定の制限を受けるものとします。

2.DataDirectまたは第三者は、予見の有無を問わず発生したODBCドライバの使用に関するいかなる直接的、間接的、偶発的、特別、ある

いは結果的損害に対して責任を負わないものとします。本制限事項は、すべての訴訟原因に適用されます。訴訟原因には、契約違反、保

証違反、過失、厳格責任、詐称、その他の不法行為を含みますが、これらに限るものではありません。

Part Number: IN-TG-91000-HF4-0001

Page 4: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

目次

序文............................................. xvi

Informaticaのリソース. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Informaticaカスタマポータル. . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Informaticaのマニュアル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

InformaticaのWebサイト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Informatica How-To Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

Informatica Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

Informatica Multimedia Knowledge Base. . . . . . . . . . . . . . . . . . . . xvii

Informaticaグローバルカスタマサポート. . . . . . . . . . . . . . . . . . . . xvii

第 1 章 : トランスフォーメーションに関する作業..... 1

トランスフォーメーションに関する作業の概要. . . . . . . . . . . . . . . . . . . . . . 1

アクティブなトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . 1

パッシブなトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . 2

複数ストラテジのトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . 2

トランスフォーメーションの説明. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

トランスフォーメーションの開発. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

再利用可能なトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . 6

再利用可能なトランスフォーメーションのインスタンスと継承される変

更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

再利用可能なトランスフォーメーションの編集. . . . . . . . . . . . . . . . . . . 7

トランスフォーメーションの式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

式エディタ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

式内のポート名. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

ポートへの式の追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

式内のコメント. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

式の検証. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

参照データ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

参照データのタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

コンテンツセット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

文字セット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

パターンセット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

正規表現. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

トークンセット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

コンテンツセットの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

再利用可能なコンテンツ式の作成. . . . . . . . . . . . . . . . . . . . . . . . . . . 16

目次 i

Page 5: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トランスフォーメーションの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

第 2 章 : アドレスバリデータトランスフォーメーション................................................ 18

アドレスバリデータトランスフォーメーションの概要. . . . . . . . . . . . . . . . . 18

アドレスバリデータトランスフォーメーションの入力ポートグループ. . . . . . . 20

アドレスバリデータトランスフォーメーションの出力ポートグループ. . . . . . . 21

複数インスタンスのポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

アドレス検証プロジェクト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

フォーマットされたアドレスと郵便事業者の住所表記基準. . . . . . . . . . . . . . 23

アドレスバリデータのステータスポート. . . . . . . . . . . . . . . . . . . . . . . . . . 24

[要素入力のステータス]出力ポートの値. . . . . . . . . . . . . . . . . . . . . 25

[要素の関連性]出力ポートの値. . . . . . . . . . . . . . . . . . . . . . . . . . . 27

[要素の結果ステータス]出力ポートの値. . . . . . . . . . . . . . . . . . . . . 28

MailabilityScore出力ポートの値. . . . . . . . . . . . . . . . . . . . . . . . . . . 30

MatchCode出力ポートの値. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

GeoCodingStatus出力ポートの値. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

アドレス参照データファイルのステータス. . . . . . . . . . . . . . . . . . . . . . . . 33

アドレスバリデータトランスフォーメーションの詳細プロパティ. . . . . . . . . . 34

大文字小文字表記. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

国. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

国のタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

デフォルトの国. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

要素の略式表記. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

実行インスタンス数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

入力形式の種類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

国を含む入力形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

行セパレータ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

一致する代替用語. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

一致するスコープ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

モード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

適化レベル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

出力形式の種類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

国を含む出力形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

優先される言語. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

優先されるスクリプト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

アドレスバリデータトランスフォーメーションの全般設定. . . . . . . . . . . . . . 42

提案リストモード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

認証レポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

AMASレポートのフィールド. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

ii 目次

Page 6: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

CASSレポートのフィールド. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

SERPレポートのフィールド. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

アドレスバリデータトランスフォーメーションの設定. . . . . . . . . . . . . . . . . 46

アドレスバリデータトランスフォーメーションへのポートの追加. . . . . . . . . . 47

ユーザー定義テンプレートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

アドレスバリデータのモデルの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

認証レポートの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

第 3 章 : アグリゲータトランスフォーメーション................................................ 50

アグリゲータトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . 50

アグリゲータトランスフォーメーションの開発. . . . . . . . . . . . . . . . . . . . . 51

アグリゲータトランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . . 51

アグリゲータトランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . 52

集計キャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

集計式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

集計関数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

ネストされた集計関数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

集計式の条件句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Group Byポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

非集計式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Group Byポートのデフォルト値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

アグリゲータトランスフォーメーションの[ソート済み入力]オプション. . . . 56

[ソート済み入力]オプションの条件. . . . . . . . . . . . . . . . . . . . . . . . 57

アグリゲータトランスフォーメーションでのデータのソート. . . . . . . . . . 57

再利用可能なアグリゲータトランスフォーメーションの作成. . . . . . . . . . . . . 58

再利用不可能なアグリゲータトランスフォーメーションの作成. . . . . . . . . . . 59

アグリゲータトランスフォーメーションに関するヒント. . . . . . . . . . . . . . . . 59

アグリゲータトランスフォーメーションのトラブルシューティング. . . . . . . . 60

第 4 章 : 関連付けトランスフォーメーション........ 61

関連付けトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . 61

メモリ割り当て. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

第 5 章 : 大文字小文字変換プログラムトランスフォーメーション...................................... 64

大文字小文字変換プログラムトランスフォーメーションの概要. . . . . . . . . . . 64

大文字小文字ストラテジのプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . 65

大文字小文字変換プログラムストラテジの設定. . . . . . . . . . . . . . . . . . . . . 65

目次 iii

Page 7: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 6 章 : 比較トランスフォーメーション............ 67

比較トランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . 67

フィールド一致ストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

バイグラム. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

ハミング距離. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

エディット距離. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Jaro距離. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

ハミング距離の反転. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

IDマッチングストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

比較ストラテジの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

第 7 章 : 統合トランスフォーメーション............ 72

統合トランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . 72

統合マッピング. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Consolidationトランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . 73

統合トランスフォーメーションのビュー. . . . . . . . . . . . . . . . . . . . . . . . . . 74

統合トランスフォーメーションの[ストラテジ]ビュー. . . . . . . . . . . . . 74

統合トランスフォーメーションの[詳細]ビュー. . . . . . . . . . . . . . . . . 74

キャッシュファイルサイズ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

単純ストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

行ベースストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

詳細ストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

単純な統合関数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

CONSOL_AVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

CONSOL_LONGEST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

CONSOL_MAX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

CONSOL_MIN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

CONSOL_MOSTFREQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

CONSOL_MOSTFREQ_NB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

CONSOL_SHORTEST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

行ベースの統合関数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

CONSOL_GETROWFIELD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

CONSOL_MODALEXACT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

CONSOL_MOSTDATA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

CONSOL_MOSTFILLED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

統合マッピングの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

入力. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

キージェネレータトランスフォーメーション. . . . . . . . . . . . . . . . . . . . 88

統合トランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

iv 目次

Page 8: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

統合マッピング出力. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

統合トランスフォーメーションの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . 89

第 8 章 : カスタムデータトランスフォーメーション................................................ 90

カスタムデータトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . 90

Data Transformationの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

カスタムデータトランスフォーメーションのビュー. . . . . . . . . . . . . . . . . . 91

[概要]ビュー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

[サービス]ビュー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

[構造]ビュー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

[詳細]ビュー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

ポート設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

入力タイプおよび出力タイプ別のポート. . . . . . . . . . . . . . . . . . . . . . . 97

追加のポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Data Transformationサービスからのポートの作成. . . . . . . . . . . . . . . . 99

カスタムデータトランスフォーメーションの作成. . . . . . . . . . . . . . . . . . . . 99

第 9 章 : データマスキングトランスフォーメーション............................................... 102

データマスキングトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . 102

マスキング方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

キーマスキング. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

ランダムマスキング. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

マスキングルール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

マスク形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

ソース文字列の文字. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

結果文字列の置換文字. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

範囲. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

ブラー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

特殊マスク形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

社会保障番号. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

電子メールアドレス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

クレジットカード番号. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

電話番号. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

URL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

IPアドレス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

社会保険番号. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

デフォルト値ファイル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

データマスキングトランスフォーメーションの設定. . . . . . . . . . . . . . . . . . 115

目次 v

Page 9: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

データマスキングトランスフォーメーションの作成. . . . . . . . . . . . . . . 115

ポートの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

各ポートのデータマスキングの設定. . . . . . . . . . . . . . . . . . . . . . . . . 116

マスクされたデータのプレビュー. . . . . . . . . . . . . . . . . . . . . . . . . . 117

データマスキングの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Read_Customer Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

カスタマデータマスキングトランスフォーメーション. . . . . . . . . . . . . 118

カスタマテストデータ結果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

第 10 章 : ディシジョントランスフォーメーション............................................... 120

ディシジョントランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . 120

ディシジョントランスフォーメーションの関数. . . . . . . . . . . . . . . . . . . . . 121

ディシジョントランスフォーメーションの条件文 . . . . . . . . . . . . . . . . . . 123

ディシジョントランスフォーメーションの演算子. . . . . . . . . . . . . . . . . . . 123

ディシジョンストラテジの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

第 11 章 : 例外トランスフォーメーション.......... 126

例外トランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . . 126

例外管理プロセスフロー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

不良レコードの例外. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

不良レコードの例外の品質に関する問題. . . . . . . . . . . . . . . . . . . . . . 128

不良レコードの例外トランスフォーメーションの入力. . . . . . . . . . . . . 129

不良レコードの例外トランスフォーメーションの出力. . . . . . . . . . . . . 129

不良レコードの例外の[設定]ビュー. . . . . . . . . . . . . . . . . . . . . . . 130

不良レコードの例外の[問題の割り当て]ビュー. . . . . . . . . . . . . . . . 130

不良レコードの例外マッピング. . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

不良レコードの例外マッピングの例. . . . . . . . . . . . . . . . . . . . . . . . . 132

重複している可能性のあるレコードの例外. . . . . . . . . . . . . . . . . . . . . . . 133

重複レコードの例外のクラスタ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

重複レコードの例外トランスフォーメーションの入力. . . . . . . . . . . . . 134

重複レコードの例外トランスフォーメーションの出力. . . . . . . . . . . . . 135

重複レコードの例外トランスフォーメーションの[設定]ビュー. . . . . . 135

重複レコードの例外マッピング. . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

重複レコードの例外マッピングの例. . . . . . . . . . . . . . . . . . . . . . . . . 137

例外トランスフォーメーションの設定. . . . . . . . . . . . . . . . . . . . . . . . . . 139

第 12 章 : 式トランスフォーメーション............. 141

式トランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

式トランスフォーメーションの開発. . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

vi 目次

Page 10: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

式トランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . . . . . . . . 142

式トランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . . . . . . . . 143

第 13 章 : フィルタトランスフォーメーション..... 144

フィルタトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . 144

フィルタトランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . . . 145

フィルタ条件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

NULL値を含む行のフィルタ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

フィルタトランスフォーメーションのパフォーマンスのヒント. . . . . . . . . . 146

第 14 章 : Javaトランスフォーメーション......... 147

Javaトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . . 147

再利用可能および再利用不可能なJavaトランスフォーメーション. . . . . . 148

アクティブJavaトランスフォーメーションとパッシブJavaトランスフォ

ーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

データ型変換. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Javaトランスフォーメーションの設計. . . . . . . . . . . . . . . . . . . . . . . . . . 150

Javaトランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . . . . . . . 151

ポートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

デフォルトポート値の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Javaトランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . . . . . . 152

Developerツールクライアントのクラスパスの設定. . . . . . . . . . . . . . . 154

Data Integration Serviceのクラスパスの設定. . . . . . . . . . . . . . . . . 155

Javaコードの開発. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Javaコードスニペットの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Javaパッケージのインポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Helperコードの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

JavaトランスフォーメーションのJavaのプロパティ. . . . . . . . . . . . . . . . . . 160

[インポート]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

[ヘルパ]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

[入力時]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

[ 後]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

[関数]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

[コード全体]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Javaトランスフォーメーションの作成. . . . . . . . . . . . . . . . . . . . . . . . . . 163

再利用可能なJavaトランスフォーメーションの作成. . . . . . . . . . . . . . . 163

再利用不可能なJavaトランスフォーメーションの作成. . . . . . . . . . . . . 163

Javaトランスフォーメーションのコンパイル. . . . . . . . . . . . . . . . . . . . . . 164

Javaトランスフォーメーションのトラブルシューティング. . . . . . . . . . . . . 165

コンパイルエラーのソースの検出. . . . . . . . . . . . . . . . . . . . . . . . . . 165

目次 vii

Page 11: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

コンパイルエラーの原因の特定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

第 15 章 : JavaトランスフォーメーションAPIのリファレンス......................................... 167

JavaトランスフォーメーションAPIメソッドの概要. . . . . . . . . . . . . . . . . . 167

defineJExpression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

failSession. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

generateRow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

getInRowType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

incrementErrorCount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

invokeJExpression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

isNull. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

logError. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

logInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

resetNotification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

setNull. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

第 16 章 : Java式................................ 177

Java式の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

式の関数タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

[関数の定義]ダイアログボックスを使用した式の定義. . . . . . . . . . . . . . . 178

手順1. 関数の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

手順2. 式の作成と検証. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

手順3. 式のJavaコードの生成. . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

[関数の定義]ダイアログボックスを使用した式の作成とJavaコードの

生成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

Java式のテンプレート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

単純なインタフェースに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

invokeJExpression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

単純なインタフェースの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

高度なインタフェースに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

高度なインタフェースを使用した式の呼び出し. . . . . . . . . . . . . . . . . . 182

高度なインタフェースに関する作業のルールとガイドライン. . . . . . . . . 183

EDataTypeクラス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

JExprParamMetadataクラス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

defineJExpression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

JExpressionクラス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

高度なインタフェースの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

JExpressionクラスAPIリファレンス. . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

getBytes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

viii 目次

Page 12: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

getDouble. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

getInt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

getLong. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

getResultDataType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

getResultMetadata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

getStringBuffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

呼び出し. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

isResultNull. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

第 17 章 : ジョイナトランスフォーメーション..... 191

ジョイナトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . 191

ジョイナトランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . . . 192

ジョイナトランスフォーメーションポート. . . . . . . . . . . . . . . . . . . . . . . 193

結合条件の定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

単純条件タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

詳細条件タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

結合タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

ノーマル結合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

マスタ外部結合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

明細外部結合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

完全外部結合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

ジョイナトランスフォーメーションでのソート済み入力. . . . . . . . . . . . . . . 197

ソート順の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

マッピングへのトランスフォーメーションの追加. . . . . . . . . . . . . . . . 198

結合条件のルールとガイドライン. . . . . . . . . . . . . . . . . . . . . . . . . . 199

結合条件とソート順の例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

同じソースのデータの結合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

同じパイプラインの2つのブランチの結合. . . . . . . . . . . . . . . . . . . . . 200

同じソースの2つのインスタンスの結合. . . . . . . . . . . . . . . . . . . . . . . 201

同じソースのデータ結合のガイドライン. . . . . . . . . . . . . . . . . . . . . . 201

ソースパイプラインのブロック. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

未ソートジョイナトランスフォーメーション. . . . . . . . . . . . . . . . . . . 202

ソート済みジョイナトランスフォーメーション. . . . . . . . . . . . . . . . . . 202

ジョイナトランスフォーメーションのパフォーマンスのヒント. . . . . . . . . . 203

ジョイナトランスフォーメーションのルールとガイドライン. . . . . . . . . . . . 204

第 18 章 : キージェネレータトランスフォーメーション............................................... 205

キージェネレータトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . 205

Soundexストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

目次 ix

Page 13: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Soundexストラテジのプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . 206

文字列ストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

文字列ストラテジのプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

NYSIISストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

キージェネレータの出力ポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

グループ化ストラテジの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

キー作成のプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

第 19 章 : ラベラトランスフォーメーション........ 210

ラベラトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . 210

ラベラトランスフォーメーションのストラテジ. . . . . . . . . . . . . . . . . . . . . 211

ラベラトランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . . . . . 211

文字ラベル適用操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

文字セット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

文字ラベル適用のプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

トークンラベル適用操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

トークンセット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

正規表現. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

トークンラベル適用のプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . 214

ラベル適用ストラテジの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

第 20 章 : ルックアップトランスフォーメーション............................................... 217

ルックアップトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . 217

接続されたルックアップと接続されていないルックアップ. . . . . . . . . . . . . 218

接続されたルックアップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

接続されていないルックアップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

ルックアップトランスフォーメーションの開発. . . . . . . . . . . . . . . . . . . . . 220

ルックアップ条件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

ルックアップトランスフォーメーションの条件のルールとガイドライ

ン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

ルックアップキャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

共有キャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

永続キャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

フラットファイルまたはリレーショナルルックアップの ランタイムプロパテ

ィ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

フラットファイルルックアップトランスフォーメーションの詳細プロパティ. . 225

リレーショナルルックアップトランスフォーメーションの詳細プロパティ. . . 226

論理データオブジェクトのルックアップトランスフォーメーションの詳細プ

ロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

再利用可能なルックアップトランスフォーメーションの作成. . . . . . . . . . . . 228

x 目次

Page 14: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

再利用不可能なルックアップトランスフォーメーションの作成. . . . . . . . . . 229

接続されていないルックアップトランスレーションの作成. . . . . . . . . . . . . 230

接続されていないルックアップの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

第 21 章 : 一致トランスフォーメーション.......... 234

一致トランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . . 234

重複分析の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

一致トランスフォーメーションのプロセス. . . . . . . . . . . . . . . . . . . . . . . 236

一致トランスフォーメーションのコンポーネント. . . . . . . . . . . . . . . . . . . 237

一致トランスフォーメーションのビュー. . . . . . . . . . . . . . . . . . . . . . 237

一致トランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . . . . 237

フィールド一致. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

フィールド一致ストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

フィールド一致ストラテジのプロパティ. . . . . . . . . . . . . . . . . . . . . . 241

フィールド一致出力のプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . 242

デュアルソースのフィールド一致プロパティ. . . . . . . . . . . . . . . . . . . 243

フィールド一致の詳細プロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . 243

ID一致. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

ID一致タイプのプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

IDマッチングストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

ID一致ストラテジのプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

ID一致出力のプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

IDマッチングの詳細プロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

一致マプレット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

一致マプレットの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

一致マプレットの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

一致操作の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

第 22 章 : マージトランスフォーメーション........ 252

マージトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . 252

マージストラテジの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

第 23 章 : パーサートランスフォーメーション..... 254

パーサートランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . 254

パーサートランスフォーメーションの設計. . . . . . . . . . . . . . . . . . . . . . . 255

トークン解析モード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

正規表現. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

トークンセット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

トークン解析ポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

トークン解析のプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

目次 xi

Page 15: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トークン解析ストラテジの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

パターンベースの解析モード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

パターンセット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

パターンベースの解析ポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

解析パターンの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

第 24 章 : ランクトランスフォーメーション........ 261

ランクトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . 261

文字列値のランク付け. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

ランクキャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

ランクトランスフォーメーションのプロパティ. . . . . . . . . . . . . . . . . . 262

ランクトランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . . . . . 263

ランクポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

ランクインデックス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

グループの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

ランクトランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . . . . . 265

第 25 章 : ルータトランスフォーメーション........ 267

ルータトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . 267

グループに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

入力グループ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

出力グループ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

グループフィルタ条件の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

グループの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

ポートに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

マッピング内のルータトランスフォーメーションの接続. . . . . . . . . . . . . . . 271

ルータトランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . . . . . 271

第 26 章 : ソータートランスフォーメーション..... 273

ソータートランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . 273

ソータートランスフォーメーションの開発. . . . . . . . . . . . . . . . . . . . . . . 274

ソータートランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . . . 274

ソータキャッシュサイズ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

ソータートランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . . . . 276

ソータートランスフォーメーションの作成. . . . . . . . . . . . . . . . . . . . . . . 277

再利用可能なソータートランスフォーメーションの作成. . . . . . . . . . . . 277

再利用不可能なソータートランスフォーメーションの作成. . . . . . . . . . 277

ソータートランスフォーメーションの例. . . . . . . . . . . . . . . . . . . . . . . . . 278

xii 目次

Page 16: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 27 章 : SQLトランスフォーメーション........... 279

SQLトランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . 279

詳細プロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

SQLトランスフォーメーションのポート. . . . . . . . . . . . . . . . . . . . . . . . . . 281

入力ポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

出力ポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

パススルーポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

SQLErrorポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

影響を受けた行の数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

SQLトランスフォーメーションクエリ. . . . . . . . . . . . . . . . . . . . . . . . . . . 284

SQLクエリの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

入力行と出力行のカーディナリティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

クエリ文の処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

ポート設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

大出力行数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

エラー行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

SQLエラー時に続行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

SQLトランスフォーメーションの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

論理データオブジェクトマッピング. . . . . . . . . . . . . . . . . . . . . . . . . 290

Salaryテーブル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Employeeテーブル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

SQLトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

出力. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

第 28 章 : 標準化トランスフォーメーション........ 295

標準化トランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . 295

標準化ストラテジ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

標準化のプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

標準化ストラテジの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

第 29 章 : 共有体トランスフォーメーション........ 298

共有体トランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . . . 298

グループおよびポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

共有体トランスフォーメーションの詳細プロパティ. . . . . . . . . . . . . . . . . . 299

共有体トランスフォーメーションの処理. . . . . . . . . . . . . . . . . . . . . . . . . 300

共有体トランスフォーメーションの作成. . . . . . . . . . . . . . . . . . . . . . . . . 300

再利用可能な共有体トランスフォーメーションの作成. . . . . . . . . . . . . 300

再利用不可能な共有体トランスフォーメーションの作成. . . . . . . . . . . . 301

目次 xiii

Page 17: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 30 章 : アップデートストラテジトランスフォーメーション......................................... 302

アップデートストラテジトランスフォーメーションの概要. . . . . . . . . . . . . 302

アップデートストラテジの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

マッピング内の行のフラグ設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

アップデートストラテジ式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

アップデートストラテジトランスフォーメーションの詳細プロパテ

ィ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

アグリゲータトランスフォーメーションとアップデートストラテジトラ

ンスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

個々のターゲットに対する更新オプションの指定. . . . . . . . . . . . . . . . . . . 305

第 31 章 : Webサービスコンシューマトランスフォーメーション....................................... 307

Webサービスコンシューマトランスフォーメーションの概要. . . . . . . . . . . . . 307

SOAPメッセージ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

WSDLファイル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

Webサービスのセキュリティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

WSDLの選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

Webサービスコンシューマトランスフォーメーションのポート. . . . . . . . . . . 310

HTTPヘッダー入力ポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

その他の入力ポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Webサービスコンシューマトランスフォーメーションの入力マッピング. . . . . . 312

入力ポートをノードにマップするためのルールとガイドライン. . . . . . . 313

[ビューのカスタマイズ]のオプション. . . . . . . . . . . . . . . . . . . . . . 313

操作入力への入力ポートのマッピング. . . . . . . . . . . . . . . . . . . . . . . 314

Webサービスコンシューマトランスフォーメーションの出力マッピング. . . . . . 315

ノードを出力ポートにマップするためのルールとガイドライン. . . . . . . 316

SOAPメッセージをXMLとしてマップ . . . . . . . . . . . . . . . . . . . . . . . . . 316

[ビューのカスタマイズ]のオプション. . . . . . . . . . . . . . . . . . . . . . 316

出力ポートへの操作出力のマッピング. . . . . . . . . . . . . . . . . . . . . . . 317

Webサービスコンシューマトランスフォーメーションの詳細プロパティ. . . . . 319

Webサービスのエラー処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

メッセージの圧縮 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

Webサービスコンシューマトランスフォーメーションの作成. . . . . . . . . . . . . 322

Webサービスコンシューマトランスフォーメーションの例. . . . . . . . . . . . . . 324

入力ファイル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

論理データオブジェクトモデル. . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

論理データオブジェクトマッピング. . . . . . . . . . . . . . . . . . . . . . . . . 325

xiv 目次

Page 18: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Webサービスコンシューマトランスフォーメーション. . . . . . . . . . . . . . 326

第 32 章 : 加重平均トランスフォーメーション..... 328

加重平均トランスフォーメーションの概要. . . . . . . . . . . . . . . . . . . . . . . 328

付録 A : トランスフォーメーションの区切り文字. . . 330

トランスフォーメーションの区切り文字の概要. . . . . . . . . . . . . . . . . . . . . 330

索引............................................. 332

目次 xv

Page 19: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

序文

『Informatica Developerトランスフォーメーションガイド』は、データ品質とデータサー

ビスの開発者を対象としています。 本書では、データ品質の概念、フラットファイルとリ

レーショナルデータベースの概念、および作業環境のデータベースエンジンについて理解

していることを前提としています。また、『Informatica Developerユーザーガイド』で説

明されている概念について理解していることも前提となります。

Informaticaのリソース

Informaticaカスタマポータル

Informaticaのユーザーとして、Informaticaカスタマポータルサイト

(http://mysupport.informatica.com)にアクセスできます。このサイトには、製品情

報、ユーザーグループ情報、ニュースレター、Informaticaカスタマサポート事例管理シス

テム(ATLAS)へのアクセス、Informatica How-To Library、Informatica Knowledge

Base、Informatica Product Documentation、Informaticaユーザーグループコミュニティ

へのアクセスが含まれています。

Informaticaのマニュアル

Informaticaのマニュアルチームは、正確で役に立つマニュアルの作成に努めています。こ

のマニュアルに関する質問、コメント、ご意見の電子メールの送付先は、Informaticaマニ

ュアルチーム([email protected])です。 お客様のフィードバック

は、マニュアルの改良に利用させていただきます。コメントに返信をご希望のお客様は、

その旨をお知らせください。

マニュアルチームは、必要に応じてマニュアルを更新します。製品の 新のマニュアルを

入手するには、http://mysupport.informatica.comから製品マニュアルにアクセスしま

す。

InformaticaのWebサイト

Informatica社のWebサイトは、http://www.informatica.comからアクセスできます。この

サイトでは、Informatica社の概要と沿革、今後のイベント、営業拠点などの情報を提供し

ています。また、製品情報やパートナー情報もあります。サービス関連のページには、テ

xvi

Page 20: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

クニカルサポート、トレーニングと教育、および実装に関するサービスの重要な情報を掲

載しています。

Informatica How-To Library

Informaticaのユーザーとして、Informatica How-To Library

(http://mysupport.informatica.com)にアクセスできます。How-To Libraryは、

Informaticaの製品および機能についての詳細を確認できるリソースのコレクションです。

一般的な問題に対するソリューションを提供したり、機能や動作を比較したり、特定の実

際のタスクを実行するための方法を示したりする記事やインタラクティブなデモンストレ

ーションが含まれています。

Informatica Knowledge Base

Informaticaのユーザーとして、Informatica Knowledge Base

(http://mysupport.informatica.com)にアクセスできます。このKnowledge Baseを利用

して、Informatica製品に関する既知の技術的問題の解決策を検索することができます。ま

た、FAQ(よくある質問)の答え、技術的ホワイトペーパー、技術的なヒントも得られま

す。Knowledge Baseに関する質問、コメント、ご意見の電子メールの送付先は、

Informatica Knowledge Baseチーム([email protected])です。

Informatica Multimedia Knowledge Base

Informaticaのユーザとして、Informatica Multimedia Knowledge Base

(http://mysupport.informatica.com)にアクセスできます。Multimedia Knowledge

Baseは、一般的な概念の理解を助け、具体的な各タスクの実行をガイドする教育用のマル

チメディアファイルの集まりです。 Multimedia Knowledge Baseに関する質問、コメン

ト、ご意見の電子メールの送付先は、Informatica Knowledge Baseチーム

[email protected])です。

Informaticaグローバルカスタマサポート

電話、またはオンラインサポートからカスタマサポートセンターに連絡できます。 オンラ

インサポートのご利用には、ユーザ名とパスワードが必要です。

http://mysupport.informatica.comから、ユーザー名とパスワードが入手できます。

電話によるInformaticaグローバルカスタマサポートへの問い合わせ先は次のとおりです。

北米/南米 ヨーロッパ/中東/アフ

リカ

アジア/オーストラ

リア

フリーダイヤル

ブラジル: 0800 891

0202

メキシコ: 001 888 209

8853

北米: +1 877 463 2435

フリーダイヤル

フランス: 0805 804632

ドイツ: 0800 5891281

イタリア: 800 915 985

オランダ: 0800 2300001

ポルトガル: 800 208 360

スペイン: 900 813 166

フリーダイヤル

オーストラリア: 1

800 151 830

ニュージーランド:

09 9 128 901

はじめに xvii

Page 21: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

北米/南米 ヨーロッパ/中東/アフ

リカ

アジア/オーストラ

リア

スイス: 0800 463 200

英国: 0800 023 4632

有料(標準料金)

ベルギー: +31 30 6022

797

フランス: +33 1 4138

9226

ドイツ:+49 1805 702 702

オランダ:+31 306 022

797

英国: +44 1628 511445

有料(標準料金)

インド:+91 80 4112

5738

xviii 序文

Page 22: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 章

トランスフォーメーションに関する作業

トランスフォーメーションに関する作業の概要

トランスフォーメーションは、データの生成、変更、または受け渡しを行うオブジェクト

です。

Informatica Developerには、特定の関数を実行する一連のトランスフォーメーションが用

意されています。 例えば、アグリゲータトランスフォーメーションはデータのグループに

対して計算を実行します。

マッピング内のトランスフォーメーションは、Data Integration Serviceがデータに対し

て実行する処理を表します。 データは、マッピングまたはマプレット内のリンクされたト

ランスフォーメーションポートを通過します。

トランスフォーメーションはアクティブであるかパッシブであるかのいずれかです。トラ

ンスフォーメーションはデータフローに接続されているか、接続されていないかのいずれ

かです。

アクティブなトランスフォーメーション

アクティブなトランスフォーメーションは、トランスフォーメーションの前後で行数を変

更します。 または、行タイプを変更します。

例えば、フィルタトランスフォーメーションはフィルタ条件を満たさない行を削除するた

め、アクティブなトランスフォーメーションです。 また、アップデートストラテジトラン

スフォーメーションは挿入、削除、更新、または拒否のフラグを行に設定するため、アク

ティブなトランスフォーメーションです。

複数のアクティブなトランスフォーメーション、または1つのアクティブなトランスフォー

メーションと1つのパッシブなトランスフォーメーションを同じダウンストリームトランス

フォーメーションまたはトランスフォーメーション入力グループに接続することはできま

1

Page 23: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

せん。Data Integration Serviceはアクティブなトランスフォーメーションから渡される

行を連結できない可能性があります。

例えば、マッピング内の1つのブランチに、行に削除のフラグを付けるアップデートストラ

テジトランスフォーメーションが含まれているとします。別のブランチには、行に挿入の

フラグを付けるアップデートストラテジトランスフォーメーションが含まれています。こ

れらのトランスフォーメーションを1つのトランスフォーメーション入力グループに接続し

た場合、Data Integration Serviceは行の削除操作と挿入操作を結合できません。

パッシブなトランスフォーメーション

パッシブなトランスフォーメーションでは、トランスフォーメーションの前後で行数は変

更されず、行タイプも維持されます。

アップストリームブランチ内のすべてのトランスフォーメーションがパッシブである場

合、複数のトランスフォーメーションを同じダウンストリームトランスフォーメーション

またはトランスフォーメーション入力グループに接続できます。 ブランチを発生させるト

ランスフォーメーションはアクティブである場合とパッシブである場合があります。

複数ストラテジのトランスフォーメーション

以下のデータ品質トランスフォーメーションでは、トランスフォーメーションのストラテ

ジを複数定義することができます。

¨ 大文字小文字

¨ ディシジョン

¨ キージェネレータ

¨ ラべラ

¨ 一致

¨ マージ

¨ パーサー

¨ 標準化

トランスフォーメーションのストラテジごとに異なる入力ポートと出力ポートのセットを

割り当てることができます。 定義したストラテジは、1つのトランスフォーメーションオ

ブジェクトに格納されます。

注: 各ストラテジで使用する入力と出力は、[依存関係]ビューで確認できます。

トランスフォーメーションの説明

Developerツールには、共通のトランスフォーメーションとデータ品質トランスフォーメー

ションが含まれます。 共通のトランスフォーメーションは、Informatica Data Qualityと

2 章 1: トランスフォーメーションに関する作業

Page 24: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Informatica Data Servicesで使用できます。 データ品質トランスフォーメーションは、

Informatica Data Qualityで使用できます。

次の表に、各トランスフォーメーションを示します。

トランスフォーメー

ション

タイプ 説明

アドレスバリデータ アクティ

ブまたは

パッシ

ブ/

接続済

アドレスデータを修正し、検証情報を返し

ます。

関連付け アクティ

ブ/

接続済

さまざまな一致クラスタに割り当てられる

重複レコード間のリンクを作成します。

アグリゲータ アクティ

ブ/

接続済

集計の計算を実行します。

大文字小文字変換プ

ログラム

パッシ

ブ/

接続済

文字列の大文字小文字を標準化します。

比較 パッシ

ブ/

接続済

入力文字列のペア間の類似度を示す数値ス

コアを生成します。

統合 アクティ

ブ/

接続済

一致トランスフォーメーションによって重

複として特定されたレコードから、統合さ

れたレコードを作成します。

カスタムデータ アクティ

ブまたは

パッシ

ブ/

接続済

共有ライブラリまたはDLLのプロシージャ

を呼び出します。

ディシジョン パッシ

ブ/

接続済

入力データの条件を評価し、それらの条件

の結果に基づいて出力を作成します。

例外 アクティ

ブ/

接続済

アナリストが確認および編集可能なステー

ジングテーブルの例外をロードします。例

外とは、現在の形式ではデータセットに属

さないレコードです。

Expression パッシ

ブ/

接続済

値を計算します。

トランスフォーメーションに関する作業の概要 3

Page 25: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トランスフォーメー

ション

タイプ 説明

Filter アクティ

ブ/

接続済

データをフィルタリングします。

Input パッシ

ブ/

接続済

マプレット入力行を定義します。

Java アクティ

ブまたは

パッシ

ブ/

接続済

Javaで書かれたユーザコードを実行しま

す。ユーザロジックのバイトコードはリポ

ジトリ内に格納されています。

ジョイナ アクティ

ブ/

接続済

異なるデータベースまたはフラットファイ

ルシステムから得たデータを結合します。

キージェネレータ アクティ

ブ/

接続済

選択されたカラム内のデータ値に基づい

て、レコードをグループに分類します。

ラべラ パッシ

ブ/

接続済

文字または文字列を示すラベルを作成しま

す。

ルックアップ アクティ

ブまたは

パッシ

ブ/

接続済ま

たは未接

フラットファイル、リレーショナルテーブ

ル、ビュー、またはシノニムからのデータ

を検索し、返します。

一致 アクティ

ブ/

接続済

入力レコード間の類似度を示すスコアを生

成し、類似度の高いレコードをグループ化

します。

マージ パッシ

ブ/

接続済

複数の入力カラムからデータ値を読み取

り、単一の出力カラムを作成します。

アウトプット パッシ

ブ/

接続済

マプレット出力行を定義します。

パーサー パッシ

ブ/

情報カテゴリのフィールドを作成し、入力

データをこれらのフィールドに解析しま

す。

4 章 1: トランスフォーメーションに関する作業

Page 26: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トランスフォーメー

ション

タイプ 説明

接続済

ランク アクティ

ブ/

接続済

レコードのランキング処理を行います。

ルータ アクティ

ブ/

接続済

グループ条件に基づいて、複数のトランス

フォーメーションにデータをルーティング

します。

ソータ アクティ

ブ/

接続済

ソートキーに基づいてデータをソートしま

す。

SQL アクティ

ブまたは

パッシ

ブ/

接続済

データベースに対してSQLクエリを実行し

ます。

標準化 パッシ

ブ/

接続済

入力文字列の標準化版を生成します。

共有体 アクティ

ブ/

接続済

異なるデータベースまたはフラットファイ

ルシステムから得たデータを結合します。

アップデートストラ

テジ

アクティ

ブ/

接続済

行を挿入、削除、更新、または拒否するか

どうかを決定します。

加重平均 パッシ

ブ/

接続済

照合操作からマッチ率を読み取り、スコア

に重みを付け、集計マッチ率を作成しま

す。

トランスフォーメーションの開発マッピングを作成する場合は、トランスフォーメーションを追加し、そのトランスフォー

メーションに業務目的に応じたデータ処理方法を設定します。

トランスフォーメーションの開発 5

Page 27: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トランスフォーメーションを開発してマッピングに組み込むには、以下の作業を行いま

す。

1. マッピングまたはマプレットの一部として再利用不可能なトランスフォーメーション

を作成します。 または、複数のマッピングまたはマプレットに追加する再利用可能な

トランスフォーメーションを作成します。

2. トランスフォーメーションを設定します。各タイプのトランスフォーメーションに

は、設定可能な固有のオプションのセットがあります。

3. 再利用可能なトランスフォーメーションの場合は、そのトランスフォーメーションを

マッピングまたはマプレットに追加します。

4. トランスフォーメーションを他のトランスフォーメーションおよびマッピングまたは

マプレットの出力にリンクします。 1つ以上のポートを他のポートにドラッグして、

マッピングまたはマプレットでリンクします。

再利用可能なトランスフォーメーション再利用可能なトランスフォーメーションは、複数のマッピングまたはマプレットで使用で

きるトランスフォーメーションです。

例えば、カナダでの販売付加価値税を計算する式トランスフォーメーションを作成すれ

ば、カナダにおける事業コストを分析できます。 いつも同じ作業を行うというのであれ

ば、再利用可能なトランスフォーメーションを作成できます。当該のトランスフォーメー

ションをマッピングに組み込む必要のある場合には、そのインスタンスをマッピングに追

加してください。トランスフォーメーションの定義を変更した場合には、そのインスタン

スはすべてこの変更を受け継ぎます。

Developerツールは再利用可能なトランスフォーメーションを、それを使用するマッピング

またはマプレットとは別のメタデータとして格納します。 再利用可能なトランスフォーメ

ーションは、プロジェクトまたはフォルダに格納されます。

再利用可能なトランスフォーメーションのインスタンスをマッピングに追加した場合、ト

ランスフォーメーションに変更を加えると、マッピングが無効になったり、予期しないデ

ータが生成されたりすることがあります。

再利用可能なトランスフォーメーションのインスタンスと継承される変更

再利用可能なトランスフォーメーションをマッピングまたはマプレットに追加する場合に

は、このトランスフォーメーションのインスタンスを追加します。 トランスフォーメーシ

ョンの定義はマッピングまたはマプレット外にあるのに対して、トランスフォーメーショ

ンのインスタンスはマッピングまたはマプレット内に表示されます。

トランスフォーメーションを変更すると、トランスフォーメーションのインスタンスにそ

れらの変更が反映されます。 同じトランスフォーメーションを使用するマッピングでそれ

ぞれトランスフォーメーションを更新する代わりに、再利用可能なトランスフォーメーシ

ョンを一度更新すると、そのトランスフォーメーションのインスタンスすべてに変更が反

映されます。 インスタンスには、トランスフォーメーションのポート、式、プロパティ、

および名前に対する変更が継承されます。

6 章 1: トランスフォーメーションに関する作業

Page 28: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

再利用可能なトランスフォーメーションの編集

再利用可能なトランスフォーメーションを編集すると、そのトランスフォーメーションの

すべてのインスタンスに変更が継承されます。 変更によっては、再利用可能なトランスフ

ォーメーションを使用したマッピングが無効となる場合があります。

再利用可能なトランスフォーメーションは、エディタで開いて編集することができます。

マッピング内でトランスフォーメーションのインスタンスを編集することはできません。

ただし、トランスフォーメーションのランタイムプロパティは編集が可能です。

再利用可能なトランスフォーメーションに以下のいずれかの変更を行うと、そのインスタ

ンスを用いるマッピングが無効となる場合があります。

¨ トランスフォーメーションの1つ以上のポートを削除すると、マッピングの一部または

すべてのデータフローからインスタンスが切り離されます。

¨ ポートのデータ型を変更すると、そのポートから互換性のないデータ型を使用する別の

ポートへマッピングできなくなります。

¨ ポート名を変更すると、そのポートを参照する式は無効となります。

¨ 再利用可能なトランスフォーメーションに無効な式を入力すると、そのトランスフォー

メーションを使用するマッピングは無効となります。 Data Integration Serviceでは

無効なマッピングを実行できません。

トランスフォーメーションの式一部のトランスフォーメーションでは、式エディタで式を入力できます。 式はデータを変

更します。または、データが条件に一致するかテストします。

トランスフォーメーション言語関数を使用する式を作成します。 トランスフォーメーショ

ン言語関数は、データを変換するSQLに似た関数です。

入力または入出力ポートから得たデータの値を使用するポートに、式を入力します。 例え

ば、全従業員の給与が含まれる入力ポートIN_SALARYを持つトランスフォーメーションがあ

るとします。IN_SALARYカラムの値を後でマッピングに使用できます。このトランスフォー

メーションを使用sテンプレート、給与の合計や平均を計算することもできます。

Developerツールでは各計算値について個別の出力ポートを作成する必要があります。

以下の表に、式を入力できるトランスフォーメーションを示します。

トランスフ

ォーメーシ

ョン

式 戻り値

アグリゲー

トランスフォーメーションを通過す

るすべてのデータに基づいて、集計

を行います。また、集計するレコー

ドに対してフィルタを指定して、特

定のレコードを排除できます。たと

えば、このトランスフォーメーショ

ポートの集計結果。

トランスフォーメーションの式 7

Page 29: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トランスフ

ォーメーシ

ョン

式 戻り値

ンを用いて、事務所の全従業員の総

数と平均給与を算出できます。

Expression 単一の行内の値に基づいて計算を行

います。たとえば、特定品目の価格

や数量に基づいて、注文におけるそ

の品目の購入価格合計値の算出がで

きます。

ポートの行レベルの計算

結果。

Filter このトランスフォーメーションを通

過する行のフィルタリング条件を指

定します。たとえば、未払い残高の

ある顧客についてのBAD_DEBTテーブ

ルに顧客データを書き込みたい場合

には、Filterトランスフォーメーシ

ョンを用いて顧客データのフィルタ

リングができます。

TRUEまたはFALSE。指定

条件を行が満たしている

かどうかによります。

TRUEを返す行はこのトラ

ンスフォーメーションを

通過し、 通過した各行

にこの値が適用されま

す。

ジョイナ 未ソートソースデータで使用される

詳細な条件を指定します。例えば、

名と姓のマスターポートを連結し、

それをフルネーム明細ポートと一致

させることができます。

TRUEまたはFALSE。指定

条件を行が満たしている

かどうかによります。選

択した結合タイプに応じ

て、Data Integration

Serviceは行を結果セッ

トに追加するか、または

行を無視します。

ランク ランクに含める行の条件を設定しま

す。例えば、現在組織に所属してい

る販売員の上位10名をランク付けで

きます。

ポートの条件適用結果ま

たは計算結果。

ルータ グループ式に基づいて、複数のトラ

ンスフォーメーションにデータをル

ーティングします。たとえば、この

トランスフォーメーションを使用し

て、3つの異なる給与レベルに属す

る従業員の給与を比較します。これ

は、Routerトランスフォーメーショ

ンに3つのグループを作成すること

によって行うことができます。たと

えば、各給与範囲に対して1つのグ

ループ式を作成します。

TRUEまたはFALSE。指定

されたグループ式を行が

満たしているかどうかに

よります。 TRUEを返す行

は、このトランスフォー

メーションの各ユーザー

定義グループを通過しま

す。 FALSEを返す行は、

デフォルトグループを通

過します。

アップデー

トストラテ

行に更新、挿入、削除、またはリジ

ェクトのフラグを設定します。一定

の条件に基づいてターゲットの更新

を管理する場合に、このトランスフ

ォーメーションを使用します。例え

ば、アップデートストラテジトラン

スフォーメーションを用いて、全顧

更新、挿入、削除、また

はリジェクトに対応する

数値コード。このトラン

スフォーメーションは該

当値を各取得行に適用し

ます。

8 章 1: トランスフォーメーションに関する作業

Page 30: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トランスフ

ォーメーシ

ョン

式 戻り値

客の行に対して、メールアドレスが

変更された際に更新フラグを設定し

たり、 全従業員の行に対して、社

員でなくなった者については拒否フ

ラグを設定したりできます。

式エディタ

式エディタは、SQLに似た文を作成するために使用します。

式を手動で入力することも、ポイントアンドクリック機能を使用することもできます。 ポ

イントアンドクリックインタフェースを使用して関数、ポート、変数、および演算子を選

択することで、式を作成するときのエラーを減らすことができます。式に使用できる文字

は 大32,767文字です。

式内のポート名

式にはトランスフォーメーションのポート名を入力することができます。

接続されているトランスフォーメーションでは、式でポート名を使用した場合、トランス

フォーメーション内のポート名を変更するとDeveloperツールによって式が更新されます。

例えば、2つの日付Date_PromisedとDate_Deliveredの間の差を求める式を作成したとしま

す。 この場合、Date_Promisedポートの名前をDue_Dateに変更すると、式内の

Date_Promisedポート名はDue_Dateに変更されます。

注: ポート名Due_Dateは、マッピングでこのポートに依存する他の再利用不可能なトラン

スフォーメーションにプロパゲートできます。

ポートへの式の追加

出力ポートに式を追加することができます。

1. トランスフォーメーションで、ポートを選択し、式エディタを開きます。

2. 式を入力します。

[関数]タブおよび[ポート]タブ、および演算子キーを使用します。

3. 必要に応じて、式にコメントを追加します。

コメントインジケータの「--」または「//」を使用します。

4. [検証]ボタンをクリックして、式を検証します。

5. [OK]をクリックします。

6. 式が有効でない場合、検証エラーを修正して再度検証します。

7. 式が有効になったら、[OK]をクリックして式エディタを閉じます。

トランスフォーメーションの式 9

Page 31: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

式内のコメント

コメントを式に追加して式に関する説明を記述したり、式に関連するビジネス文書にアク

セスするための有効なURLを指定したりできます。

式にコメントを追加するには、コメントインジケータ「--」または「//」を使用します。

式の検証

マッピングを実行したりマプレットの出力をプレビューしたりするには、式を検証する必

要があります。

式を検証するには、式エディタの[検証]ボタンを使用します。 自分で式の検証を行わず

に式エディタを閉じると、Developerツールによって式が検証されます。 式が無効な場

合、Developerツールは警告を表示します。 無効な式を保存または変更することができま

す。

参照データ一部のトランスフォーメーションでは、データ品質タスクを実行するために参照データを

読み取ります。

参照データを読み取ることができるトランスフォーメーションは次のとおりです。

¨ アドレスバリデータ。アドレス参照データを読み取り、アドレスに誤りがないかどうか

を確認します。

¨ 大文字小文字変換プログラム。参照データテーブルを読み取り、大文字と小文字を変更

する必要がある文字列を識別します。

¨ 比較。重複分析の際にIDポピュレーションのデータを読み取ります。

¨ ラべラ。参照データテーブルを読み取り、文字列を識別してラベルを適用します。

¨ 一致。重複分析の際にIDポピュレーションのデータを読み取ります。

¨ パーサー。参照データテーブルを読み取り、文字列を解析します。

¨ 標準化。参照データテーブルを読み取り、文字列を共通の形式に標準化します。

参照データをインストールするには、Data Quality Content Installerを使用します。

カラムプロファイリングの結果から参照データテーブルを作成することができます。 参照

テーブルはXMLファイルとしてエクスポートできます。

参照データのタイプ

参照データは、Data Quality Content Installerによってインストールされます。

Content Installerでは、以下のタイプの参照データがインストールされます。

¨ 参照データテーブル。いくつかの国の共通のビジネス用語に関する情報が含まれていま

す。 参照情報には、市外局番、郵便番号の形式、名前、社会保障番号の形式、職業、

頭字語などのタイプがあります。

10 章 1: トランスフォーメーションに関する作業

Page 32: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ アドレス参照データファイル。国内のすべての有効なアドレスに関する情報が含まれて

います。 アドレスバリデータトランスフォーメーションでは、このデータを読み取り

ます。 国のアドレスデータは年間契約で購入します。

Content Installerでは、購入した国のファイルがインストールされます。 アドレス参

照データは、定められた期間において 新のものであり、定期的(四半期ごとなど)に

データを更新する必要があります。 アドレス参照データを表示したり編集したりする

ことはできません。

¨ IDポピュレーション。個人、世帯、および企業のIDのタイプに関する情報が含まれてい

ます。 一致トランスフォーメーションおよび比較トランスフォーメーションでは、こ

のデータを使用して、入力フィールドの候補となるIDを解析します。

ポピュレーションファイルはファイルシステムに書き込まれます。

注: 参照データは、Content Installerを実行するユーザーが、アプリケーションとは別に

ダウンロードしてインストールします。 システムにインストールされている参照データに

ついては、Administratorツールのユーザーに問い合わせてください。

コンテンツセットコンテンツセットとは、再利用可能なコンテンツ式を格納するために使用するモデルリポ

ジトリオブジェクトです。 コンテンツ式とは、ラベラトランスフォーメーションやパーサ

ートランスフォーメーションでデータを識別するために使用できる式です。

コンテンツセットを作成して、コンテンツ式を論理的なグループにまとめることができま

す。 例えば、ポルトガル語の文字列を識別するコンテンツ式を複数作成する場合は、それ

らのコンテンツ式をグループ化するコンテンツセットを作成することができます。 コンテ

ンツセットはDeveloperツールで作成します。

コンテンツ式には、文字セット、パターンセット、正規表現、トークンセットが含まれま

す。 コンテンツ式は、システム定義のものとユーザー定義のものがあります。 システム

定義のコンテンツ式は、コンテンツセットに追加することはできません。 ユーザー定義の

コンテンツ式は、再利用可能にすることも再利用不可にすることもできます。

文字セット

文字セットには、特定の文字および文字範囲を識別する式が含まれます。 文字セットは、

文字ラベル適用モードを使用するラベラトランスフォーメーションで使用できます。

文字範囲は、連続する文字コードの範囲を指定します。 例えば、文字範囲"[A-C]"は大文

字の"A"、"B"、および"C"に一致します。この文字範囲は、小文字の"a"、"b"、また

は"c"には一致しません。

文字セットを使用すると、ラベル適用操作の一部として特定の文字または文字範囲を識別

できます。 例えば、電話番号が格納されたカラムのすべての数字にラベルを適用すること

ができます。 数字にラベルを適用した後、パーサートランスフォーメーションでパターン

を識別し、問題のあるパターンを別の出力ポートに書き込むことができます。

コンテンツセット 11

Page 33: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

文字セットのプロパティ

文字セットの文字ラベル適用操作に関するプロパティを設定します。

次の表に、ユーザー定義の文字セットのプロパティを示します。

プロパティ 説明

ラベル 文字セットに一致するデータに対して

ラベラトランスフォーメーションで適

用するラベルを定義します。

標準モード 開始範囲と終了範囲のフィールドを含

む簡単な編集ビューを使用できます。

開始範囲 文字範囲の 初の文字を指定します。

終了範囲 文字範囲の 後の文字を指定します。

1文字の範囲を指定する場合は、この

フィールドを空白のままにします。

詳細モード 範囲文字と区切り文字を使用して文字

範囲を手動で入力できる詳細な編集ビ

ューを使用できます。

範囲文字 文字範囲を示す記号を一時的に変更し

ます。 範囲文字は、文字セットを閉

じるとデフォルトの文字に戻ります。

区切り文字 文字範囲を区切る記号を一時的に変更

します。 区切り文字は、文字セット

を閉じるとデフォルトの文字に戻りま

す。

パターンセット

パターンセットには、トークンラベル適用操作の出力のデータパターンを識別する式が含

まれます。 パターンセットを使用すると、トークン化されたデータの出力ポートを分析

し、一致する文字列を1つ以上の出力ポートに書き込むことができます。 パターンセット

は、パターン解析モードを使用するパーサートランスフォーメーションで使用します。

例えば、名前と頭文字を識別するパターンセットを使用するようにパーサートランスフォ

ーメーションを設定することができます。 このトランスフォーメーションでは、パターン

セットを使用して、トークンラベル適用モードのラベラトランスフォーメーションの出力

を分析します。 出力に含まれる名前と頭文字を別のポートに書き込むようにパーサートラ

ンスフォーメーションを設定できます。

12 章 1: トランスフォーメーションに関する作業

Page 34: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

パターンセットのプロパティ

パターンセットのパターンに関するプロパティを設定します。

次の表に、ユーザー定義のパターンセットのプロパティを示します。

プロパティ 説明

パターン パターンパーサーで検索するパターン

を定義します。 パターンは、1つのパ

ターンセットに複数入力することがで

きます。 ワイルドカード、文字、お

よび文字列の組み合わせで構成される

パターンを入力できます。

正規表現

コンテンツセットのコンテキストにおいては、正規表現とは、解析操作やラベル適用操作

で使用できる式のことを指します。 正規表現を使用して入力データの1つ以上の文字列を

識別できます。 正規表現は、トークン解析モードを使用するパーサートランスフォーメー

ションで使用できます。 また、トークンラベル適用モードを使用するラベラトランスフォ

ーメーションでも使用できます。

パーサートランスフォーメーションでは、正規表現を使用して入力データのパターンを一

致させ、一致するすべての文字列を1つ以上の出力に解析します。 例えば、正規表現を使

用して入力データに含まれるすべての電子メールアドレスを識別し、電子メールアドレス

の構成要素ごとに異なる出力に解析することができます。

ラベラトランスフォーメーションでは、正規表現を使用して入力パターンを一致させ、1つ

のラベルを作成します。 正規表現の出力が複数になる場合、複数のラベルは生成されませ

ん。

正規表現のプロパティ

プロパティは、正規表現が出力文字列を識別して書き込む方法を決定します。

次の表に、ユーザー定義の正規表現のプロパティを示します。

プロパティ 説明

出力の数 正規表現が書き込む出力ポートの数を

定義します。

正規表現 パーサートランスフォーメーションが

文字列の一致に使用するパターンを定

義します。

テスト表現 正規表現をテストするために入力する

データです。 このフィールドにデー

タを入力すると、正規表現に一致する

文字列が強調表示されます。

コンテンツセット 13

Page 35: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

プロパティ 説明

次の式 正規表現に一致する次の文字列に移動

し、その文字列のフォントを太字にし

ます。

前の式 正規表現に一致する前の文字列に移動

し、その文字列のフォントを太字にし

ます。

トークンセット

トークンセットには、特定のトークンを識別する式が含まれます。 トークンセットは、ト

ークンラベル適用モードを使用するラベラトランスフォーメーションで使用できます。 ま

た、トークン解析モードを使用するパーサートランスフォーメーションでも使用できま

す。

トークンセットを使用すると、ラベル適用操作や解析操作の一部として特定のトークンを

識別できます。 例えば、トークンセットを使用して、"AccountName@DomainName"という

形式のすべての電子メールアドレスにラベルを適用できます。 トークンにラベルを適用し

たら、パーサートランスフォーメーションを使用して、指定した出力ポートに電子メール

アドレスを書き込むことができます。

トークンセットのプロパティ

トークンセットのラベル適用操作に関するプロパティを設定します。

次の表に、ユーザー定義の文字セットのプロパティを示します。

プロパティ トークンセットのモード 説明

名前 該当なし トークンセットの名

前を定義します。

説明 該当なし トークンセットの説

明を記述します。

トークンセットのオ

プション

該当なし トークンセットが正

規表現モードと文字

モードのどちらを使

用するかを定義しま

す。

ラベル 正規表現 トークンセットに一

致するデータに対し

てラベラトランスフ

ォーメーションで適

用するラベルを定義

します。

14 章 1: トランスフォーメーションに関する作業

Page 36: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

プロパティ トークンセットのモード 説明

正規表現 正規表現 ラベラトランスフォ

ーメーションが文字

列の一致に使用する

パターンを定義しま

す。

テスト表現 正規表現 正規表現をテストす

るために入力するデ

ータです。 このフ

ィールドにデータを

入力すると、正規表

現に一致する文字列

が強調表示されま

す。

次の式 正規表現 正規表現に一致する

次の文字列に移動

し、その文字列のフ

ォントを太字にしま

す。

前の式 正規表現 正規表現に一致する

前の文字列に移動

し、その文字列のフ

ォントを太字にしま

す。

ラベル 文字 文字セットに一致す

るデータに対してラ

ベラトランスフォー

メーションで適用す

るラベルを定義しま

す。

標準モード 文字 開始範囲と終了範囲

のフィールドを含む

簡単な編集ビューを

使用できます。

開始範囲 文字 文字範囲の 初の文

字を指定します。

終了範囲 文字 文字範囲の 後の文

字を指定します。 1

文字の範囲を指定す

る場合は、このフィ

ールドを空白のまま

にします。

詳細モード 文字 範囲文字と区切り文

字を使用して文字範

囲を手動で入力でき

コンテンツセット 15

Page 37: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

プロパティ トークンセットのモード 説明

る詳細な編集ビュー

を使用できます。

範囲文字 文字 文字範囲を示す記号

を一時的に変更しま

す。 範囲文字は、

文字セットを閉じる

とデフォルトの文字

に戻ります。

区切り文字 文字 文字範囲を区切る記

号を一時的に変更し

ます。 区切り文字

は、文字セットを閉

じるとデフォルトの

文字に戻ります。

コンテンツセットの作成

ビジネス要件に従ってコンテンツ式をグループ化するには、コンテンツセットを作成しま

す。 コンテンツセットはDeveloperツールで作成します。

1. Object Explorerで、コンテンツセットを格納するプロジェクトまたはフォルダを選

択します。

2. [ファイル] > [新規] > [コンテンツセット]をクリックします。

3. コンテンツセットの名前を入力します。

4. 必要に応じて、[参照]を選択して、コンテンツセットのモデルリポジトリの場所を

変更します。

5. [完了]をクリックします。

再利用可能なコンテンツ式の作成

再利用可能なコンテンツ式は、コンテンツセット内から作成します。 これらのコンテンツ

式は、ラベラトランスフォーメーションおよびパーサートランスフォーメーションで使用

できます。

1. エディタでコンテンツセットを開き、[コンテンツ]ビューを選択します。

2. コンテンツ式のビューを選択します。

3. [追加]をクリックします。

4. コンテンツ式の名前を入力します。

5. 必要に応じて、コンテンツ式の説明を入力します。

6. 式のビューとして[トークンセット]を選択した場合は、トークンセットモードを選

択します。

7. [次へ]をクリックします。

8. コンテンツ式のプロパティを設定します。

16 章 1: トランスフォーメーションに関する作業

Page 38: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

9. [完了]をクリックします。

ヒント: コンテンツ式は、別のコンテンツセットからコピーして作成できます。 既存の

コンテンツ式のコピーを作成するには、[コピー先]オプションと[貼り付け元]オプシ

ョンを使用します。 これらのオプションを使用する際、Ctrlキーを使用すると、複数のコ

ンテンツ式を選択できます。

トランスフォーメーションの作成複数のマッピングまたはマプレットで再利用する再利用可能なトランスフォーメーション

を作成できます。 また、マッピングまたはマプレットで1回だけ使用する再利用不可のト

ランスフォーメーションも作成できます。

再利用可能なトランスフォーメーションを作成するには、 [ファイル] > [新規] >

[トランスフォーメーション]をクリックし、ウィザードの手順に従います。

マッピングまたはマプレットで再利用不可のトランスフォーメーションを作成するには、

トランスフォーメーションパレットからトランスフォーメーションを選択し、エディタに

ドラッグします。

トランスフォーメーションによっては、作成時にモードの選択などの追加の設定が必要に

なるものがあります。 例えば、パーサートランスフォーメーションを作成するときは、ト

ークン解析モードとパターン解析モードのどちらかを選択する必要があります。

作成したトランスフォーメーションはエディタに表示されます。 トランスフォーメーショ

ンによっては、あらかじめ定義されたポートやグループが含まれていることがあります。

それ以外のトランスフォーメーションは空です。

トランスフォーメーションの作成 17

Page 39: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 章

アドレスバリデータトランスフォーメーション

この章では、以下の項目について説明します。

¨ アドレスバリデータトランスフォーメーションの概要, 18 ページ

¨ アドレスバリデータトランスフォーメーションの入力ポートグループ, 20 ページ

¨ アドレスバリデータトランスフォーメーションの出力ポートグループ, 21 ページ

¨ 複数インスタンスのポート, 22 ページ

¨ アドレス検証プロジェクト, 23 ページ

¨ フォーマットされたアドレスと郵便事業者の住所表記基準, 23 ページ

¨ アドレスバリデータのステータスポート, 24 ページ

¨ アドレス参照データファイルのステータス, 33 ページ

¨ アドレスバリデータトランスフォーメーションの詳細プロパティ, 34 ページ

¨ アドレスバリデータトランスフォーメーションの全般設定, 42 ページ

¨ 認証レポート, 43 ページ

¨ アドレスバリデータトランスフォーメーションの設定, 46 ページ

¨ アドレスバリデータトランスフォーメーションへのポートの追加, 47 ページ

¨ ユーザー定義テンプレートの作成, 47 ページ

¨ アドレスバリデータのモデルの定義, 48 ページ

¨ 認証レポートの定義, 48 ページ

アドレスバリデータトランスフォーメーションの概要

アドレスバリデータトランスフォーメーションでは、入力アドレスデータをアドレス参照

データと比較して入力データの精度を確認し、それらのアドレスの誤りを修正します。 こ

18

Page 40: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

のトランスフォーメーションは、新しいアドレスデータ、修正されたアドレスデータ、お

よび各アドレスのステータス情報を持つカラムを作成します。

アドレスバリデータトランスフォーメーションは、デフォルトではパッシブなトランスフ

ォーメーションですが、[実行インスタンス数]プロパティに1より大きい値を設定すると

アクティブなトランスフォーメーションになります。

以下の方法でアドレスデータを検証して更新することができます。

¨ 入力データをInformaticaから提供されるアドレス参照データと比較します。

¨ 各入力アドレスの有効性、配達可能ステータス、および誤りの性質やその曖昧さに関す

る詳しいステータスレポートを生成します。

¨ 参照データの情報を使用して、誤りを修正し、部分的なアドレスレコードを完全なもの

にします。 アドレスを修正するには、参照データのアドレスとの明確な一致を探す必

要があります。

¨ 郵送可能な形式で出力アドレスを書き込みます。 形式はトランスフォーメーションの

出力ポートを選択するときに定義します。

¨ 標準のアドレスには含まれない、郵便配達の際に役立つ情報(ジオコーディング情報な

ど)を追加します。

アドレス参照データ

アドレス参照データセットには、国内の配達可能アドレスがすべて記述されたデータが含

まれています。 アドレス検証プロセスでは、入力アドレスデータに もよく似たアドレス

を参照データセットから探します。 よく似たアドレスが参照データセット内で見つかる

と、無効または不完全なデータ値に対して新しい値が書き込まれます。 このプロセスで

は、入力アドレスと参照アドレスの間に見つかった一致のタイプを説明する一連の英数字

のコードが作成されます。

また、アドレスを再構築したり、入力アドレスにない情報(米国のアドレスの4桁の郵便番

号サフィックスなど)を追加したりすることもできます。

アドレス参照データセットは、Data Qualityのインストールには含まれていません。アド

レス参照データセットは別途ダウンロードし、Data Quality Content Installerを使用し

てインストールする必要があります。 アドレス参照データセットに関する情報を確認する

には、Developerツールの[設定]ウィンドウを使用します。

ポートグループとポートの選択

アドレスバリデータトランスフォーメーションには、使用可能な入力ポートと出力ポート

を含む定義済みのポートグループが含まれています。 アドレスバリデータトランスフォー

メーションを設定する場合、グループを参照して必要なポートを選択します。

アドレス入力データに対応する入力ポートを選択します。プロジェクトに必要なアドレス

データを含む出力ポートを選択します。

入力ポートと出力ポートはトランスフォーメーションに直接選択できます。また、入力ポ

ートと出力ポートを含むデフォルトモデルを作成することもできます。ポートをトランス

フォーメーションに直接選択すると、選択したポートはそのトランスフォーメーションに

のみ適用されます。ポートをデフォルトモデルに追加すると、そのポートは、それ以降に

作成するアドレスバリデータトランスフォーメーションに適用されます。

注: デフォルトモデルはリポジトリオブジェクトではありません。デフォルトモデルは作

成したマシン内に存在します。

アドレスバリデータトランスフォーメーションの概要 19

Page 41: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

アドレスバリデータトランスフォーメーションで処理しないカラムについては、パススル

ーポートをトランスフォーメーションに追加できます。

ポートのテンプレート

トランスフォーメーションには、ポートのテンプレートを1つ以上作成できます。テンプレ

ートは、1つ以上のポートグループからのポートのサブセットです。テンプレートを使用し

て、プロジェクトで頻繁に使用するポートを編成しておくことができます。

作成したテンプレートは、モデルリポジトリのすべてのアドレスバリデータトランスフォ

ーメーションに表示されます。

アドレスバリデータトランスフォーメーションの入力ポートグループ

アドレスデータをトランスフォーメーションの入力ポートに接続する前に、入力グループ

を参照して、入力データの構造および内容に対応するポートを選択する必要があります。

出力グループを参照して、データの要件を満たすポートを選択します。

以下の入力ポートグループがあります。

¨ 個別。個別ポートは、1つのアドレス要素を受け入れます。 各アドレスフィールドが一

意のアドレス要素(住居番号、アパート番号、町名、市区町村、都道府県、郵便番号な

ど)を表す場合は、アドレスフィールドをこれらのポートに接続します。

¨ 複数行。複数行ポートは、複数のアドレス要素を含む文字列を受け入れます。各アドレ

スフィールドが複数のアドレス要素を表す場合は、アドレスフィールドをこれらのポー

トに接続します。例えば、Address Line 1が"100 Main Street"でAddress Line 2

が"New York, NY 10001"のような場合が該当します。

¨ 混合。混合ポートは、1つまたは複数のアドレス要素を含む文字列を受け入れます。 ア

ドレスに個別の要素と複数行の要素が混在する場合は、アドレスフィールドをこれらの

ポートに接続します。 住居番号、町名、およびアパートの情報を1つのフィールドにま

とめ、市区町村、都道府県、および郵便番号にそれぞれ個別のフィールドを使用する形

式がよく使用されます。

注: 複数のポートを選択するときは、すべて同じ入力ポートグループから選択します。

アドレスバリデータトランスフォーメーションには、基本モデルと詳細モデルのポートグ

ループが表示されます。 ほとんどのアドレスは、基本モデルのポートグループを使用して

定義できます。 詳細モデルで利用可能なその他のポートは、アドレスが非常に複雑な場合

に使用します。

20 章 2: アドレスバリデータトランスフォーメーション

Page 42: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

アドレスバリデータトランスフォーメーションの出力ポートグループ

アドレスバリデータトランスフォーメーションを他のトランスフォーメーションまたはデ

ータオブジェクトに接続する前に、必要なデータの種類と、出力アドレスの構造を決定し

ます。

出力グループを参照して、データの要件を満たすポートを選択します。

注: ポートは複数の出力グループから選択することが可能で、共通の機能を持つポートを

選択することができます。

以下の定義済みの出力グループがあります。

¨ アドレス要素。住居番号、アパート番号、町名など、所在地のアドレス要素を個別のポ

ートに書き込む場合に使用します。

¨ 終行の要素。郵便番号、市区町村名、都道府県名など、地域情報を個別のポートに書

き込む場合に使用します。

¨ ジオコーディング。経度や緯度など、ジオコーディング情報を書き込む場合に使用しま

す。

¨ 米国特有。米国のアドレスで、DPVデータなど、郵便配達の際に役立つ追加データを書

き込む場合に使用します。

¨ カナダ特有。カナダのアドレスで、SERPレポートのデータを書き込む場合に使用しま

す。

¨ オーストラリア特有。オーストラリアのアドレスで、AMASレポートのデータを書き込む

場合に使用します。

¨ 英国補足。英国のアドレスで、納入場所のサフィックスのデータを書き込む場合に使用

します。

¨ 米国補足。米国のアドレスで、郡や州のFIPSコードなど、補足データを書き込む場合に

使用します。

¨ 国。国名またはISO国コードを書き込む場合に使用します。

¨ ステータス情報。各入力アドレスの品質に関する情報を書き込む場合に使用します。

¨ フォーマットされたアドレス行。郵送用にフォーマットされたアドレスを書き込む場合

に使用します。 フォーマットされた行は、特定のタイプのアドレス情報にリンクされ

ません。 各アドレスが一意であると見なされ、このグループ内で利用可能な 初のポ

ートに各アドレス行が書き込まれます。

¨ その他。 入力アドレスに含まれる認識できない要素に対して使用します。

アドレスバリデータトランスフォーメーションには、基本モデルと詳細モデルのポートグ

ループが表示されます。 ほとんどのアドレスは、基本モデルのグループを参照して定義で

きます。 詳細モデルで利用可能なその他のポートは、アドレスが非常に複雑な場合に使用

します。

以下のポートグループは、詳細モデルでのみ使用できます。

¨ 担当者要素。敬称や役職など、取引先の担当者に関する情報を書き込む場合に使用しま

す。

¨ ID要素。レコードIDとトランザクションキーデータの書き込みに使用されます。

アドレスバリデータトランスフォーメーションの出力ポートグループ 21

Page 43: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

複数インスタンスのポート住所データタイプの多くは、住所内に複数回出現します。 複数回出現するデータ要素が住

所に含まれている場合には、複数インスタンスのポートを選択することができます。

複数インスタンスのポートには、 大6個のインスタンスを含めることができます。 多く

の住所は、含んでいる各データ要素1個につき1個のポートインスタンスを使用します。 一

部の住所は、2個目ポートインスタンスを使用します。 ごく一部の住所は、複数のポート

インスタンスを使用します。

多くの場合、ポートの1個目のインスタンスは、そのポートが特定するプライマリの名前ま

たは主要な領域です。 選択したすべてのポートについて、ポートインスタンス間のリレー

ションを確認する必要があります。

[町名の正式表記]ポートの例

英国の住所レコードには、2つの町名(街区)が含まれる場合があります。一方の町名は、

もう一方のより広範囲の町名に含まれます。 以下の住所には、2つの[町名の正式表記]

ポートが使用されています。

Street Number Complete 1 1AStreet Complete 1 THE PHYGTLE Street Complete 2 SOUTH STREET Locality Name 1 NORFOLKPostcode 1 NR25 7QE

この例では、[町名の正式表記1]ポート内の町名データは、[町名の正式表記2]ポート

内の町名データに依存しています。 [番地の正式表記1]ポートのデータは、[町名の正

式表記1]のデータに関連しています。

注: [町名の正式表記1]は、メールボックスが実際にある場所を指定していますが、[町

名の正式表記2]は、より広範な町(街区)を表している可能性があります。

[担当者]ポートの例

住所レコードには、複数の担当者を含めることができます。その場合、各担当者は世帯を

構成する成員です。 以下の住所には、2つの[担当者名]ポートが使用されています。

Contact Name 1 Mr. JOHN DOEContact Name 2 Ms. JANE DOEFormatted Address Line 1 2 MCGRATH PLACE EAST Formatted Address Line 2 ST. JOHN'S NL A1B 3V4Formatted Address Line 3 CANADA

この例では、[担当者名1]または[担当者名2]に適用する優先順位は組織が指定できま

す。 アドレスバリデータトランスフォーメーションは、担当者データの優先順位付けを行

いません。

印刷するために住所の形式を整えるには、[フォーマットされたアドレス行]ポートのイ

ンスタンスを複数使用できます。 [フォーマットされたアドレス行]ポートは、 大12個

選択できます。

22 章 2: アドレスバリデータトランスフォーメーション

Page 44: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

アドレス検証プロジェクトアドレスバリデータトランスフォーメーションは、さまざまなタイプのプロジェクトで使

用できます。 プロジェクトタイプごとに、各種ポートを使用して住所テンプレートを作成

します。

アドレス検証プロジェクトは、以下の目的で定義することができます。

郵便事業者の標準に準拠するようにフォーマットされた住所の作成

郵便でのキャンペーン用に、大きな住所レコードセットを準備することができます。

郵便事業者の希望するフォーマットで住所を作成すると、郵送料が大幅に下がりま

す。 郵送用の住所を準備する場合は、フォーマットされた住所の各行を単一ポートに

書き出す出力ポートを選択します。 担当者名、番地住所の行、および市区町村と郵便

番号の行に、別々のポートを選択できます。

郵便事業者から認証される住所の作成

Australia Post(オーストラリア郵政公社)、Canada Post(カナダ郵政公社)、また

はUSPS(米国郵政公社)向けのレコードセットを準備する際に、各住所の配達可能性

を確認するデータを追加することができます。

アドレスバリデータトランスフォーメーションでは、各郵便事業者のデータ標準に対

して住所レコードが完全かつ正確であることを証明するレポートを生成できます。

規制上の要件を満たす住所の作成

組織が保持している住所レコードが、業界または政府の規制に正確に従っていること

を検証できます。 住所データの各要素を別々のフィールドに書き込む出力ポートを選

択します。 さらに、出力データの正確性と完全性について詳細な情報を提供するアド

レス検証ステータスポートを選択します。

住所のデータ品質の向上

他のデータプロジェクトと並行して、住所データセットの構造および全般的なデータ

品質を高めることができます。 例えば、データセットに不要なカラムが含まれていた

り、同じタイプのデータが複数のカラムに含まれていたりする場合があります。 デー

タセット内のカラム数を減らすと共に、さまざまなタイプのデータに使用するカラム

を簡略化することができます。

フォーマットされたアドレスと郵便事業者の住所表記基準

DMによるキャンペーン用に住所レコードを準備する場合は、印刷する住所の構造を郵便事

業者の住所表記基準に合わせる必要があります。

例えば、USPSの米国国内の住所表記は次のような形式になっています。

Line 1 Person/Contact Data JOHN DOELine 2 Street Number, Street, Sub-Building 123 MAIN ST NW STE 12Line 3 Locality, State, ZIP Code ANYTOWN NY 12345

アドレス検証プロジェクト 23

Page 45: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

印刷する住所を、行ごとに1つのポートへ書き出すように設定することができます。 その

場合、それぞれの行のデータタイプに適したポートを使用できますが、各行のデータタイ

プに関係なく住所の構造を受け付けるポートを使用することもできます。

以下の表に、米国の住所を印刷するときの住所の2種類のフォーマット方法を示します。

印刷する住所 使用ポートの一例 使用ポートのもう一つ

の例

JOHN DOE 受取人行1 フォーマットされたアド

レス行1

123 MAIN ST NW STE 12 送付先住所1 フォーマットされたアド

レス行2

ANYTOWN NY 12345 国特有の 終行1 フォーマットされたアド

レス行3

[フォーマットされたアドレス行]ポートを使用するのは、データセットにタイプの異な

る住所(勤務先住所と自宅住所など)が混在している場合です。 勤務先住所の場合、担当

者と組織の情報で3行必要になることもあります。 アドレスバリデータトランスフォーメ

ーションは、必要に応じて[フォーマットされたアドレス行]ポートのみを使用して、勤

務先住所も自宅住所も適切にフォーマットします。 ただし、[フォーマットされたアドレ

ス行]ポートは、ポートに含まれるデータタイプを指定しません。

[受取人行]、[送付先住所]、[国特有の 終行]などのポートを使用するのは、すべ

ての住所が同じ形式でフォーマットされている場合です。 これらのポートにより、住所の

データ要素がデータタイプ別に分類されるので、データセットを把握しやすくなります。

注: この例の住所は、他のポートを使用して処理することもできます。 上記の例は、印刷

と配達用に住所をフォーマットするポートの説明を目的としたものです。

人口統計データと地理的データ

DMによるキャンペーンでレコードセットを作成する場合、さまざまなデータタイプを追加

して住所表記に挿入することができます。 このようなデータを使用することで、郵便物の

配達状況を人口統計的に、地理的に把握することができます。

例えば、米国内のある住所がどの下院選挙区に属しているのかを特定することができま

す。 また、郵便物の仕向国の郵便システムで、アドレス参照データに地理座標が使われて

いる場合は、緯度と経度の座標を生成することもできます。

アドレスバリデータのステータスポートアドレスバリデータトランスフォーメーションでは、入力ポートや出力ポートで読み書き

するアドレス要素に関するステータス情報を書き込みます。

以下のステータスポートを使用できます。

24 章 2: アドレスバリデータトランスフォーメーション

Page 46: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

アドレスタイプ

基本モデルのステータス情報ポートグループから選択します。郵便運送業者が複数の

形式のアドレスを認識する場合に、このポートの値はアドレスタイプを示します。

要素入力のステータス

基本モデルのステータス情報ポートグループから選択します。このポートの値は、入

力アドレス要素と参照データの間で見つかった一致のタイプを表します。

要素の関連性

基本モデルのステータス情報ポートグループから選択します。このポートの値は、各

地域での郵送に必要なアドレス要素を識別します。

要素の結果ステータス

基本モデルのステータス情報ポートグループから選択します。このポートの値は、処

理中に入力データに対して行われた編集内容を示します。

ジオコーディングのステータス

基本モデルのジオコーディングポートグループから選択します。このポートの値は、

入力データに対して返されるジオコーディング情報のレベルを示します。

郵送可能スコア

基本モデルのステータス情報ポートグループから選択します。このポートの値は、入

力アドレスの全体的な配達可能性を表します。

照合コード

基本モデルのステータス情報ポートグループから選択します。このポートの値は、入

力アドレスに対する検証操作の結果を示します。

結果の割合

基本モデルのステータス情報ポートグループから選択します。このポートの値は、入

力アドレスとアドレス検証結果の間の全体的な類似度を表します。 結果の割合の値は

パーセンテージです。値が高いほど、入力と検証結果が類似していることを示しま

す。

ステータス情報ポートを使用して、入力アドレス要素と出力アドレス要素のステータスを

表示します。

[要素入力のステータス]出力ポートの値

[要素入力のステータス]は20文字の文字列で、文字列の各位置がそれぞれ異なる入力ア

ドレス要素を表します。文字の値は、関連するアドレス要素に対して実行された処理のタ

イプを表します。

このポートはステータス情報ポートグループにあります。

次の表に、文字列の各文字で識別されるアドレス要素を示します。

値 説明

1 郵便番号レベル0

アドレスバリデータのステータスポート 25

Page 47: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

値 説明

2 郵便番号レベル1(米国のZIP+4コードなど)

3 市区町村レベル0

4 市区町村レベル1(都市、従属地域など)

5 都道府県レベル0

6 都道府県レベル1(郡など)

7 町名レベル0

8 町名レベル1(丁目など)

9 番地レベル0

10 番地レベル1

11 配達サービスレベル0(私書箱、GPO、パックステーション、プライベート

バッグ)

12 配達サービスレベル1

13 建物レベル0

14 建物レベル1

15 棟レベル0

16 棟レベル1

17 組織レベル0

18 組織レベル1

18 国レベル0

20 国レベル1(領域など)

以下の表で、バッチモード、対話モード、提案リストモードで[要素入力のステータス]

から出力文字列内の各位置に返されるコードについて説明します。

値 説明(検証プロセス)

6 一致が確認され、誤りはありませんでした。

5 一致が確認され、変更が行われています(データが挿入または削除されま

した)。

26 章 2: アドレスバリデータトランスフォーメーション

Page 48: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

値 説明(検証プロセス)

4 一致が確認されましたが、このアドレス要素に誤りがあります。

3 アドレス要素が正しくありません。 入力がコピーされましたが、修正され

ていません。

2 確認されていません(参照データがありません)。

1 アドレス要素が見つかりません。 処理は実行されませんでした。

0 アドレス要素が空です。 処理は実行されませんでした。

以下の表で、解析モード時に[要素入力のステータス]から出力文字列内の各位置に返さ

れるコードについて説明します。

コード 説明

3 この位置に対応する適切なデータと認識されました。 処理中に変更は

行われていません。

2 この位置に対応する適切なデータと認識され、処理中に一部のデータ

が標準化されました。

1 この位置のデータは別のポートに移動されています。

0 この位置にデータがありません。

[要素の関連性]出力ポートの値

次の表に、[要素の関連性]出力ポートの値を示します。このポートはステータス情報ポ

ートグループにあります。

[要素の関連性]の値は、配達を担当する郵便運送業者に関連するアドレス要素を識別し

ます。この値が1であるアドレス要素がすべて揃っていないと、出力アドレスは地域の郵便

運送業者によって有効と見なされません。 [要素の関連性]の値は、MatchCodeの値がCま

たはVのアドレス要素に対して重要な意味を持ちます。

値 説明

0 地域の郵便運送業者に必要ではないア

ドレス要素です。

1 地域の郵便運送業者に関連するアドレ

ス要素です。

アドレスバリデータのステータスポート 27

Page 49: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

[要素の結果ステータス]出力ポートの値

[要素の結果ステータス]は20文字の文字列で、文字列の各位置がそれぞれ異なる入力ア

ドレス要素を表します。文字の値は、処理中に入力データに対して行われた編集内容を示

します。

このポートはステータス情報ポートグループにあります。

次の表に、文字列の各文字で識別されるアドレス要素を示します。

値 説明

1 郵便番号レベル0

2 郵便番号レベル1(米国のZIP+4コードなど)

3 市区町村レベル0

4 市区町村レベル1(都市、従属地域など)

5 都道府県レベル0

6 都道府県レベル1(郡など)

7 町名レベル0

8 町名レベル1(丁目など)

9 番地レベル0

10 番地レベル1

11 配達サービスレベル0(私書箱、GPO、パックステーション、プライベート

バッグ)

12 配達サービスレベル1

13 建物レベル0

14 建物レベル1

15 棟レベル0

16 棟レベル1

17 組織レベル0

18 組織レベル1

19 国レベル0

20 国レベル1(領域など)

28 章 2: アドレスバリデータトランスフォーメーション

Page 50: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

次の表に、[要素の結果ステータス]で表される各アドレス要素に対する編集のタイプを

示します。

値 説明

0 アドレス要素が空です。

1 入力が検証されておらず、編集もされていません。 ソースデータが使用さ

れます。

2 入力が検証されていませんが、標準化されています。

3 入力が検証されましたが、無効なデータが一部含まれていて編集されてい

ません。 入力がコピーされましたが、修正されていません。

4 入力が検証されましたが、参照データがないため編集されていません。

5 入力が検証されましたが、一致候補が複数あるため編集されていません。

6 入力が検証され、編集で入力値が除外されました。

7 入力が検証され、参照データに基づいて編集されました。

8 入力が検証され、編集で参照データから値が追加されました。

9 入力が検証されましたが、編集されていません。 配達ステータスは不明で

す。

C 入力が検証されて確認されましたが、 新でない名前が編集されました。

D 入力が検証されて確認されましたが、外名が正式名に編集されました。

E 入力が検証されて確認されましたが、標準化されていません。 この値は、

入力に完全に一致する語が別の言語にある場合に設定されます。

F 入力が検証されて確認されましたが、編集されていません。 完全に一致し

ています。

出力文字列の19および20の位置は、国に関するデータです。

次の表に、19および20の位置のデータに対する検証で返される値を示します。

コード 説明

0 この位置にデータがありません。

1 国のデータを認識できません。

4 [デフォルトの国]の値から国が認識されました。

5 一致する参照データが複数あるため、国を認識できません。

6 スクリプトから国が認識されました。

アドレスバリデータのステータスポート 29

Page 51: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

コード 説明

7 アドレスの形式から国が認識されました。

8 主要な都市のデータから国が認識されました。

9 都道府県のデータから国が認識されました。

C 領域のデータから国が認識されました。

D 国名が認識されました。ただし、名前に誤りがあります。

E 国名が認識されました。名前に誤りはありません。

F [国を強制的に適用]の値から国が認識されました。

MailabilityScore出力ポートの値

次の表に、MailabilityScore出力ポートの値を示します。 このポートはステータス情報ポ

ートグループにあります。

アドレスバリデータでは、アドレスの配達可能性を評価し、その概算値を

MailabilityScoreカラムに書き込みます。 MatchCodeのスコアがI1~I4の場合は、この数

値を確認してください。

値 説明

5 確実に配達可能

4 ほぼ確実に配達可能

3 配達できる可能性が高い

2 配達できる可能性がある

1 配達できる可能性は少ない

0 配達不能

30 章 2: アドレスバリデータトランスフォーメーション

Page 52: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

MatchCode出力ポートの値

次の表に、MatchCode出力ポートの値を示します。 このポートはステータス情報ポートグ

ループにあります。

値 説明

V4 検証済み。入力データは正確です。配達に関するすべての要素が確認さ

れ、入力が完全に一致しています。

V3 検証済み。入力データは正確ですが、一部またはすべての要素が標準化さ

れたか、入力に古い名前が含まれています。

V2 検証済み。入力データは正確ですが、参照データが不完全であるため一部

の要素を検証できませんでした。

V1 検証済み。入力データは正確ですが、ユーザーの標準化が原因で配達可能

性が低下しています。

C4 修正済み。配達に関するすべての要素が確認されました。

C3 修正済み。一部の要素を確認できませんでした。

C2 修正済みですが、参照データが存在しないため、配達ステータスが不明で

す。

C1 修正されましたが、ユーザーの標準化によって誤りが生じたため配達ステ

ータスは不明です。

I4 データを完全には修正できませんでした。ただし、配達可能性は非常に高

くなっています。参照データ内の住所との一致が1件あります。

I3 データを完全には修正できませんでした。ただし、配達可能性は非常に高

くなっています。参照データ内の住所との一致が複数あります。

I2 データを修正できませんでした。ただし、配達できる可能性もあります。

I1 データを修正できなかったため、その住所に配達できる見込みはあまりあ

りません。

Q3 高速実行のステータス。住所の候補を利用できます。

Q2 高速実行のステータス。住所の候補は完全ですが、入力された住所の要素

も混在しています。

Q1 高速実行のステータス。住所の候補は不完全です。詳細な情報が必要で

す。

Q0 高速実行のステータス。完全ではない入力を住所の候補の生成に利用でき

ます。

RA トランスフォーメーション内の[国を強制的に適用]設定によって国が認

識されました。

アドレスバリデータのステータスポート 31

Page 53: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

値 説明

R9 トランスフォーメーション内の[デフォルトの国]設定によって国が認識

されました。

R8 名前によって国が認識され、エラーは発生していません。

R7 名前によって国が認識されましたが、エラーが発生しました。

R6 領域によって国が認識されました。

R5 都道府県によって国が認識されました。

R4 主要な都市によって国が認識されました。

R3 形式によって国が認識されました。

R2 スクリプトによって国が認識されました。

R1 国が認識されません。複数の候補に一致しました。

R0 国が認識されません。

S4 完全に解析されました。

S3 複数の結果に解析されました。

S2 解析で誤りが見つかりました。要素の位置が変更されています。

S1 解析エラーです。入力形式が一致しません。

N1 検証エラーです。国を認識できないため、検証は実行されませんでした。

N2 検証エラーです。必要な参照データベースを使用できないため、検証は実

行されませんでした。

N3 検証エラーです。国のロックを解除できないため、検証は実行されません

でした。

N4 検証エラーです。参照データベースが壊れているか形式が正しくないた

め、検証は実行されませんでした。

N5 検証エラーです。参照データベースが 新でないため、検証は実行されま

せんでした。

32 章 2: アドレスバリデータトランスフォーメーション

Page 54: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

GeoCodingStatus出力ポートの値

次の表に、GeoCodingStatus出力ポートの値を示します。 このポートはジオコーディング

ポートグループにあります。

このポートは、入力アドレスの国に対応するジオコーディング参照データをインストール

している場合に選択します。

値 説明

EGCU ジオコーディングデータベースのロッ

クが解除されていません。

EGCN ジオコーディングデータベースが見つ

かりません。

EGCC ジオコーディングデータベースが壊れ

ています。

EGC0 使用可能なジオコードがありません。

EGC4 部分的な郵便番号レベルの精度のジオ

コードです。

EGC5 郵便番号レベルの精度のジオコードで

す。

EGC6 市区町村レベルの精度のジオコードで

す。

EGC7 町名レベルの精度のジオコードです。

EGC8 おおよその住居番号の精度のジオコー

ドです。

EGC9 住居番号の精度のジオコードです。

アドレス参照データファイルのステータスDeveloperツールを使用して、ドメイン上のアドレス参照データファイルのステータスを確

認します。ステータス情報には、各ファイルのライセンスの有効期限やそのファイルに対

して実行可能な処理の種類が含まれています。

アドレス参照データファイルのステータスを確認するには、Developerツールの[設定]ウ

ィンドウを使用します。[設定]ウィンドウの[コンテンツのステータス]オプションを

使用してステータスを確認します。

アドレス参照データファイルのステータス 33

Page 55: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、[コンテンツのステータス]を選択したときにデフォルトで表示される、ス

テータスのプロパティを示します。

プロパティ 説明

国のISO アドレス参照データファイルが適用される国。このプロパ

ティは、ISOによる3文字の国名の略記を表します。

有効期限 ファイルが新しいファイルに置き換えらえる日付。有効期

限後にもアドレス参照データファイルは使用できますが、

そのデータ正確性は保証されません。

国のタイプ そのデータに対して実行可能な住所の処理のタイプ。[全

般設定]タブの[モード]オプションで処理のタイプを選

択できます。選択したモードがドメイン上のアドレスデー

タファイルと対応しない場合、アドレス検証マッピングは

失敗します。

有効期限のロック

解除

ファイルのライセンスの有効期限が切れる日付。有効期限

のロック解除後はファイルを使用できません。

開始日のロック解

ファイルのライセンスが有効になる日付。開始日のロック

を解除する前はファイルを使用できません。

プロパティテーブルを右クリックすると、追加のプロパティのリストが表示されます。

アドレスバリデータトランスフォーメーションの詳細プロパティ

Data Integration Serviceでのアドレスバリデータトランスフォーメーションのデータの

処理方法を指定するには、詳細プロパティを設定します。

大文字小文字表記

大文字小文字表記プロパティは、このトランスフォーメーションが出力データの書き込み

に使用する大文字小文字表記を決定します。

以下の表に、大文字小文字表記のオプションを示します。

オプション 説明

小文字 アドレス検証は出力データを小文字で書き込みます。

混在 アドレス検証は、宛先の国で使用されている大文字小

文字表記を考慮します。

34 章 2: アドレスバリデータトランスフォーメーション

Page 56: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

オプション 説明

維持 アドレス検証は、参照データで使用されている大文字

小文字表記を適用します。これがデフォルトのオプシ

ョンです。

大文字 アドレス検証は出力データを大文字で書き込みます。

注: 大文字小文字表記は[全般設定]タブで設定することもできます。

国プロパティは、アドレスレコードが送信される国を識別します。

リストから国を選択します。このプロパティは、デフォルトでは空になっています。

国のタイプ

国のタイププロパティは、住所の正式表記やフォーマットされたアドレス行ポートの出力

データで使用される国名の形式を決定します。トランスフォーメーションは、選択した国

の標準の形式で国名や略語を表記します。

以下の表に、国のタイプのオプションを示します。

オプション 国

ISO2 ISOの2文字の国コード

ISO3 ISOの3文字の国コード

ISO # ISOの3桁の国コード

略語 (将来の使用のために予約されています)

CN カナダ

DA (将来の使用のために予約されています)

DE ドイツ

EN 英国(デフォルト)

ES スペイン

FI フィンランド

FR フランス

GR ギリシア

アドレスバリデータトランスフォーメーションの詳細プロパティ 35

Page 57: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

オプション 国

IT イタリア

JP 日本

HU ハンガリー

KR 韓国

NL オランダ

PL ポーランド

PT ポルトガル

RU ロシア

SA サウジアラビア

SE スウェーデン

デフォルトの国

デフォルトの国プロパティは、検証がすべてのアドレスレコードを、選択した国の参照デ

ータに対して比較することを指定します。

リストから国を選択します。デフォルトは[なし]です。

要素の略式表記

このオプションは、USPSで許容される 大長を超える場合、トランスフォーメーションが

米国の番地や地域を記述する値をUSPSの短い形式で返すかどうかを決定します。

米国のアドレス参照データは、一部のアドレス値の短い形式と長い形式両方を保持しま

す。たとえば、HUNTSVILLE BROWNSFERRY RDの短い形式はHSV BROWNS FRY RDです。

このオプションは、トランスフォーメーションをバッチモードで使用する場合には地域を

記述する値を短い形式で返し、認証モードで使用する場合には、番地および地域を記述す

る値を短い形式で返します。

このオプションはデフォルトではクリアされます。

実行インスタンス数

このプロパティは、トランスフォーメーションが実行時に使用するスレッド数を決定しま

す。

実行インスタンス数の値を増やすと、検証のパフォーマンスが向上します。同時アドレス

検証マッピングを実行する必要がある場合、またはIntegration Serviceの負荷が高い場合

36 章 2: アドレスバリデータトランスフォーメーション

Page 58: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

は、このプロパティを編集します。実行インスタンス数の値は、CPUコアの数より少なくし

ます。多く設定すると、トランスフォーメーションはアクティブモードで実行します。

注: PowerCenterセッションでアドレスバリデータトランスフォーメーションを使用する場

合、このプロパティは、トランスフォーメーションが実行時に使用するプロセス数を決定

します。

デフォルトは1です。

入力形式の種類

このプロパティは、フィールド化されていない入力データに含まれる も一般的な情報の

種類を示します。このオプションは、入力データを住所の正式表記やフォーマットされた

アドレス行ポートに接続する場合に使用します。マッピングソリューションでの情報を

も適切に表すオプションを選択します。

次のいずれかのオプションを選択します。

¨ すべて(デフォルトのオプション)

¨ 住所

¨ 組織

¨ 担当者

¨ 組織/担当者(住所に組織と担当者情報が含まれます)

¨ 組織/部署(住所に組織と部署情報が含まれます)

国を含む入力形式

国を含む入力形式プロパティは、入力額にデータを含むかどうかを指定します。このオプ

ションは、入力データを住所の正式表記やフォーマットされたアドレス行ポートに接続す

る場合、およびそのデータが国情報を含む場合に使用します。

このオプションはデフォルトではクリアされます。

行セパレータ

行セパレータプロパティは、1行のアドレス内のデータフィールドを区切る記号を指定しま

す。

次のいずれかのオプションを選択します。

¨ 復帰改行文字

¨ カンマ

¨ セミコロン(デフォルトのオプション)

¨ タブ

¨ Windows改行(CRLF)

注: 行セパレータは[全般設定]タブで設定することもできます。

アドレスバリデータトランスフォーメーションの詳細プロパティ 37

Page 59: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

一致する代替用語

一致する代替用語プロパティは、検証の実行時にトランスフォーメーションが同義語や歴

史的な場所の名前などの代替用語を考慮するかどうかを決定します。

以下の表に、一致する代替用語のオプションを示します。

オプション 説明

すべて アドレス検証は既知の代替用語すべてを認識します。

これがデフォルトのオプションです。

アーカイブのみ アドレス検証は歴史的な用語を認識します。例えば、

「Constantinople」を「Istanbul」の古い呼称として

検証できます。

なし アドレス検証は代替用語を認識しません。

同義語のみ アドレス検証は同義語およびエクソニム(外名)を認

識します。たとえば、「Londres」を「London」のエク

ソニム(外名)として検証できます。

一致するスコープ

一致するスコーププロパティは、トランスフォーメーションがアドレス検証中にアドレス

参照データに対して一致させるデータ量を決定します。

以下の表に、一致するスコープのオプションを示します。

オプション 説明

すべて アドレス検証は選択したすべてのポートを検証しま

す。これがデフォルトのオプションです。

納入場所 アドレス検証は、[市区町村]オプションで検証され

るデータに加え、建物および棟のデータを検証しま

す。

市区町村 アドレス検証は、都道府県、市区町村、および郵便番

号データを検証します。

番地 アドレス検証は、[市区町村]オプションで検証され

るデータに加え、番地アドレスデータを検証します。

38 章 2: アドレスバリデータトランスフォーメーション

Page 60: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

モード

モードプロパティはトランスフォーメーションが実行するアドレス処理の種類を決定しま

す。

以下の表に、モードのオプションを示します。

オプション 説明

バッチ 参照データに対してアドレス検証を実行します。これ

がデフォルトのオプションです。

認証 アドレス検証を、郵便サービス認証標準への参照デー

タに対して実行します。

国認識 国情報を含まない入力アドレスを識別します。

解析 検証を実行せずにデータをアドレスフィールドに解析

します。

提案リスト アドレス検証を実行し、入力アドレスに対するアドレ

ス候補のリストを生成します。提案リストモードは入

力専用アプリケーションで使用します。

注: 処理モードは[全般設定]タブで設定することもできます。

適化レベル

適化レベルプロパティは、トランスフォーメーションが入力アドレスデータとアドレス

参照データを一致させる方法を決定します。このオプションは、トランスフォーメーショ

ンがアドレスレコードを参照データ要素で更新する前に、入力アドレスと参照データ間で

一致させるアドレス検証中にアドレス参照データに対して一致させる範囲を決定します。

以下の表に、 適化レベルのオプションを示します。

オプション 説明

低 トランスフォーメーションは検証を行う前に、番地情

報から建物および住居番号を解析しますが、入力アド

レス要素については入力ポート構造に従って厳密に検

証します。低オプションは、アドレス検証を 速で実

行しますが、 他のレベルよりも精度が低下します。

標準 トランスフォーメーションは検証を行う前に、入力デ

ータから複数の種類のアドレス情報を解析します。標

準オプションを選択すると、トランスフォーメーショ

ンは複数の入力値と参照データを一致させることがで

きる場合にアドレスを更新します。

これがデフォルトのオプションです。

高 トランスフォーメーションは標準解析設定を使用し、

入力データ全体に対して追加の解析処理を実行しま

アドレスバリデータトランスフォーメーションの詳細プロパティ 39

Page 61: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

オプション 説明

す。高オプションを選択すると、トランスフォーメー

ションは少なくとも1つの入力値と参照データを一致さ

せることができる場合にアドレスを更新します。高オ

プションではマッピングの実行時間が大幅に増加しま

す。また、入力アドレスと参照データの誤一致が発生

します。

出力形式の種類

出力形式の種類プロパティは、トランスフォーメーションが住所の正式表記やフォーマッ

トされたアドレス行の出力ポートに書き込む情報の一般的な種類を記述します。トランス

フォーメーションの出力データを も適切に表すオプションを選択します。

次のいずれかのオプションを選択します。

¨ すべて(デフォルトのオプション)

¨ 住所

¨ 組織

¨ 担当者

¨ 組織/担当者(住所に組織と担当者情報が含まれます)

¨ 組織/部署(住所に組織と部署情報が含まれます)

国を含む出力形式

このプロパティは、トランスフォーメーションが住所の正式表記や国情報を含むフォーマ

ットされたアドレス行の出力ポートに書き込む情報を決定します。

このオプションはデフォルトではクリアされます。

優先される言語

優先される言語プロパティは、出力データの言語を決定します。

アドレスバリデータトランスフォーメーションは、複数の言語および文字セットのデータ

を含むデータソースを処理できます。トランスフォーメーションがラテンアルファベット

でエンコードされていないアドレスレコードを読み取る場合、レコードは処理前にラテン

アルファベットに置き換えられます。次に、ラテンデータが処理され、指定した優先され

る言語に結果が変換されます。デフォルトでは、プロパティは入力レコードの言語を使用

します。

40 章 2: アドレスバリデータトランスフォーメーション

Page 62: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、このプロパティのオプションを示します。

オプション 説明

代替1、代替2、代替3 これらのプロパティは将来使用するために予約されて

います。

データベース 各アドレスに適用されるアドレス参照データの言語を

使用します。これがデフォルトのオプションです。

英語 参照データに英語版が含まれる場合は、英語版の市区

町村名と都道府県名を使用します。

注: 出力データに対して優先される言語および優先されるスクリプトを指定した場合は、

選択した言語および文字エンコードとの互換性があることを確認します。

優先されるスクリプト

優先されるスクリプトプロパティは、アドレスバリデータトランスフォーメーションが出

力データに使用する文字セットを決定します。

アドレスバリデータトランスフォーメーションは、複数の言語および文字セットのデータ

を含むデータソースを処理できます。トランスフォーメーションはすべての入力データを

Unicode UCS-2 文字セットに変換し、データをこの形式で処理します。データの処理後

に、トランスフォーメーションは各アドレスレコードのデータを優先されるスクリプトプ

ロパティで指定した文字セットに変換します。このプロセスは、文字変換とも呼ばれま

す。デフォルトでは、プロパティは入力レコードの文字セットを使用します。

以下の表に、このプロパティのオプションを示します。

オプション 説明

ASCII(簡易) アドレス検証はASCII文字を使用します。

ASCII(拡張) アドレス検証はASCII文字と特殊文字の拡張を使用しま

す。例えば、ÖはOEに置き換えられます。

データベース アドレス検証は各アドレスに適用されるアドレス参照

データの文字エンコードを使用します。これがデフォ

ルトのオプションです。

ラテン アドレス検証はラテン1文字を使用します。

ラテン(代替) アドレス検証はラテン1文字と代替表記を使用します。

郵政 アドレス検証は、宛先の国のメール配信業者の設定に

従って、ラテン1文字またはASCII文字を使用します。

郵政(代替) アドレス検証は、宛先の国のメール配信業者が代替文

字セットをサポートしている場合、ラテン1文字または

ASCII文字を使用します。

アドレスバリデータトランスフォーメーションの詳細プロパティ 41

Page 63: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

処理を行うために文字を変換する場合、 文字変換では、文字セットの各文字の数値表現を

使用できます。また、文字と等価の数値表現がない場合、文字を音写変換することもでき

ます。アドレスバリデータトランスフォーメーションが文字をUCS-2にマップできない場

合、文字はスペースに変換されます。

注: 出力データに対して優先される言語および優先されるスクリプトを指定した場合は、

選択した言語および文字エンコードとの互換性があることを確認します。

アドレスバリデータトランスフォーメーションの全般設定

アドレス検証の必須のパラメータを設定するには、全般設定を設定します。

[全般設定]ビューでは、以下のプロパティを設定します。

デフォルトの国

入力アドレスデータから国の情報を特定できない場合に使用する参照データセットを

設定します。 データに国の情報が含まれている場合は[なし]を選択します。

国を強制的に適用

アドレスに国固有の情報が含まれているかどうかに関係なく、特定の参照データセッ

トを使用するように強制します。

行セパレータ

1行のアドレス内のデータフィールドを区切る区切り文字記号を指定します。

大文字小文字表記

出力データの大文字小文字の表記を設定します。 参照データの標準に従って先頭の文

字を大文字にする場合は、[混在]を選択します。 アドレス参照データで使用される

大文字小文字の表記が返されるようにする場合は、[維持]を選択します。

モード

トランスフォーメーションで実行する検証のタイプを決定します。 デフォルトのモー

ドは[バッチ]です。

次のいずれかのオプションを選択します。

モードの種類 説明

国認識 アドレス検証を実行せずに郵便アドレ

スの配達先の国を決定します。

解析 検証を実行せずにデータをアドレスフ

ィールドに解析します。

提案リスト アドレス検証を実行し、入力アドレス

に対するアドレス候補のリストを生成

します。

42 章 2: アドレスバリデータトランスフォーメーション

Page 64: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

モードの種類 説明

注: 提案リストモードは、個別入力ポ

ートグループのポートで使用します。

バッチ アドレス検証を実行します。

認証 郵政機関の認証基準を満たす検証を実

行します。

提案リストモード

提案リストモードを選択した場合、アドレスバリデータトランスフォーメーションでアド

レス参照データが検索され、入力アドレスに一致する可能性があるすべてのアドレスが返

されます。

アドレスの精度を検証する必要がある場合は、このモードを選択します。

このモードは、例えば、データ入力端末のWebサービスから実行されるアドレス検証マッピ

ングで使用できます。データ入力端末でユーザーがアドレスを入力すると、Webサービスで

マッピングが実行されます。 マッピングは、アドレス参照データ内で検出した類似または

一致するアドレスを返します。ユーザーは、入力アドレスを使用することも、マッピング

で提案されたアドレスを選択することもできます。

提案リストモードを選択するときは、以下の点を考慮してください。

¨ トランスフォーメーションを提案リストモードで設定するときは、個別入力グループの

ポートを使用します。

¨ 提案リストモードでは、各入力レコードに対して複数のレコードが返される場合があり

ます。したがって、検証可能なデータセットのサイズに制限はありませんが、提案リス

トモードをバッチモード操作の代わりに使用することはできません。

認証レポートアドレスバリデータトランスフォーメーションのアドレス検証操作を認証している郵便運

送業者向けのレポートを生成することができます。

このレポートは、アドレス検証操作が郵便運送業者の標準に準拠していることの証明にな

ります。 例えば、米国郵政公社(USPS)では、米国のアドレスをZIP+4コードレベルまで

検証するソフトウェアエンジンを認証しています。 アドレスバリデータトランスフォーメ

ーションでは、米国のアドレスをZIP+4コードレベルまで検証し、仕分けや配達に役立つ追

加のデータを提供できます。

アドレスバリデータトランスフォーメーションは、以下の標準の認証を受けています。

Address Machine Approval System(AMAS)

オーストラリア郵政省が定めた、オーストラリアのアドレスを検証するソフトウェア

アプリケーションの認証基準です。

認証レポート 43

Page 65: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Coding Accuracy Support System(CASS)

USPSが定めた、米国のアドレスを検証するソフトウェアアプリケーションの認証基準

です。

Software Evaluation and Recognition Program(SERP)

カナダ郵政省が定めた、カナダのアドレスを検証するソフトウェアアプリケーション

の認証基準です。

認証されたソフトウェアを使用してアドレスデータを検証すると、郵便運送業者から割引

を受けられる場合があります。

レポートは、郵便運送業者に郵便物を渡すときに郵送先住所のリストと一緒に提出しま

す。 レポートには組織に関するデータが含まれます。 このデータはアドレスバリデータ

トランスフォーメーションの設定時に入力します。 レポートファイルは、指定したパスに

書き込まれます。

AMASレポートのフィールド

オーストラリア郵政省のAMASレポートを選択した場合、[レポート]ビューで組織に関す

るデータを入力します。

次の表に、入力する情報を示します。

フィールド 説明

レポートファイル名 トランスフォーメーションで作成する

レポートのパス。 デフォルトでは、

Informaticaインストールのbinディレ

クトリにレポートが作成されます。

レポートファイルをマシン上の別の場

所に書き込むには、ファイルパスとフ

ァイル名を入力します。 パスは完全

修飾パスでも相対パスでもかまいませ

ん。 相対パスのルートディレクトリ

にはbinディレクトリが使用されます。

指定するディレクトリは、アドレス検

証マッピングの実行前に作成しておく

必要があります。

住所リスト名 郵便運送業者に提出する住所リストの

名前。

プロセッサ名を一覧表示 アドレス検証を実行する組織の名前。

リストの管理者/所有者の名前 組織内のアドレスデータの管理者また

は所有者の名前。

電話番号 アドレス検証を実行する組織の連絡先

電話番号。

住所 アドレス検証を実行する組織の住所。

44 章 2: アドレスバリデータトランスフォーメーション

Page 66: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

関連項目:

¨ 「認証レポートの定義」 (48ページの)

CASSレポートのフィールド

USPSのCASSレポートを選択した場合、[レポート]ビューで組織に関するデータを入力し

ます。

次の表に、入力する情報を示します。

フィールド 説明

レポートファイル名 トランスフォーメーションで作成する

レポートのパス。 デフォルトでは、

Informaticaインストールのbinディレ

クトリにレポートが作成されます。

レポートファイルをマシン上の別の場

所に書き込むには、ファイルパスとフ

ァイル名を入力します。 パスは完全

修飾パスでも相対パスでもかまいませ

ん。 相対パスのルートディレクトリ

にはbinディレクトリが使用されます。

指定するディレクトリは、アドレス検

証マッピングの実行前に作成しておく

必要があります。

リスト名/ID 郵便運送業者に提出する住所リストの

名前またはID番号。

プロセッサ名を一覧表示 アドレス検証を実行する組織の名前。

名前/住所 アドレス検証を実行する組織の名前と

住所。

関連項目:

¨ 「認証レポートの定義」 (48ページの)

SERPレポートのフィールド

カナダ郵政省のSERPレポートを選択した場合、[レポート]ビューで組織に関するデータ

を入力します。

次の表に、入力する情報を示します。

フィールド 説明

レポートファイル名 トランスフォーメーションで作成する

レポートのパス。 デフォルトでは、

Informaticaインストールのbinディレ

クトリにレポートが作成されます。

認証レポート 45

Page 67: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

フィールド 説明

レポートファイルをマシン上の別の場

所に書き込むには、ファイルパスとフ

ァイル名を入力します。 パスは完全

修飾パスでも相対パスでもかまいませ

ん。 相対パスのルートディレクトリ

にはbinディレクトリが使用されます。

指定するディレクトリは、アドレス検

証マッピングの実行前に作成しておく

必要があります。

顧客CPC番号 アドレス検証を実行する組織のカナダ

郵政省発行の顧客番号。

顧客名/アドレス アドレス検証を実行する組織の名前と

住所。

関連項目:

¨ 「認証レポートの定義」 (48ページの)

アドレスバリデータトランスフォーメーションの設定

アドレスバリデータトランスフォーメーションは、郵便アドレスデータの品質を検証して

改善するために使用します。

アドレスバリデータトランスフォーメーションでは、アドレス参照データを読み取りま

す。 必要なアドレス参照データファイルにDeveloperツールからアクセスできることを確

認してください。

1. トランスフォーメーションを開きます。

2. [全般設定]ビューをクリックし、全般プロパティを設定します。

3. [テンプレート]ビューをクリックし、入力ポートと出力ポートを追加します。

4. [レポート]ビューをクリックし、郵政機関のアドレス認証用のレポートを生成しま

す。

5. [詳細]ビューをクリックし、アドレス検証の詳細プロパティを設定します。

6. 入力ポートおよび出力ポートを接続します。

注: アドレスバリデータトランスフォーメーションで検証しない入力ポートは、

[パススルー]入力ポートグループに接続します。

46 章 2: アドレスバリデータトランスフォーメーション

Page 68: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

アドレスバリデータトランスフォーメーションへのポートの追加

アドレスバリデータトランスフォーメーションにポートを追加するには、[テンプレー

ト]ビューを使用します。

1. [テンプレート]ビューをクリックします。

2. テンプレートを展開します。

¨ 一般的なアドレスフィールドを追加する場合は、[基本モデル]テンプレートを選

択します。

¨ 特殊なアドレスフィールドを追加する場合は、[詳細モデル]テンプレートを選択

します。

3. 入力データの形式に対応する入力ポートグループを展開します。 選択できる入力ポー

トグループは、[個別]、[複数行]、および[混合]です。

4. 入力ポートを選択します。

ヒント: 複数のポートを選択するには、Ctrlキーを押しながらクリックします。

5. ポートを右クリックし、[トランスフォーメーションにポートを追加]を選択しま

す。

6. 必要なフィールドを含む出力ポートグループを展開します。

7. ポートを右クリックし、[トランスフォーメーションにポートを追加]を選択しま

す。

8. 検証しないカラム用のパススルーポートを追加するには、[ポート]ビューをクリッ

クし、[パススルー]入力ポートグループを選択して、[新規]をクリックします。

ユーザー定義テンプレートの作成再利用するアドレスポートをグループ化するには、テンプレートを作成します。

カスタムテンプレートは、基本モデルおよび詳細モデルのテンプレートからポートを選択

して作成します。 作成したカスタムテンプレートは、以降にアドレスバリデータトランス

フォーメーションを作成する際に選択することができます。

注: テンプレートはリポジトリオブジェクトではありません。 作成に使用したマシンに

保存されます。

1. [テンプレート]ビューを選択します。

2. [新規]をクリックします。

3. テンプレートの名前を入力します。

4. [基本モデル]テンプレートまたは[詳細モデル]テンプレートを展開し、必要なポ

ートを選択します。

5. [OK]をクリックします。

アドレスバリデータトランスフォーメーションへのポートの追加 47

Page 69: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

アドレスバリデータのモデルの定義アドレスバリデータのモデルとは、アドレスバリデータトランスフォーメーションのデフ

ォルトの入力ポートと出力ポートを定義したものです。

アドレスバリデータトランスフォーメーションには、デフォルトの入力ポートと出力ポー

トはありません。 ただし、モデルを定義することで、アドレスバリデータトランスフォー

メーションで使用する入力ポートと出力ポートを指定できます。

注: モデルはリポジトリオブジェクトではありません。 作成に使用したマシンに保存さ

れます。

アドレスバリデータのモデルを定義するには、以下の手順を実行します。

1. [テンプレート]ビューを選択します。

2. [基本モデル]テンプレートまたは[詳細モデル]テンプレートを展開し、必要なポ

ートを選択します。

3. [選択したポートを使用してデフォルトAVモデルを作成]を選択します。

4. モデルをリセットしてすべてのポートを削除するには、[デフォルトAVモデルのクリ

ア]を選択します。

認証レポートの定義アドレスバリデータトランスフォーメーションで認証レポートを定義するときは、[全般

設定]ビューと[レポート]ビューでオプションを設定します。

1. [全般設定]ビューで、[モード]オプションを[認証]に設定します。

2. [レポート]ビューで、生成するレポートのタイプを選択します。 以下のタイプのレ

ポートを選択できます。

オプショ

説明

AMASレポート レコードセットに関してオーストラリア郵政省か

ら要求される情報が含まれます。

CASSレポート レコードセットに関してUSPSから要求される情報

が含まれます。

SERPレポート レコードセットに関してカナダ郵政省から要求さ

れる情報が含まれます。

3. 選択したレポートのタイプに応じて、レポートの詳細を入力します。

レポートファイルは、アドレスバリデータトランスフォーメーションで検証したアドレス

レコードのリストと一緒に郵便運送業者に提出します。

48 章 2: アドレスバリデータトランスフォーメーション

Page 70: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

関連項目:

¨ 「AMASレポートのフィールド」 (44ページの)

¨ 「CASSレポートのフィールド」 (45ページの)

¨ 「SERPレポートのフィールド」 (45ページの)

認証レポートの定義 49

Page 71: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 3 章

アグリゲータトランスフォーメーション

この章では、以下の項目について説明します。

¨ アグリゲータトランスフォーメーションの概要, 50 ページ

¨ アグリゲータトランスフォーメーションの開発, 51 ページ

¨ アグリゲータトランスフォーメーションのポート, 51 ページ

¨ アグリゲータトランスフォーメーションの詳細プロパティ, 52 ページ

¨ 集計キャッシュ, 53 ページ

¨ 集計式, 54 ページ

¨ Group Byポート, 55 ページ

¨ アグリゲータトランスフォーメーションの[ソート済み入力]オプション, 56 ペー

¨ 再利用可能なアグリゲータトランスフォーメーションの作成, 58 ページ

¨ 再利用不可能なアグリゲータトランスフォーメーションの作成, 59 ページ

¨ アグリゲータトランスフォーメーションに関するヒント, 59 ページ

¨ アグリゲータトランスフォーメーションのトラブルシューティング, 60 ページ

アグリゲータトランスフォーメーションの概要

アグリゲータトランスフォーメーションを使用して、平均値や合計値などの集計計算を実

行します。Data Integration Serviceは、データグループおよび行データを読み取って集

計キャッシュに保存する際に、集計計算を実行します。 アグリゲータトランスフォーメー

ションはアクティブなトランスフォーメーションです。

アグリゲータトランスフォーメーションは、式トランスフォーメーションとは異なり、グ

ループに対して計算を実行するために使用します。式トランスフォーメーションでは、行

単位の計算だけが可能です。

50

Page 72: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トランスフォーメーション言語を使用して集計式を作成する場合、条件句を使用して行を

フィルタリングすることで、SQL言語より優れた柔軟性を実現できます。

差分集計を有効にすることができます。 Data Integration Serviceでの差分集計実行時に

は、マッピングを通してソースデータが渡され、履歴キャッシュデータを使用して差分集

計計算が実行されます。

アグリゲータトランスフォーメーションの開発

アグリゲータトランスフォーメーションを開発するときは、実行する計算のタイプやトラ

ンスフォーメーションのパフォーマンスなどの項目について考慮する必要があります。

アグリゲータトランスフォーメーションを開発するときは、以下の項目について考慮して

ください。

¨ データを計算するために出力ポートで使用する式。

¨ 集計キャッシュを使用してトランスフォーメーションデータを処理するかどうか。

¨ すべての入力データで集計を実行する代わりに、Group Byポートを使用して集計対象と

なるグループを定義するかどうかするかどうか。 Group Byポートを使用すると、パフ

ォーマンスを向上させることができます。

¨ [ソート済み入力]オプションを使用して、Data Integration Serviceがグループの行

を読み込みながら集計計算を実行するようにするかどうか。

アグリゲータトランスフォーメーションのポート

アグリゲータトランスフォーメーションにはさまざまなポートタイプがあり、これらを使

用して、データの集計やデータのグループ化など、さまざまなトランスフォーメーション

タスクを実行できます。

アグリゲータトランスフォーメーションは、以下のポートタイプを備えています。

入力

アップストリームトランスフォーメーションからデータを受信します。

出力

式の戻り値を格納します。 式には非集計式や条件句を含めることができます。複数の

集計出力ポートを作成できます。

パススルー

変更せずにそのままデータを渡します。

アグリゲータトランスフォーメーションの開発 51

Page 73: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

変数

ローカル変数に使用されます。

Group By

グループの作成方法を示します。ポートは、任意の入力ポート、入出力ポート、出力

ポート、または変数ポートを設定できます。データのグループ分けを行う場合、アグ

リゲータトランスフォーメーションは、原則として、各グループの 終行を出力しま

す。

アグリゲータトランスフォーメーションの詳細プロパティ

Data Integration Serviceでアグリゲータトランスフォーメーションのデータがどのよう

に処理されるかを特定するためのプロパティを設定します。

以下の表に、アグリゲータトランスフォーメーションの詳細プロパティを示します。

キャッシュディレクトリ

Data Integration Serviceでのインデックスキャッシュファイルとデータキャッシュ

ファイルの作成先となるローカルディレクトリ。 このディレクトリが存在し、集計キ

ャッシュを格納するのに十分なディスク容量を備えていることを確認します。

差分集計を有効にした場合は、マッピングを実行するたびにData Integration

Serviceでファイルのバックアップが作成されます。 キャッシュディレクトリには、2

セットのファイルを格納できるだけの十分なディスク容量が必要です。

データキャッシュサイズ

トランスフォーメーションのデータキャッシュサイズ。デフォルトは[自動]です。

インデックスキャッシュサイズ

トランスフォーメーションのインデックスキャッシュサイズ。デフォルトは[自動]

です。

ソート済み入力

入力データがグループ単位で事前にソートされていることを示します。 このオプショ

ンは、マッピングでアグリゲータトランスフォーメーションにソート済みデータが渡

される場合にのみ選択してください。

スコープ

Data Integration Serviceで入力データにトランスフォーメーションロジックをどの

ように適用するかを指定します。

¨ Transaction。トランスフォーメーションロジックをトランザクションのすべての

行に適用します。データの行が同一トランザクション内のすべての行に依存し、他

のトランザクションの行には依存していない場合には、[Transaction]を選択し

ます。

52 章 3: アグリゲータトランスフォーメーション

Page 74: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ All Input。トランスフォーメーションロジックをすべての入力データに適用しま

す。Data Integration Serviceによって入力トランザクション境界が削除されま

す。 データの行がソース内のすべての行に依存している場合は、[All Input]を

選択します。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

集計キャッシュアグリゲータトランスフォーメーションを使用するマッピングを実行すると、Data

Integration Serviceはメモリにインデックスキャッシュおよびデータキャッシュを作成し

てトランスフォーメーションを処理します。 Data Integration Serviceでさらに多くの

領域が必要になると、オーバーフローした値がキャッシュファイルに格納されます。

インデックスキャッシュおよびデータキャッシュはアグリゲータトランスフォーメーショ

ンで設定できます。

Data Integration Serviceはメモリを使用して、ソート済みのポートを使用したアグリゲ

ータトランスフォーメーションを処理します。 キャッシュメモリは使用されません。ソー

ト済みポートを使用するアグリゲータトランスフォーメーションでは、キャッシュメモリ

を設定する必要はありません。

集計キャッシュ 53

Page 75: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

集計式Developerツールでは、アグリゲータトランスフォーメーションでのみ集計式が使えます。

集計式には、条件句や非集計関数を含めることができます。また、以下のように別の集計

関数内にネストした集計関数を1つ含めることができます。

MAX( COUNT( ITEM ))

集計式の結果は、トランスフォーメーション内のGroup Byポートに基づいて変わります。

例えばData Integration Servicで、Group Byポートが定義されていない状態で以下の集

計式が計算された場合、全品目の合計販売数量が算出されます。

SUM( QUANTITY )

一方、同じ式でITEMポート別にグループ分けを指定すると、Data Integration Serviceは

品目ごとの販売数量を返します。

任意の出力ポートで集計式を作成でき、また1つのトランスフォーメーションで複数の集計

ポートを使用できます。

集計関数

集計関数はアグリゲータトランスフォーメーション内で使用します。 1つの集計関数を別

の集計関数にネストすることができます。

トランスフォーメーション言語には、以下の集計関数が用意されています。

¨ AVG

¨ COUNT

¨ FIRST

¨ LAST

¨ MAX

¨ MEDIAN

¨ MIN

¨ PERCENTILE

¨ STDDEV

¨ SUM

¨ VARIANCE

これらの関数はアグリゲータトランスフォーメーション内の式で使用する必要がありま

す。

ネストされた集計関数

アグリゲータトランスフォーメーションの異なる出力ポートに、単一レベルの関数を複数

含めたり、複数レベルにネストされた関数を複数含めたりすることができます。

アグリゲータトランスフォーメーションには、単一レベルの関数とネストされた関数の両

方を含めることはできません。 そのため、アグリゲータトランスフォーメーションの出力

ポートに単一レベルの関数が含まれる場合には、そのトランスフォーメーションの他のポ

54 章 3: アグリゲータトランスフォーメーション

Page 76: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ートでネストされた関数を使うことはできません。単一レベルの関数とネストされた関数

を同じアグリゲータトランスフォーメーションに含めると、そのマッピングまたはマップ

レットはDeveloperツールによって無効とされます。 単一レベルの関数とネストされた関

数の両方を作成する必要がある場合は、別々のアグリゲータトランスフォーメーションを

作成してください。

集計式の条件句

集計で使用される行の数を削減するには、集計式で条件句を使用します。条件句には、

TRUEまたはFALSEに評価される任意の句を使用できます。

たとえば以下の式を使用して、四半期単位のノルマを超過して達成した従業員の歩合総額

を算出します。

SUM( COMMISSION, COMMISSION > QUOTA )

Group Byポートアグリゲータトランスフォーメーションを使用すると、すべての入力データで集計を実行

する代わりに、集計対象となるグループを定義できます。たとえば、会社の総売上高を求

めるのでなく、地域ごとにグループ分けした総売上高の確認ができます。

集計式に対してグループを定義するには、アグリゲータトランスフォーメーションで該当

する入力、入出力、出力、および変数ポートを選択します。複数のGroup Byポートを選択

して、一意なグループの組み合わせそれぞれについて新しいグループを作成することがで

きます。その後、Data Integration Serviceではグループごとに定義済みの集計が実行さ

れます。

値をグループ分けすると、Data Integration Serviceはグループごとに1つの行を生成しま

す。 値をグループ分けをしないと、Data Integration Serviceはすべての入力行に対して

1つの行を返します。 一般には、各グループの 終行(または 後に受信した行)と集計

結果が返されます。 ただし、(例えばFIRST関数を使用して)特定の行を返すように指定

した場合、Data Integration Serviceはその行を返します。

アグリゲータトランスフォーメーションで複数のGroup Byポートを選択すると、Data

Integration Serviceはポートの順序に基づいてグループ分けの順序を決定します。 グル

ープの順序は結果に影響を及ぼす場合もあるため、グループ分けが妥当なものとなるよう

に、Group Byポートの順序付けを行ってください。たとえば、ITEM_IDの後でQUANTITYの

グループ分けを行った場合の結果と、QUANTITYの後でITEM_IDのグループ分けを行った場合

の結果が異なることもありますが、その理由は、数量の数値が必ずしも一意ではないから

です。

このアグリゲータトランスフォーメーションに以下のデータを渡すとします。

STORE_ID ITEM QTY PRICE101 'battery' 3 2.99101 'battery' 1 3.19101 'battery' 2 2.59101 'AAA' 2 2.45201 'battery' 1 1.99201 'battery' 4 1.59301 'battery' 1 2.45

Group Byポート 55

Page 77: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Data Integration Serviceは、以下の一意なグループに対して集計計算を実行します。

STORE_ID ITEM101 'battery'101 'AAA'201 'battery'301 'battery'

その後、Data Integration Serviceは、 後に受信した行と集計結果を、次のように渡し

ます。

STORE_ID ITEM QTY PRICE SALES_PER_STORE101 'battery' 2 2.59 17.34101 'AAA' 2 2.45 4.90201 'battery' 4 1.59 8.35301 'battery' 1 2.45 2.45

非集計式

グループの変更または置き換えを実行するには、Group Byポートで非集計式を使用しま

す。

例えば、グループ分けの前に「AAA battery」を置換する場合には、以下の式を用いて、

CORRECTED_ITEMという名のGroup By出力ポートを作成できます。

IIF( ITEM = 'AAA battery', battery, ITEM )

Group Byポートのデフォルト値

NULL入力値を置き換えるには、グループ内の各ポートにデフォルト値を定義します。これ

により、Data Integration ServiceはNULLの品目グループを集計に含めることができま

す。

アグリゲータトランスフォーメーションの[ソート済み入力]オプション

[ソート済み入力]オプションを使用して、アグリゲータトランスフォーメーションのパ

フォーマンスを向上させることができます。

[ソート済み入力]オプションを使用すると、Data Integration Serviceではすべてのデ

ータがグループ別にソートされているものと想定され、グループの行を読み込んでから集

計計算が実行されます。 必要に応じて、メモリにグループ情報が格納されます。 [ソー

ト済み入力]オプションを使用するには、ソート済みデータをアグリゲータトランスフォ

ーメーションに渡す必要があります。

[ソート済み入力]オプションを使用しない場合、Data Integration Serviceは読み込み

と並行して集計計算を実行します。 この場合、データはソートされていないため、すべて

の集計計算が正確に実行されるように、Data Integration Serviceはソース全体の読み込

みが完了するまで各グループのデータを格納しておきます。

例えば、あるアグリゲータトランスフォーメーションでSTORE_IDとITEMのGroup Byポート

があり、[ソート済み入力]オプションが選択されているとします。Aggregatorを通して

56 章 3: アグリゲータトランスフォーメーション

Page 78: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下のデータを渡すと、Data Integration Serviceは201/batteryグループを検出した時点

で、101/batteryグループの3つの行を集計します。

STORE_ID ITEM QTY PRICE101 'battery' 3 2.99101 'battery' 1 3.19101 'battery' 2 2.59201 'battery' 4 1.59201 'battery' 1 1.99

[ソート済み入力]オプションを使用する場合、前もってデータを正しくソートしておか

ないと、予期しない結果が生じます。

[ソート済み入力]オプションの条件

特定の条件では、[ソート済み入力]オプションを使用できない場合があります。

以下のいずれかの条件が当てはまる場合には、[ソート済み入力]オプションを使用しな

いでください。

¨ 集計式がネストされた集計関数を使用している。

¨ トランスフォーメーションで差分集計を使用している。

[ソート済み入力]オプションを使用した場合、データを正しくソートしないと、マッピ

ングの実行は失敗します。

アグリゲータトランスフォーメーションでのデータのソート

[ソート済み入力]オプションを使用する場合は、ソート済みデータをアグリゲータトラ

ンスフォーメーションへ渡します。

AggregatorのGroup Byポートごとに、アグリゲータトランスフォーメーションに表示され

る順で、データをソートする必要があります。

リレーショナルファイル入力およびフラットファイル入力の場合、アグリゲータトランス

フォーメーションにデータを渡す前に、ソータートランスフォーメーションを使用してマ

ッピング内でデータをソートします。 ソート済みデータの順序を変更するトランスフォー

メーションが1つもない場合は、マッピング内のAggregatorより前の任意の場所にソーター

トランスフォーメーションを配置できます。 アグリゲータトランスフォーメーションの中

のグループ別カラムの順序はソータートランスフォーメーションと同じでなければなりま

せん。

アグリゲータトランスフォーメーションの[ソート済み入力]オプション 57

Page 79: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

次のマッピングは、ITEM_NOの昇順にソースデータをソートするよう構成されたソータート

ランスフォーメーションを示しています。

ソータートランスフォーメーションは下記のようにデータをソートします。

ITEM_NO ITEM_NAME QTY PRICE345 Soup 4 2.95345 Soup 1 2.95345 Soup 2 3.25546 Cereal 1 4.49546 Cereal 2 5.25

[ソート済み入力]オプションを使用した場合、アグリゲータトランスフォーメーション

は下記の結果を返します。

ITEM_NAME QTY PRICE INCOME_PER_ITEMCereal 2 5.25 14.99Soup 2 3.25 21.25

再利用可能なアグリゲータトランスフォーメーションの作成

複数のマッピングまたはマプレットで使用する、再利用可能なアグリゲータトランスフォ

ーメーションを作成します。

1. [Object Explorer]ビューで、プロジェクトまたはフォルダを選択します。

2. [ファイル] > [新規] > [トランスフォーメーション]をクリックします。

[新規]ダイアログボックスが表示されます。

3. アグリゲータトランスフォーメーションを選択します。

4. [次へ]をクリックします。

5. トランスフォーメーションの名前を入力します。

6. [完了]をクリックします。

トランスフォーメーションがエディタに表示されます。

7. [新規]ボタンをクリックして、トランスフォーメーションにポートを追加します。

8. ポートを編集して、名前、データ型、および精度を設定します。

9. 各ポートのタイプ(入力、出力、パススルー、または変数)を決定します。

58 章 3: アグリゲータトランスフォーメーション

Page 80: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

10. 出力ポートの集計式を設定します。

11. [詳細]ビューをクリックし、トランスフォーメーションのプロパティを編集しま

す。

再利用不可能なアグリゲータトランスフォーメーションの作成

マッピングまたはマプレットで再利用不可能なアグリゲータトランスフォーメーションを

作成します。

1. マッピングまたはマプレットで、トランスフォーメーションパレットからエディタに

アグリゲータトランスフォーメーションをドラッグします。

トランスフォーメーションがエディタに表示されます。

2. [プロパティ]ビューで、トランスフォーメーションの名前と説明を編集します。

3. [ポート]ビューで、[新規]ボタンをクリックして、トランスフォーメーションに

ポートを追加します。

4. ポートを編集して、名前、データ型、および精度を設定します。

5. 各ポートのタイプ(入力、出力、パススルー、または変数)を決定します。

6. 出力ポートの集計式を設定します。

7. [詳細]ビューで、トランスフォーメーションのプロパティを編集します。

アグリゲータトランスフォーメーションに関するヒント

アグリゲータトランスフォーメーションをより効果的に使用するためのヒントを紹介しま

す。

[ソート済み入力]オプションを使用し、集計キャッシュの使用量を減らしてください。

[ソート済み入力]オプションはマッピングの実行時にキャッシュに格納されるデー

タ量を減らし、パフォーマンスを向上させます。 このオプションをソータートランス

フォーメーションと共に使用して、ソート済みデータをアグリゲータトランスフォー

メーションに渡します。

接続される入出力ポートまたは出力ポートを制限してください。

接続される入出力ポートまたは出力ポートの数を制限することにより、アグリゲータ

トランスフォーメーションがデータキャッシュに格納するデータ量を減らしてくださ

い。

再利用不可能なアグリゲータトランスフォーメーションの作成 59

Page 81: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

集計に先立ってデータをフィルタリングします。

マッピングでFilterトランスフォーメーションを使用する場合は、そのあとにアグリ

ゲータトランスフォーメーションを配置して、不要な集計を減らしてください。

アグリゲータトランスフォーメーションのトラブルシューティング

アグリゲータトランスフォーメーションをトラブルシューティングすることができます。

[ソート済み入力]オプションを選択しましたが、ワークフローの処理にかかる時間が前と変わりません。

以下のいずれかの条件では、[ソート済み入力]オプションを使用できません。

¨ 集計式が、ネストされた集計関数を含んでいる。

¨ 差分集計を使用している。

¨ ソースデータがデータドリブンである。

以上の条件のいずれかが満たされている場合、Integration Serviceはソート済み入力オプ

ションが使用されていない場合と同様にトランスフォーメーションを処理します。

アグリゲータトランスフォーメーションを使用するとマッピングのパフォーマンスが低下します。

Data Integration Serviceは、ディスクへのページングを行う場合があります。 トラン

スフォーメーションのプロパティでインデックスキャッシュとデータキャッシュのサイズ

を増やせば、パフォーマンスを向上させることができます。

60 章 3: アグリゲータトランスフォーメーション

Page 82: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 4 章

関連付けトランスフォーメーション

この章では、以下の項目について説明します。

¨ 関連付けトランスフォーメーションの概要, 61 ページ

¨ メモリ割り当て, 63 ページ

関連付けトランスフォーメーションの概要関連付けトランスフォーメーションは、一致トランスフォーメーションの出力データを処

理します。 異なる一致クラスタに割り当てられた重複レコードの間のリンクを作成し、そ

れらのレコードをデータ統合やマスタデータ管理の操作で関連付けることができるように

します。

関連付けトランスフォーメーションは、関連レコードのグループ内の行ごとに

AssociationID値を生成し、そのID値を出力ポートに書き込みます。

統合トランスフォーメーションは、関連付けトランスフォーメーションの出力を読み取り

ます。 統合トランスフォーメーションを使用して、共通の関連付けID値を持つレコードに

基づいてマスタレコードを作成します。

関連付けトランスフォーメーションは、入力ポートのデータ値として文字列と数値を受け

入れます。 別のデータ型の入力ポートを追加した場合、トランスフォーメーションによっ

てポートのデータ値が文字列に変換されます。

AssociationID出力ポートは、整数データを書き込みます。 以前のバージョンの

Informatica Data Qualityで設定されたトランスフォーメーションは、AssociationIDポ

ートに文字列データを書き込むことができます。

61

Page 83: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

例: 一致トランスフォーメーションの出力の関連付け

次の表に、同一であると見なされる可能性がある3つのレコードを示します。

ID 名前 住所 市区町

州 郵便番

SSN

1 David

Jones

100

Admiral

Ave.

New

York

NY 10547 987-65-

4321

2 Dennis

Jones

1000

Alberta

Ave.

New

Jersey

NY 987-65-

4321

3 D.

Jones

Admiral

Ave.

New

York

NY 10547-1

521

一致トランスフォーメーションで定義された重複分析操作では、以下の理由で、これらの3

つのレコードはどれも相互に重複するとは見なされません。

¨ 名前および住所のデータに対する重複検索を定義した場合、レコード1とレコード3は重

複と見なされますが、レコード2は除外されます。

¨ 名前および社会保障番号のデータに対する重複検索を定義した場合、レコード1とレコ

ード2は重複と見なされますが、レコード3は除外されます。

¨ 3つのすべての属性(名前、住所、および社会保障番号)に対する重複検索を定義した

場合、いずれのレコードも一致とは見なされません。

関連付けトランスフォーメーションは、異なる一致クラスタのデータをリンクし、クラス

タIDが同じレコードに共通のAssociationID値が割り当てられるようにします。 この例の

場合、次の表に示すように、3つのすべてのレコードに同じAssociationIDが割り当てられ

ます。

ID 名前 住所 市区

町村

州 郵便

番号

SSN 名前

と住

所の

クラ

スタ

ID

名前

SSN

のク

ラス

タID

関連

付け

ID

1 Davi

d

Jone

s

100

Admi

ral

Ave.

New

York

NY 1054

7

987-

65-4

320

1 1 1

2 Denn

is

1000

Albe

New

Jers

ey

NY 987-

65-4

320

2 1 1

62 章 4: 関連付けトランスフォーメーション

Page 84: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ID 名前 住所 市区

町村

州 郵便

番号

SSN 名前

と住

所の

クラ

スタ

ID

名前

SSN

のク

ラス

タID

関連

付け

ID

Jone

s

rta

Ave.

3 D.

Jone

s

Albe

rta

Ave.

New

York

NY 1054

7-15

21

1 2 1

重複レコードのデータは、統合トランスフォーメーションで統合することができます。

メモリ割り当て関連付けトランスフォーメーションで使用される 小限のキャッシュメモリ量を設定でき

ます。デフォルトの設定は400,000バイトです。

この値は、[詳細]タブの[キャッシュファイルサイズ]プロパティで設定します。

デフォルト値は、トランスフォーメーションで使用される 小限のメモリ量を表します。

関連付けトランスフォーメーションは、関連付けるポートの数に基づいて、デフォルト値

の倍数を取得しようとします。 取得するキャッシュメモリは、次の式で計算されます。

(関連付けポートの数 + 1) x デフォルトのキャッシュメモリ

例えば、関連付けポートを7つ設定すると、トランスフォーメーションは320万バイト

(3.05MB)をキャッシュメモリに割り当てようとします。

デフォルトの設定を変更した場合、トランスフォーメーションで追加のメモリの取得は試

行されません。

注: 入力したキャッシュメモリの値が65536を下回る場合、関連付けトランスフォーメーシ

ョンでは値がMB単位で読み取られます。

メモリ割り当て 63

Page 85: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 5 章

大文字小文字変換プログラムトランスフォーメーション

この章では、以下の項目について説明します。

¨ 大文字小文字変換プログラムトランスフォーメーションの概要, 64 ページ

¨ 大文字小文字ストラテジのプロパティ, 65 ページ

¨ 大文字小文字変換プログラムストラテジの設定, 65 ページ

大文字小文字変換プログラムトランスフォーメーションの概要

大文字小文字変換プログラムトランスフォーメーションは、入力データで文字列の大文字

小文字を標準化することによって、データの均一性を実現するパッシブトランスフォーメ

ーションです。

データ品質を高めるには、大文字小文字変換プログラムトランスフォーメーションを使用

して、類似する文字形式にデータをフォーマットします。 大文字、小文字、トグルケー

ス、タイトルケース、センテンスケースなど、定義済みの大文字小文字変換タイプを選択

できます。

参照テーブルを使用して大文字小文字変換を制御することもできます。 参照テーブルを使

用して、入力文字列の大文字小文字を参照テーブルの[有効]カラムの値に変更します。

参照テーブルは、大文字小文字変換タイプが [Title Case] または [Sentence case]

であるときに使用できます。

大文字小文字変換プログラムトランスフォーメーション内に、複数の大文字小文字変換ス

トラテジを作成できます。 各ストラテジは、1つの変換タイプを使用します。 大文字小文

字変換プログラムトランスフォーメーションには、ストラテジの作成に使用するウィザー

ドが用意されています。

64

Page 86: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

大文字小文字ストラテジのプロパティ大文字小文字変換ストラテジのプロパティを設定できます。

[ストラテジ]ビューで、以下の大文字小文字変換のプロパティを設定できます。

参照テーブル

参照テーブルによって指定された大文字化形式を適用します。 大文字小文字変換オプ

ションが [Title Case] または [Sentence case] である場合にのみ適用されま

す。

トークンの先頭部分が参照テーブルと一致した場合、そのトークンの次の文字が大文

字に変わります。 例えば、入力文字列がmcdonaldで、参照テーブルにMcのエントリが

ある場合の出力文字列は、McDonaldです。

変換タイプ

ストラテジで使用される大文字小文字変換メソッドを定義します。 以下の大文字小文

字変換タイプを適用できます。

¨ [Uppercase]。 すべての文字を大文字に変換します。

¨ [Lowercase]。 すべての文字を小文字に変換します。

¨ [Toggle Case]。 小文字を大文字に、大文字を小文字に変換します。

¨ [Title Case]。 各部分文字列の 初の文字を大文字にします。

¨ [Sentence Case]。 フィールドデータ文字列の 初の文字を大文字にします。

デフォルトの大文字小文字変換メソッドは大文字です。

大文字の単語をそのまま残す

大文字の文字列に対して選択された大文字化をオーバーライドします。

区切り文字

大文字小文字変換に対して大文字化がどのように機能するかを定義します。 例えば、

「smith-jones」を「Smith-Jones」に変換するには、区切り文字としてダッシュを選

択します。 デフォルトの区切り文字はスペース文字です。

大文字小文字変換プログラムストラテジの設定

入力文字列の大文字小文字を変更するには、大文字小文字変換プログラムトランスフォー

メーションの[ストラテジ]ビューで設定を構成します。

1. [ストラテジ]ビューを選択します。

2. [新規]をクリックします。

新しいストラテジウィザードが開きます。

3. 必要に応じて、ストラテジ名と説明を編集します。

大文字小文字ストラテジのプロパティ 65

Page 87: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

4. [入力]フィールドと[出力]フィールドをクリックして、ストラテジのポートを選

択します。

5. ストラテジのプロパティを設定します。 デフォルトの変換ストラテジは

[Uppercase]です。

6. [次へ]をクリックします。

7. 必要に応じて参照テーブルを追加し、参照テーブルのエントリに一致する入力データ

の大文字小文字オプションをカスタマイズします。 参照テーブルの大文字小文字のカ

スタマイズは、タイトルの大文字小文字ストラテジと文の大文字小文字ストラテジに

のみ適用されます。

8. [完了]をクリックします。

66 章 5: 大文字小文字変換プログラムトランスフォーメーション

Page 88: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 6 章

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

この章では、以下の項目について説明します。

¨ 比較トランスフォーメーションの概要, 67 ページ

¨ フィールド一致ストラテジ, 68 ページ

¨ IDマッチングストラテジ, 70 ページ

¨ 比較ストラテジの設定, 71 ページ

比較トランスフォーメーションの概要比較トランスフォーメーションは、入力文字列のペア間の類似度を評価し、各ペアの類似

度を数値スコアとして計算するパッシブなトランスフォーメーションです。

トランスフォーメーションを設定するときは、入力カラムのペアを選択し、それらに一致

ストラテジを割り当てます。

比較トランスフォーメーションでは、一致スコアを0~1の範囲で出力します。1が完全一致

を表します。

注: 比較トランスフォーメーションで使用できるストラテジは、一致トランスフォーメー

ションでも使用できます。 一致マプレットに追加する一致比較処理を定義する場合は、比

較トランスフォーメーションを使用します。 マプレットに複数の比較トランスフォーメー

ションを追加することができます。 1つのトランスフォーメーション内で一致比較を定義

する場合は、一致トランスフォーメーションを使用します。 一致トランスフォーメーショ

ンに一致マプレットを組み込むことができます。

67

Page 89: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

フィールド一致ストラテジ比較トランスフォーメーションには、入力データフィールドのペアを比較する定義済みの

フィールド一致ストラテジが用意されています。

バイグラム

バイグラムストラテジは、郵便アドレスが1つのフィールドに入力されている場合など、長

いテキスト文字列を比較する場合に使用します。

バイグラムアルゴリズムでは、2つのデータ文字列の一致スコアを、両方の文字列に含まれ

る連続した文字に基づいて計算します。 両方の文字列に共通する連続した文字のペアを探

し、一致する文字のペアの数を文字のペアの総数で割ります。

バイグラムの例

次の文字列について考えてみます。

¨ larder

¨ lerder

これらの文字列をバイグラムのグループに分けると次のようになります。

l a, a r, r d, d e, e r

l e, e r, r d, d e, e r

文字列"lerder"の2つ目の"e r"は一致と見なされません。文字列"larder"には文字列"e r"が1

つしかなく、2つ目に対応するものはないからです。

バイグラムの一致スコアを計算するには、一致するペアの数(6)を両方の文字列のペアの

総数(10)で割ります。 この例では、文字列の類似度は60%で、一致スコアは0.60になりま

す。

ハミング距離

ハミング距離ストラテジは、電話番号、郵便番号、製品コードなどの数値フィールドやコ

ードフィールドのように、データ文字の位置が重要な要素である場合に使用します。

ハミング距離アルゴリズムでは、2つのデータ文字列の一致スコアを、データ文字列間で文

字が異なる位置の数に基づいて計算します。 長さが異なる文字列の場合、長い方の文字列

にしかない各文字は文字列間の相違としてカウントされます。

ハミング距離の例

次の文字列について考えてみます。

¨ Morlow

¨ Marlowes

強調表示された文字は、ハミングストラテジで相違と見なされる位置を示しています。

ハミングの一致スコアを計算するには、一致する文字の数(5)を長い方の文字列の文字数

(8)で割ります。 この例では、文字列の類似度は62.5%で、一致スコアは0.625になりま

す。

68 章 6: 比較トランスフォーメーション

Page 90: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

エディット距離

エディット距離ストラテジは、単語や短いテキスト文字列(名前など)を比較する場合に

使用します。

エディット距離アルゴリズムでは、文字列を別の文字列に変換するために文字の挿入、削

除、または置き換えが必要な 小限の「コスト」を計算します。

エディット距離の例

次の文字列について考えてみます。

¨ Levenston

¨ Levenshtein

強調表示された文字は、文字列をもう一方の文字列に変換するために処理が必要な部分を

示しています。

エディット距離アルゴリズムでは、変更されない文字の数(8)を長い方の文字列の文字数

(11)で割ります。 この例では、文字列の類似度は72.7%で、一致スコアは0.727になりま

す。

Jaro距離

Jaro距離ストラテジは、2つの文字列を比較するときに、文字列内の 初の文字の類似度を

優先する場合に使用します。

Jaro距離の一致スコアには、両方の文字列の 初の4文字の一致度、および識別された文字

の転置の数が反映されます。 初の4文字の一致の重要度に、[ペナルティ]プロパティ

に入力した値を使用して重みが設定されます。

Jaro距離のプロパティ

Jaro距離ストラテジを設定するときは、次のプロパティを設定できます。

ペナルティ

比較する2つの文字列内の 初の4文字が同一でない場合の一致スコアのペナルティを

指定します。 初の文字が一致しない場合は、ペナルティの値がそのまま減算されま

す。 それ以外の文字が異なる場合は、その位置に基づいてペナルティの端数が減算さ

れます。 デフォルトのペナルティ値は0.20です。

大文字小文字の区別

Jaro距離ストラテジで一致を行うときに大文字と小文字を区別するかどうかを指定し

ます。

Jaro距離の例

次の文字列について考えてみます。

¨ 391859

¨ 813995

デフォルトのペナルティ値である0.20を使用してこれらの文字列を分析した場合、Jaro距離

ストラテジで返される一致スコアは0.513になり、 文字列の類似度は51.3%となります。

フィールド一致ストラテジ 69

Page 91: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ハミング距離の反転

ハミング距離の反転ストラテジは、2つの文字列間で文字が異なる位置の割合を、文字を右

から左の順に読み取って計算する場合に使用します。

ハミング距離アルゴリズムでは、2つのデータ文字列の一致スコアを、データ文字列間で文

字が異なる位置の数に基づいて計算します。 長さが異なる文字列の場合、長い方の文字列

にしかない各文字は文字列間の相違としてカウントされます。

ハミング距離の反転の例

次の文字列について考えてみます。この文字列では、ハミングの反転ストラテジについて

説明するために右から左の順に文字を配置しています。

¨ 1-999-9999

¨ 011-01-999-9991

強調表示された文字は、ハミング距離の反転ストラテジで相違と見なされる位置を示して

います。

ハミングの反転の一致スコアを計算するには、一致する文字の数(9)を長い方の文字列の

文字数(15)で割ります。 この例では、一致スコアは0.6になり、文字列の類似度は60%と

なります。

IDマッチングストラテジ比較トランスフォーメーションには、個人、住所、または法人の一致を見つけるために使

用できる定義済みのID一致ストラテジが用意されています。

次の表に、それぞれのID一致ストラテジで実行される一致操作を示します。

ID一致ストラテジ 一致操作

住所 住所の一致を特定します。

担当者 単一の場所にいる組織内の担当者を特定します。

法人 組織を正式な社名で特定します。

除算 ある住所を所在地とする組織を特定します。

家族 家族を姓と住所または電話番号で特定します。

フィールド 選択するカスタムフィールドを特定します。

世帯 同じ住所の同じ家族のメンバーを特定します。

個人 個人を名前とIDまたは誕生日で特定します。

組織 組織を名前で特定します。

70 章 6: 比較トランスフォーメーション

Page 92: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ID一致ストラテジ 一致操作

個人名 個人を名前で特定します。

住居 ある住所にいる個人を特定します。

担当者(広域) 所在地に関係なく、組織内の担当者を特定します。

世帯(広域) 住所に関係なく、同じ家族のメンバーを特定します。

注: ID一致ストラテジでは、ポピュレーションと呼ばれる参照データファイルを読み取り

ます。 システムにインストールされているポピュレーションデータファイルについては、

Informatica Administratorユーザーに問い合わせてください。

比較ストラテジの設定比較ストラテジを設定するには、比較トランスフォーメーションの[ストラテジ]ビュー

で設定を編集します。

1. [ストラテジ]ビューを選択します。

2. [ストラテジ]セクションから比較ストラテジを選択します。

3. [入力]セクションで、[使用可能なフィールド]カラムのセルをダブルクリックし

て入力を選択します。

注: [入力フィールド]カラムで入力名が太字で示されている各行について、入力を

選択する必要があります。

比較ストラテジの設定 71

Page 93: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 7 章

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

この章では、以下の項目について説明します。

¨ 統合トランスフォーメーションの概要, 72 ページ

¨ 統合マッピング, 73 ページ

¨ Consolidationトランスフォーメーションのポート, 73 ページ

¨ 統合トランスフォーメーションのビュー, 74 ページ

¨ 単純ストラテジ, 77 ページ

¨ 行ベースストラテジ, 78 ページ

¨ 詳細ストラテジ, 79 ページ

¨ 単純な統合関数, 79 ページ

¨ 行ベースの統合関数, 84 ページ

¨ 統合マッピングの例, 87 ページ

¨ 統合トランスフォーメーションの設定, 89 ページ

統合トランスフォーメーションの概要統合トランスフォーメーションは、関連するレコードのグループを分析し、各グループに

対して統合されたレコードを作成する、アクティブなトランスフォーメーションです。統

合トランスフォーメーションを使用して、キージェネレータ、一致、および関連付けなど

のトランスフォーメーションによって生成されたレコードグループを統合します。

統合トランスフォーメーションは、関連するレコードのグループにストラテジを適用する

ことによって、統合されたレコードを生成します。トランスフォーメーションには、どの

レコードが統合されたレコードであるかを示す出力ポートが含まれています。統合された

レコードのみが含まれるようにトランスフォーメーション出力を制限することも選択でき

ます。

例えば、一致トランスフォーメーションによって生成された従業員の重複レコードのグル

ープを統合できます。統合トランスフォーメーションは、グループ内のすべてのレコード

からマージされたデータが含まれる、統合されたレコードを作成できます。

72

Page 94: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

統合トランスフォーメーションを設定すると、ユーザーの統合の要件に基づいてさまざま

なタイプのストラテジを使用することができます。複数のレコードから統合されたレコー

ドを作成するには、単純ストラテジを使用します。単純ストラテジを使用するときは、ポ

ートごとにストラテジを指定します。レコードグループ内の行を分析し、いずれかの行か

らの値を持つ統合されたレコードを作成するには、行ベースストラテジを使用します。作

成した式を適用することによって統合されたレコードを作成するには、詳細ストラテジを

使用します。

統合マッピングレコードを統合するには、関連するレコードのグループを作成するマッピングを作成しま

す。統合トランスフォーメーションを追加し、レコードグループをそれぞれ1つのマスター

レコードに統合するようにトランスフォーメーションを設定します。

統合マッピングを作成するときは、ユーザーの要件のタイプおよび複雑性に応じてトラン

スフォーメーションを選択します。例えば、キージェネレータトランスフォーメーション

を使用してレコードをグループ化する場合は、統合トランスフォーメーションをキージェ

ネレータトランスフォーメーションに直接接続できます。統合トランスフォーメーション

は、キージェネレータトランスフォーメーションによって作成された各グループに対して

統合されたレコードを作成します。

一致したレコードを統合する場合は、統合トランスフォーメーションを一致トランスフォ

ーメーションに接続できます。例外レコード管理の一環としてレコードを統合する必要が

ある場合は、統合トランスフォーメーションを例外トランスフォーメーションに接続しま

す。

Consolidationトランスフォーメーションのポート

Developerツールは、追加する入力ポートごとに出力ポートを作成します。トランスフォー

メーションに手動で出力ポートを追加することはできません。統合トランスフォーメーシ

ョンには、統合されたレコードを示すIsSurvivor出力ポートも含まれています。

統合トランスフォーメーションに追加する入力ポートのいずれかにはグループキーが含ま

れている必要があります。統合トランスフォーメーションはデータセット全体ではなくレ

コードグループを処理するため、グループキーの情報を必要とします。

入力ポートを追加するとき、Developerツールは、入力ポート名にサフィックス「1」を追

加することによって出力ポート名を作成します。トランスフォーメーションには、レコー

ドが統合されたレコードであるかどうかを示すIsSurvivor出力ポートも含まれています。

統合されたレコードの場合、統合トランスフォーメーションは、IsSurvivorポートに文字

列「Y」を書き込みます。入力レコードの場合、統合トランスフォーメーションは、

IsSurvivorポートに文字列「N」を書き込みます。

統合マッピング 73

Page 95: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

統合トランスフォーメーションのビュー統合トランスフォーメーションには、ポート、ストラテジ、および詳細の各プロパティに

関するビューが含まれています。

統合トランスフォーメーションの[ストラテジ]ビュー

[ストラテジ]ビューには、単純ストラテジ、行ベースストラテジ、および詳細ストラテ

ジのプロパティが含まれます。

以下のリストでは、統合ストラテジのタイプについて説明します。

単純ストラテジ

単純ストラテジは、レコードグループ内のポートのすべての値を分析し、1つの値を選

択します。単純ストラテジはポートごとに指定します。統合トランスフォーメーショ

ンは、すべての単純ストラテジによって選択されたポートの値を使用して、統合され

たレコードを作成します。単純ストラテジの例には、ポート内の 頻値、ポート内の

長の値、ポート内の空白以外の 頻値などがあります。

行ベースストラテジ

行ベースストラテジは、レコードグループ内の行を分析し、1つの行を選択します。統

合トランスフォーメーションはその行のポート値を使用して、統合されたレコードを

作成します。行ベースストラテジの例には、 大の文字数、空白フィールドの 小

数、 も頻度の高いフィールドの 大数などがあります。

詳細ストラテジ

詳細ストラテジは、ユーザー定義のストラテジを使用してレコードグループを分析し

ます。詳細ストラテジは、式に統合関数を使用することによって作成します。統合ト

ランスフォーメーションは、式の出力に基づいて統合されたレコードを作成します。

また、作成する式には、ディシジョントランスフォーメーションで使用可能なすべて

の関数を使用することができます。

統合トランスフォーメーションの[詳細]ビュー

統合トランスフォーメーションには、ソート、出力、キャッシュ設定、およびトレースレ

ベルについての詳細プロパティが含まれています。

以下のリストでは、統合の詳細プロパティについて説明します。

ソート

[ストラテジ]ビューで設定するGroup Byポートに従って入力行をソートします。

入力行がソートされていない場合はこのオプションを選択します。デフォルトでは有

効になっています。

大文字小文字を区別したソート

入力行のソート時に大文字と小文字を区別した順序付けを採用します。デフォルトで

は有効になっています。

74 章 7: 統合トランスフォーメーション

Page 96: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

出力モード

トランスフォーメーション出力にすべてのレコードを含めるか、または統合されたレ

コードのみを含めるかを指定します。デフォルトは[すべて]です。

キャッシュファイルディレクトリ

Data Integration Serviceは、キャッシュファイルディレクトリを使用してデータの

ソート中に一時ファイルを作成しますData Integration Serviceはデータをソートし

た後で、一時ファイルを削除します。 Data Integration Serviceマシン上の任意の

ディレクトリをキャッシュファイルディレクトリとして使用するように指定できま

す。以下のディレクトリはデフォルト値で、ピリオドで表されます。

<Informatica Servicesのインストールディレクトリ>\tomcat\bin

キャッシュファイルサイズ

統合トランスフォーメーションがソート操作を実行する際に必要なメモリの 大量を

決定します。Data Integration Serviceは、ソート操作を実行する前に、入力される

データをすべて統合トランスフォーメーションに渡します。デフォルトは400,000バイ

トです。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。デフォルトは[ノーマ

ル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

統合トランスフォーメーションのビュー 75

Page 97: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

キャッシュファイルサイズ

キャッシュファイルサイズのプロパティは、統合トランスフォーメーションがソート操作

を実行する際に必要なメモリの 大量を決定します。Data Integration Serviceは、ソー

ト操作を実行する前に、入力されるデータをすべて統合トランスフォーメーションに渡し

ます。

Data Integration Serviceは、ソート操作を開始する前に、キャッシュファイルサイズに

設定されたメモリ量を割り当てます。Data Integration Serviceが十分なメモリを割り当

てることができない場合は、マッピングが失敗します。

高のパフォーマンスのためには、Data Integration Serviceをホストするマシンの利用

可能な物理RAM量以下の値になるようにキャッシュファイルサイズを設定します。統合トラ

ンスフォーメーションを使用してデータをソートするには、少なくとも16MB(16,777,216

バイト)の物理メモリを割り当てます。

入力されるデータ量がキャッシュファイルサイズよりも大きい場合、Data Integration

Serviceはデータを一時的にキャッシュファイルディレクトリに保存します。データをキャ

ッシュファイルディレクトリに保存する場合、Data Integration Serviceは 低でも入力

されるデータ量の2倍のディスク領域を必要とします。入力されるデータ量がキャッシュフ

ァイルサイズよりはるかに大きい場合、Data Integration Serviceはキャッシュファイル

ディレクトリで利用可能なディスク領域の2倍の量より多くの量を必要とする可能性があり

ます。

下記の式で入力されるデータのサイズを求めます。

[number_of_input_rows [( Sum (column_size) + 16]

以下の表に、キャッシュファイルデータ計算用のカラムサイズ値をデータ型ごとに示しま

す。

データ型 カラムサイズ

Binary 精度 +8

も近似の8の倍数に丸める

Date/Time 29

Decimal、高精度オフ(全精度) 16

Decimal、高精度(精度<=18) 24

Decimal、高精度(精度>18、<=28) 32

Decimal、高精度(精度>28) 16

Decimal、高精度(負の位取り) 16

Double 16

Real 16

76 章 7: 統合トランスフォーメーション

Page 98: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

データ型 カラムサイズ

Integer 16

String、Text Unicodeモード: 2*(精度+5)

ASCIIモード: 精度 +9

単純ストラテジ単純ストラテジは、レコードグループ内のポートを分析し、1つの値を返します。単純スト

ラテジはポートごとに指定します。統合トランスフォーメーションは、すべての単純スト

ラテジによって選択されたポートの値を使用して、統合されたレコードを作成します。デ

フォルトのストラテジは、「空白以外の も頻繁」です。

単純ストラテジは、以下のいずれかを選択できます。

平均

レコードグループのポートを分析し、すべての値の平均を返します。

StringおよびDate/timeデータ型の場合、ストラテジは も頻繁に出現する値を返し

ます。

レコードグループのポートを分析し、文字数が も多い値を返します。 も多い文字

数が2つ以上の値により共有されている場合、ストラテジは要件を満たす 初の値を返

します。

レコードグループのポートを分析し、 大値を返します。

Stringデータ型の場合、ストラテジは 長の文字列を返します。Date/timeデータ型

の場合、ストラテジは 新の日付を返します。

レコードグループのポートを分析し、 小値を返します。

Stringデータ型の場合、ストラテジは 短の文字列を返します。Date/timeデータ型

の場合、ストラテジは も古い日付を返します。

も頻繁

レコードグループのポートを分析し、空白またはNULL値を含む、 も頻繁に出現する

値を返します。出現の 大数が2つ以上の値により共有されている場合、ストラテジは

要件を満たす 初の値を返します。

空白以外の も頻繁

レコードグループのポートを分析し、空白またはNULL値以外の も頻繁に出現する値

を返します。空白以外の出現の 大数が2つ以上の値により共有されている場合、スト

ラテジは要件を満たす 初の値を返します。

単純ストラテジ 77

Page 99: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

レコードグループのポートを分析し、文字数が も少ない値を返します。 も少ない

文字数が2つ以上の値により共有されている場合、ストラテジは要件を満たす 初の値

を返します。

行ベースストラテジ行ベースストラテジは、レコードグループ内の行を分析し、1つの行を選択します。統合ト

ランスフォーメーションはその行のポート値を使用して、統合されたレコードを作成しま

す。デフォルトのストラテジは、「Most Data」です。

以下のいずれかの行ベースストラテジを選択します。

Most Data

文字数が も多い行を選択します。 も多い文字数が2つ以上の行により共有されてい

る場合、ストラテジは要件を満たす 後の値を返します。

Most Filled

空白以外のカラム数が 大の行を選択します。空白以外のカラムの 大数が2つ以上の

行により共有されている場合、ストラテジは要件を満たす 後の値を返します。

Modal Exact

も頻度の高い空白以外の値の数が 大の行を選択します。例えば、レコードグルー

プ内に も頻度の高い値を含む3つのポートを持つ行があるとします。この行の も頻

度の高い値の数は「3」です。

も頻度の高い空白以外の値の 大数が2つ以上の行により共有されている場合、スト

ラテジは要件を満たす 後の値を返します。

行ベースストラテジの例

以下の表に、レコードグループの例を示します。 後のカラムでは、特定の行ベーススト

ラテジがこのレコードグループで異なる行を選択する理由を説明しています。

製品ID名 姓 郵便番号ストラテジの選択

2106 Bartholomew 28516 Most Dataストラテジは、他の行よりも多くの文字が含まれている

ため、この行を選択します。

2236 Bart Smith28579 Most Filledストラテジは、他の行よりも多くの空白以外のカラム

が含まれているため、この行を選択します。

2236 <空白> Smith28516 Modal Exactストラテジは、 も頻度の高い値の数が 大であるた

め、この行を選択します。

78 章 7: 統合トランスフォーメーション

Page 100: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

詳細ストラテジ詳細ストラテジを使用すると、定義済み関数から統合ストラテジを作成できます。統合関

数とInformaticaのその他の関数を使用できます。

単純な統合関数または行ベースの統合関数を含む式を作成できます。レコードグループ内

のポートの値に基づいて統合されたレコードを作成するには、単純な統合関数を使用しま

す。レコードグループから行を選択するには、行ベースの統合関数を使用します。

統合の式には、統合トランスフォーメーションのすべての出力ポートを組み込む必要があ

ります。統合の式がすべての出力ポートを使用しない場合、トランスフォーメーションが

原因でマッピングが失敗します。

単純ストラテジまたは行ベースストラテジは、詳細ストラテジのテンプレートとして使用

できます。単純ストラテジまたは行ベースストラテジを設定し、[詳細]を選択します。

統合トランスフォーメーションは、ストラテジを実行する関数が含まれる式を生成しま

す。さらに関数を追加すると、追加の要件を実装することができます。

単純な統合関数単純な統合関数は、レコードグループのすべてのポート値から値を選択します。単純な統

合関数の使用時は、ポートおよびGroup Byポートを使用して関数を指定します。

CONSOL_AVG

レコードグループのポートを分析し、すべての値の平均を返します。

構文

CONSOL_AVG(string, group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

ポートのすべての値の平均。

StringおよびDate/timeデータ型の場合、関数は も頻繁に出現する値を返します。

以下の式は、CONSOL_AVG関数を使用してSalesTotal入力ポートの平均値を検索します。

SalesTotal1:= CONSOL_AVG(SalesTotal, GroupKey)

詳細ストラテジ 79

Page 101: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

この式で、CONSOL_AVG関数はGroupKeyポートを使用してレコードグループを識別します。こ

のレコードグループ内で、関数はSalesTotalポートを分析し、平均値を返します。式は平

均値をSalesTotal1出力ポートに書き込みます。

CONSOL_LONGEST

レコードグループのポートを分析し、文字数が も多い値を返します。

構文

CONSOL_LONGEST(string, group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

文字数が も多いポート値。

も多い文字数が2つ以上の値により共有されている場合、ストラテジは要件を満たす 初

の値を返します。

以下の式は、CONSOL_LONGEST関数を使用してFirstName入力ポートを分析し、文字数が も多

い値を検索します。

FirstName1:= CONSOL_LONGEST(FirstName, GroupKey)

この式で、CONSOL_LONGEST関数はGroupKeyポートを使用してレコードグループを識別しま

す。このレコードグループ内で、関数はFirstNameポートを分析し、 長値を返します。式

はこの値をFirstName1出力ポートに書き込みます。

CONSOL_MAX

レコードグループのポートを分析し、 大値を返します。

構文

CONSOL_MAX(string, group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

80 章 7: 統合トランスフォーメーション

Page 102: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

戻り値

大ポート値。

Stringデータ型の場合、関数は 長の文字列を返します。Date/timeデータ型の場合、関数

は 新の日付を返します。

以下の式は、CONSOL_MAX関数を使用してSalesTotal入力ポートを分析し、 大値を検索しま

す。

SalesTotal1:= CONSOL_MAX(SalesTotal, GroupKey)

この式で、CONSOL_MAX関数はGroupKeyポートを使用してレコードグループを識別します。こ

のレコードグループ内で、関数はSalesTotalポートを分析し、 大値を返します。式はこ

の値をSalesTotal1出力ポートに書き込みます。

CONSOL_MIN

レコードグループのポートを分析し、 小値を返します。

構文

CONSOL_MIN(string, group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

小ポート値。

Stringデータ型の場合、関数は 短の文字列を返します。Date/timeデータ型の場合、関数

は も古い日付を返します。

以下の式は、CONSOL_MIN関数を使用してSalesTotal入力ポートを分析し、 小値を検索しま

す。

SalesTotal1:= CONSOL_MIN(SalesTotal, GroupKey)

この式で、CONSOL_MIN関数はGroupKeyポートを使用してレコードグループを識別します。こ

のレコードグループ内で、関数はSalesTotalポートを分析し、 小値を返します。式はこ

の値をSalesTotal1出力ポートに書き込みます。

単純な統合関数 81

Page 103: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

CONSOL_MOSTFREQ

レコードグループのポートを分析し、空白またはNULL値を含む、 も頻繁に出現する値を

返します。

構文

CONSOL_MOSTFREQ(string, group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

空白またはNULL値を含む も頻繁に出現する値。

出現の 大数が2つ以上の値により共有されている場合、ストラテジは要件を満たす 初の

値を返します。

以下の式は、CONSOL_MOSTFREQ関数を使用してCompany入力ポートを分析し、 も頻繁に出現す

る値を検索します。

Company1:= CONSOL_MOSTFREQ(Company, GroupKey)

この式で、CONSOL_MOSTFREQ関数はGroupKeyポートを使用してレコードグループを識別しま

す。このレコードグループ内で、関数はCompanyポートを分析し、 も頻繁に出現する値を

返します。式はこの値をCompany1出力ポートに書き込みます。

CONSOL_MOSTFREQ_NB

レコードグループのポートを分析し、空白またはNULL値以外の も頻繁に出現する値を返

します。

構文

CONSOL_MOSTFREQ_NB(string, group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

空白またはNULL値以外の も頻繁に出現する値。

出現の 大数が2つ以上の値により共有されている場合、ストラテジは要件を満たす 初の

値を返します。

82 章 7: 統合トランスフォーメーション

Page 104: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の式は、CONSOL_MOSTFREQ_NB関数を使用してCompany入力ポートを分析し、 も頻繁に出

現する値を検索します。

Company1:= CONSOL_MOSTFREQ_NB(Company, GroupKey)

この式で、CONSOL_MOSTFREQ_NB関数はGroupKeyポートを使用してレコードグループを識別しま

す。このレコードグループ内で、関数はCompanyポートを分析し、 も頻繁に出現する値を

返します。式はこの値をCompany1出力ポートに書き込みます。

CONSOL_SHORTEST

レコードグループのポートを分析し、文字数が も少ない値を返します。

構文

CONSOL_SHORTEST(string, group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

文字数が も少ないポート値。

も少ない文字数が2つ以上の値により共有されている場合、ストラテジは要件を満たす

初の値を返します。

以下の式は、CONSOL_SHORTEST関数を使用してFirstName入力ポートを分析し、文字数が も少

ない値を検索します。

FirstName1:= CONSOL_SHORTEST(FirstName, GroupKey)

この式で、CONSOL_SHORTEST関数はGroupKeyポートを使用してレコードグループを識別しま

す。このレコードグループ内で、関数はFirstNameポートを分析し、 短値を返します。式

はこの値をFirstName1出力ポートに書き込みます。

単純な統合関数 83

Page 105: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

行ベースの統合関数行ベースの統合関数を使用して、レコードグループのレコードを選択します。行ベースの

統合関数は、IF-THEN-ELSE文内で使用する必要があります。

CONSOL_GETROWFIELD

行ベースの統合関数によって識別された行を読み取り、指定したポートの値を返します。

ポートを指定するには、数値の引数を使用します。

CONSOL_GETROWFIELD関数は以下のいずれかの行ベースの統合関数と組み合わせて使用する必要

があります。

¨ CONSOL_MODALEXACT

¨ CONSOL_MOSTDATA

¨ CONSOL_MOSTFILLED

行ベースの統合関数の各入力ポートに、CONSOL_GETROWFIELD関数のインスタンスを1つ使用す

る必要があります。

構文

CONSOL_GETROWFIELD(value)

引数 必須/オプション 説明

value 必須 行ベースの統合関数の入

力ポートを示す数字。関

数の一番左のポートを指

定するには、「0」を使

用します。他のポートを

示すには、後続の数字を

使用します。

戻り値

指定したポートの値。関数は行ベースの統合関数によって識別された行からこの値を読み

取ります。

以下の式は、CONSOL_GETROWFIELD関数をCONSOL_MOSTDATA関数と組み合わせて使用しています。

IF (CONSOL_MOSTDATA(First_Name,Last_Name,GroupKey,GroupKey))THENFirst_Name1 := CONSOL_GETROWFIELD(0)Last_Name1 := CONSOL_GETROWFIELD(1)GroupKey1 := CONSOL_GETROWFIELD(2)ELSEFirst_Name1 := First_NameLast_Name1 := Last_NameGroupKey1 := GroupKeyENDIF

この式で、CONSOL_MOSTDATA関数はレコードグループの行を分析し、単一行を識別します。

CONSOL_GETROWFIELD関数は連続した数字を使用して、その行のポート値を読み取り、その値を

出力ポートに書き込みます。

84 章 7: 統合トランスフォーメーション

Page 106: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

CONSOL_MODALEXACT

も頻度の高い値の数が 大の行を識別します。

例えば、レコードグループ内に も頻度の高い値を含む3つのポートを持つ行があるとしま

す。この行の も頻度の高い値の数は「3」です。

この関数はCONSOL_GETROWFIELD関数を組み合わせて使用する必要があります。CONSOL_GETROWFIELD

は、CONSOL_MODALEXACT関数が識別した行からの値を返します。

構文

CONSOL_MODALEXACT(string1, [string2, ..., stringN,] group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

行が、 も頻度の高いフィールドの 大数を獲得する場合はTRUE、他のすべての行の場合

はFALSE。

以下の式は、CONSOL_MODALEXACT関数を使用して、 も頻度の高いフィールドの数が 大の行

を検索します。

IF (CONSOL_MODALEXACT(First_Name,Last_Name,GroupKey,GroupKey))THENFirst_Name1 := CONSOL_GETROWFIELD(0)Last_Name1 := CONSOL_GETROWFIELD(1)GroupKey1 := CONSOL_GETROWFIELD(2)ELSEFirst_Name1 := First_NameLast_Name1 := Last_NameGroupKey1 := GroupKeyENDIF

この式で、CONSOL_MODALEXACT関数はレコードグループの行を分析し、単一行を識別します。

CONSOL_GETROWFIELD関数は連続した数字を使用して、その行のポート値を読み取り、その値を

出力ポートに書き込みます。

CONSOL_MOSTDATA

すべてのポートで 多数の文字を含む行を識別します。

この関数はCONSOL_GETROWFIELD関数を組み合わせて使用する必要があります。CONSOL_GETROWFIELD

は、 CONSOL_MOSTDATA関数が識別した行からの値を返します。

行ベースの統合関数 85

Page 107: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

構文

CONSOL_MOSTDATA(string1, [string2, ..., stringN,] group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

すべてのポートで も多い文字を含む行の場合はTRUE、他のすべての行の場合はFALSE。

以下の式は、CONSOL_MOSTDATA関数を使用して、 多数の文字を含む行を検索します。

IF (CONSOL_MOSTDATA(First_Name,Last_Name,GroupKey,GroupKey))THENFirst_Name1 := CONSOL_GETROWFIELD(0)Last_Name1 := CONSOL_GETROWFIELD(1)GroupKey1 := CONSOL_GETROWFIELD(2)ELSEFirst_Name1 := First_NameLast_Name1 := Last_NameGroupKey1 := GroupKeyENDIF

この式で、CONSOL_MOSTDATA関数はレコードグループの行を分析し、単一行を識別します。

CONSOL_GETROWFIELD関数は連続した数字を使用して、その行のポート値を読み取り、その値を

出力ポートに書き込みます。

CONSOL_MOSTFILLED

空白以外のフィールド数が 大の行を識別します。

この関数はCONSOL_GETROWFIELD関数を組み合わせて使用する必要があります。CONSOL_GETROWFIELD

は、CONSOL_MOSTFILLED関数が識別した行からの値を返します。

構文

CONSOL_MOSTFILLED(string1, [string2, ..., stringN,] group by)

引数 必須/オプション 説明

string 必須 入力ポート名。

Group By 必須 グループ識別子を含む入

力ポートの名前。

戻り値

空白以外のフィールド数が 大の行の場合はTRUE、他のすべての行の場合はFALSE。

86 章 7: 統合トランスフォーメーション

Page 108: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の式は、CONSOL_MOSTFILLED関数を使用して、 多数の文字を含む行を検索します。

IF (CONSOL_MOSTFILLED(First_Name,Last_Name,GroupKey,GroupKey))THENFirst_Name1 := CONSOL_GETROWFIELD(0)Last_Name1 := CONSOL_GETROWFIELD(1)GroupKey1 := CONSOL_GETROWFIELD(2)ELSEFirst_Name1 := First_NameLast_Name1 := Last_NameGroupKey1 := GroupKeyENDIF

この式で、CONSOL_MOSTFILLED関数はレコードグループの行を分析し、単一行を識別します。

CONSOL_GETROWFIELD関数は連続した数字を使用して、その行のポート値を読み取り、その値を

出力ポートに書き込みます。

統合マッピングの例あなたの会社では、重複する顧客レコードを統合することになりました。 顧客レコードを

統合するには、キージェネレータトランスフォーメーションでデータをグループ化し、統

合トランスフォーメーションを使用してレコードを統合します。

顧客レコードを含むデータソース、キージェネレータトランスフォーメーション、統合ト

ランスフォーメーション、およびデータターゲットのマッピングを作成します。このマッ

ピングは、顧客レコードをグループ化してそのグループを統合し、1つの統合されたレコー

ドを書き込みます。

以下の図はマッピングを示しています。

統合マッピングの例 87

Page 109: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

入力

分析する入力データには、顧客情報が含まれています。

以下の表に、この例の入力データを示します。

名前 住所 市区町村 都道府県 郵便番号 SSN

Dennis Jones 100 All Saints Ave New York NY 10547 987-65-4320

Dennis Jones 1000 Alberta Rd New York NY 10547 987-65-4320

D Jones 100 All Saints Ave New York NY 10547-1521

キージェネレータトランスフォーメーション

キージェネレータトランスフォーメーションを使用し、 ZIP codeポートに基づいて入力デ

ータをグループ化します。

トランスフォーメーションは以下のデータを返します。

SequenceId GroupKey名前 住所 市区町村 都道府県郵便番号 SSN

1 10547 Dennis Jones 100 All Saints Ave New York NY 10547 987-65-4320

2 10547 Dennis Jones 1000 Alberta Rd New York NY 10547

3 10547 D Jones 100 All Saints Ave New York NY 10547-1521 987-65-4320

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

統合トランスフォーメーションを使用して、統合されたレコードを生成します。

行ベースストラテジタイプを使用するように統合トランスフォーメーションを設定しま

す。Modal Exactストラテジを選択し、 も頻度の高い値の数が 大の行を選択します。

Modal Exactストラテジは、その行からの値を使用して、統合されたレコードを生成しま

す。統合されたレコードは、IsSurvivorポートに「Y」の値が含まれているレコードです。

トランスフォーメーションは以下のデータを返します。

GroupKey名前 住所 市区町村 都道府県郵便番号 SSN IsSurvivor

10547 Dennis Jones 100 All Saints Ave New York NY 10547 987-65-4320 N

10547 Dennis Jones 1000 Alberta Rd New York NY 10547 N

10547 D Jones 100 All Saints Ave New York NY 10547-1521 987-65-4320 N

10547 D Jones 100 All Saints Ave New York NY 10547-1521 987-65-4320 Y

統合マッピング出力

マッピング出力が統合されたレコードのみを含むように統合トランスフォーメーションを

設定します。

この例では、Modal Exactストラテジにより選択された も頻度の高い値が正しいポート値

であることはほぼ信頼できます。統合されたレコードのみをマッピングターゲットに書き

込むには、[詳細]ビューを選択して出力モードを「存続のみ」に設定します。

マッピングの実行時に、マッピング出力には統合されたレコードのみが含まれます。

88 章 7: 統合トランスフォーメーション

Page 110: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

統合トランスフォーメーションの設定統合トランスフォーメーションを設定する際は、 ストラテジタイプ、ストラテジまたは式

の記述、グループ化ポートを選択し、詳細オプションを設定します。

1. [コンソリデーション]ビューを選択します。

2. ストラテジタイプを選択します。

3. ストラテジを設定します。

¨ 単純ストラテジタイプの場合は、ポートごとにストラテジを選択します。

¨ 行ベースストラテジタイプの場合は、ストラテジを選択します。

¨ 詳細ストラテジタイプの場合は、統合関数を使用する式を作成します。

4. [グループ別]フィールドで、グループ識別子を含むポートを選択します。

5. 入力データがソートされていない場合、[詳細]ビューでソートを有効にします。

6. 統合されたレコードまたはすべてのレコードを含むように出力を設定します。

統合トランスフォーメーションの設定 89

Page 111: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 8 章

カスタムデータトランスフォーメーション

この章では、以下の項目について説明します。

¨ カスタムデータトランスフォーメーションの概要, 90 ページ

¨ カスタムデータトランスフォーメーションのビュー, 91 ページ

¨ ポート設定, 97 ページ

¨ カスタムデータトランスフォーメーションの作成, 99 ページ

カスタムデータトランスフォーメーションの概要

カスタムデータトランスフォーメーションは、メッセージング形式、HTMLページ、PDFドキ

ュメントなどの非構造化ファイル形式および半構造化ファイル形式のデータを処理するア

クティブなトランスフォーメーションです。 また、ACORD、HIPAA、HL7、EDI-X12、

EDIFACT、SWIFTなどの構造化形式も変換します。

カスタムデータトランスフォーメーションは、データをData Transformationエンジンに渡

します。Data Transformationエンジンは、非構造化ファイル形式および半構造化ファイル

形式を変換するアプリケーションです。Data Integration Serviceが、カスタムデータト

ランスフォーメーションからData Transformationエンジンにデータを渡します。Data

Transformationエンジンは、データを変換し、変換後のデータをData Integration

Serviceに返します。

Data Transformationエンジンは、データを出力ファイルに書き込むか、出力データを

Data Integration Serviceに返すことができます。Data Integration Serviceに出力を返

すときは、XMLデータを返します。Data TransformationXMLを出力ポートに返すようにカ

スタムデータトランスフォーメーションを設定したり、行データを返すように出力グルー

プを設定したりできます。

90

Page 112: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

カスタムデータトランスフォーメーションのマッピングを実行するときの処理を次に示し

ます。

1. Data Integration Serviceが、ソースデータをData Transformationエンジンに渡しま

す。

2. Data Transformationエンジンは、そのデータを変換するData Transformationサービ

スを実行します。

3. Data Transformationエンジンは、変換後のデータを直接出力ファイルに書き込む

か、または変換後のデータをData Integration Serviceに返します。カスタムデータ

トランスフォーメーションは、出力データをマッピングに渡します。

4. カスタムデータトランスフォーメーションは、XMLデータまたはデータ行を返します。

Data Transformationの設定

カスタムデータトランスフォーメーションのData Transformationエンジンは、Developer

ツールおよびData Integration Serviceで実行します。

DeveloperツールおよびData Integration Serviceで実行できるのは、ローカルマシン上の

Data Transformationだけです。

リモートマシン上のサービスを実行する場合は、両方のマシンのData Transformationリポ

ジトリを手動で同期する必要があります。

カスタムデータトランスフォーメーションのビュー

カスタムデータトランスフォーメーションには、以下のビューがあります。

概要

トランスフォーメーションの説明とカスタムデータトランスフォーメーションのポー

ト。

サービス

サービス名または動的サービス名。

構造

カスタムデータトランスフォーメーションで行をリレーショナルターゲットに書き込

むための出力グループおよび出力ポートの階層。

詳細

カスタムデータトランスフォーメーションの属性(入力タイプ、出力タイプ、サービ

ス名、ストリーマチャンクサイズなど)。

カスタムデータトランスフォーメーションのビュー 91

Page 113: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

[概要]ビュー

[概要]ビューでは、カスタムデータトランスフォーメーションのポートを追加します。

また、説明を入力したり、トランスフォーメーションの名前を変更したりすることもでき

ます。

カスタムデータトランスフォーメーションを作成すると、Developerツールによってデフォ

ルトのポートが作成されます。 トランスフォーメーションの設定方法によっては、それ以

外のポートも作成されます。 入力タイプおよび出力タイプによって、トランスフォーメー

ションがデータトランスフォーメーションエンジンとどのようにデータを受け渡しするか

が決まります。

以下の表に、カスタムデータトランスフォーメーションのデフォルトのポートを示しま

す。

ポート 入力/

出力

説明

InputBuffer Input 入力タイプがバッファである場合、ソースデ

ータを受け取ります。

入力タイプがファイルである場合、ソースフ

ァイル名およびソースファイルパスを受け取

ります。

OutputFileNa

me

Input 出力タイプがファイルである場合、出力ファ

イルの名前を受け取ります。

サービス名 Input 動的サービス名を有効にしている場合、デー

タトランスフォーメーションサービスの名前

を受け取ります。

OutputBuffer アウトプット 出力タイプがバッファである場合、XMLデー

タを返します。

出力タイプがファイルである場合、出力ファ

イル名を返します。

ポートの階層的な出力グループを設定してい

る場合、データを返しません。

Status_Code Output ステータストレースレベルが[説明のみ]ま

たは[フルステータス]である場合、データ

トランスフォーメーションエンジンからのス

テータスコードを返します。

Status_

Message

Output ステータストレースレベルが[説明のみ]ま

たは[フルステータス]である場合、データ

トランスフォーメーションエンジンからのス

テータスメッセージを返します。

注: [構造]ビューでは、リレーショナルターゲットの出力ポートのグループを追加でき

ます。 ポートのグループを設定すると、ポートの階層的なグループが別のビューにあるこ

とを示すメッセージが[概要]ビューに表示されます。

92 章 8: カスタムデータトランスフォーメーション

Page 114: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

[サービス]ビュー

[サービス]ビューでは、Data Transformationサービスを選択します。

カスタムデータトランスフォーメーションを作成するときは、データを変換するData

Transformationサービスの名前を選択する必要があります。1つのサービスを選択してすべ

ての入力行を処理することも、入力行ごとに異なるサービスを選択して処理することもで

きます。

ソース行ごとに異なるData Transformationサービスを呼び出すには、[動的サービス]を

有効にします。Developerツールにより、ServiceName入力ポートが作成されます。 それぞ

れのソース行で、その行を処理するData Transformationサービスの名前を渡す必要があり

ます。

すべての行を処理するData Transformationサービスを選択するには、[データトランスフ

ォーメーションサービスから]を有効にします。[参照]をクリックします。 Data

TransformationリポジトリにあるData Transformationサービスのリストが表示されま

す。カスタムデータトランスフォーメーションから呼び出すData Transformationサービス

の名前を選択します。

動的サービス名を有効にした場合、Data Transformationサービスからポートを作成するこ

とはできません。

Data Transformationサービスのタイプ

Data Transformationサービスは、サービスタイプに基づいてデータを変換します。

Data Transformationでは、以下のサービスタイプのデータを変換できます。

パーサー

ソースドキュメントをXMLに変換します。パーサーの出力は常に XML になります。入

力には、テキスト、HTML、Word、PDF、HL7など任意の形式を使用できます。

シリアライザ

XMLファイルを任意の形式の出力ドキュメントに変換します。シリアライザの出力は、

テキストドキュメント、HTMLドキュメント、PDFなど、任意の形式にすることができま

す。

マッパー

XMLソースドキュメントを別のXML構造またはスキーマに変換します。マッパーは、XML

入力を処理し、 パーサーと同様にXML出力を生成します。 入力および出力は完全に構

造化されたXMLです。

トランスフォーマ

任意のフォーマットのデータを変更します。テキストを追加、削除、変換、または変

更します。パーサー、マッパーまたはシリアライザと共にトランスフォーマを使用し

ます。また、トランスフォーマをスタンドアロンコンポーネントとして実行すること

もできます。

ストリーマ

マルチギガバイトのデータストリームなど、サイズの大きな入力ドキュメントをセグ

メントに分割します。 ストリーマは、HIPAAファイルやEDIファイルなど、複数のメッ

セージや複数のレコードを含むドキュメントを処理します。

カスタムデータトランスフォーメーションのビュー 93

Page 115: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

[構造]ビュー

カスタムデータトランスフォーメーションでは、行データをリレーショナルデータベース

などのターゲットに渡すことができます。 出力ポートは[構造]ビューで設定します。出

力ポートのグループを定義し、グループのリレーショナル構造を定義します。

出力グループは、出力データを渡すリレーショナルテーブルまたはターゲットを表しま

す。 カスタムデータトランスフォーメーションは、OutputBufferポートにXMLファイルを

書き込むのではなく、グループポートに行を返します。 トランスフォーメーションは、出

力タイプに基づいて行を書き込みます。

[構造]ビューの左ペインでグループの階層を作成します。すべてのグループが、

PC_XSD_ROOTというルートグループの下にあります。 ルートは削除できません。各グルー

プには、ポートおよび他のグループを含めることができます。グループ構造は、ターゲッ

トテーブル間のリレーションを表します。グループ内にグループを定義すると、そのグル

ープ間に親子リレーションが定義されます。Developerツールは、生成キーでグループ間に

プライマリキーと外部キーのリレーションを定義します。

グループを選択して、グループのポートを表示します。グループのポートを追加または削

除できます。ポートを追加すると、Developerツールがデフォルトポート設定を作成しま

す。 ポート名、データ型、および精度を変更します。ポートにデータを含める必要がある

場合は、[非NULL]を選択します。それ以外の場合、出力データはオプションです。

別のトランスフォーメーションからDecimalポートをコピーすると、カスタムデータトラン

スフォーメーションではそのポートのデータ型がDoubleに変更されます。 ポートからData

Transformationエンジンにデータを渡す場合、ポートをDecimalデータ型として定義するこ

とはできません。Decimalデータ型のパススルーポートを作成できます。

カスタムデータトランスフォーメーションを[概要]ビューに表示すると、トランスフォ

ーメーショングループの各ポートにはグループ名を含む接頭辞が付きます。

出力ポートの階層グループを設定すると、Data Integration ServiceはOutputBufferポー

トではなくポートのグループに書き込みます。 これは、トランスフォーメーションに定義

している出力タイプに関係なく行われます。

注: グループを削除すると、グループ内のポートと子グループも削除されます。

階層スキーマのエクスポート

カスタムデータトランスフォーメーションに階層出力グループを定義する場合、データを

変換するData Transformationサービスにも同じ構造を定義する必要があります。カスタム

データトランスフォーメーションから出力階層構造をXMLスキーマファイルとしてエクスポ

ートします。 そのスキーマをData Transformationプロジェクトにインポートします。

Data Transformationプロジェクトではソースドキュメントの内容をXML要素および属性に

マッピングできます。

[構造]ビューからグループ階層をエクスポートするには、[XMLスキーマへのエクスポー

ト]をクリックします。XSDファイルの名前および場所を選択します。Data

Transformationスタジオと共にスキーマをインポートするとアクセスできる場所を選択し

ます。

Developerツールは、以下の名前空間を持つスキーマファイルを作成します。

"www.informatica.com/CDET/XSD/mappingName_Unstructured_Data"

94 章 8: カスタムデータトランスフォーメーション

Page 116: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

スキーマには以下のコメントが含まれています。

<!-- ===== AUTO-GENERATED FILE - DO NOT EDIT ===== --><!-- ===== This file has been generated by Informatica Developer ===== -->

スキーマを変更した場合、Data Transformationエンジンが出力ポートとは異なる形式のデ

ータをカスタムデータトランスフォーメーションに返す可能性があります。

スキーマのXML要素は、階層内の出力ポートを表しています。NULL値を含めることができる

カラムには、minOccurs=0およびmaxOccurs=1となるXML属性があります。

[詳細]ビュー

[詳細]ビューで、カスタムデータトランスフォーメーションの属性を設定します。

以下の表に、[詳細]ビューの属性を示します。

InputType

カスタムデータトランスフォーメーションがData Transformationエンジンに渡す入

力データのタイプ。以下の入力タイプのいずれかを選択します。

¨ バッファ。カスタムデータトランスフォーメーションは、InputBufferポートでソ

ースデータを受け取り、そのデータをポートからData Transformationエンジンに

渡します。

¨ ファイル。カスタムデータトランスフォーメーションは、InputBufferポートでソ

ースファイルパスを受け取り、そのソースファイルパスをData Transformationエ

ンジンに渡します。Data Transformationエンジンがソースファイルを開きます。

OutputType

カスタムデータトランスフォーメーションまたはData Transformationエンジンが返

す出力データのタイプ。以下の出力タイプのいずれかを選択します。

¨ バッファ。出力ポートのリレーショナル階層を設定していない限り、カスタムデー

タトランスフォーメーションはOutputBufferポートを介してXMLデータを返しま

す。 ポートのリレーショナル階層を設定している場合、カスタムデータトランス

フォーメーションは、OutputBufferポートではなく、ポートのリレーショナル階層

に出力を返します。

¨ ファイル。Data Transformationエンジンがファイルに出力を書き込みます。カス

タムデータトランスフォーメーションでポートのリレーショナル階層を設定してい

ない限り、Data Transformationエンジンはカスタムデータトランスフォーメーシ

ョンにデータを返しません。

Data Transformationサービスのタイプ

実行するData Transformationサービスの名前。サービスは、ローカルのData

Transformationリポジトリに存在している必要があります。

動的サービス名

入力行ごとに異なるData Transformationサービスを実行します。動的サービス名を

有効にすると、カスタムデータトランスフォーメーションはサービス名入力ポートで

サービス名を受け取ります。

カスタムデータトランスフォーメーションのビュー 95

Page 117: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

動的サービス名を無効にすると、カスタムデータトランスフォーメーションはどの入

力行でも同じサービスを実行します。 [サービス]ビューのサービス名属性には、サ

ービス名が含まれている必要があります。デフォルトでは無効になっています。

ステータストレースレベル

Data Transformationサービスからのステータスメッセージのレベルを設定します。

¨ 説明のみ。Data Transformationサービスが正常に実行されたかどうかを示すステ

ータスコードと簡単な説明を返します。

¨ フルステータス。Data Transformationサービスからステータスコードおよびステ

ータスメッセージをXMLで返します。

¨ なし。Data Transformationサービスからステータスを返しません。デフォルトは

[なし]です。

ストリーマチャンクサイズ

Data Transformationサービスがストリーマを実行するときに、カスタムデータトラ

ンスフォーメーションがData Transformationエンジンに渡すデータのバッファサイ

ズ。有効な値は1~100万KBです。 デフォルトは、256KBです。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

96 章 8: カスタムデータトランスフォーメーション

Page 118: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ステータストレースメッセージ

Data Transformationサービスからのステータスメッセージを返すようにカスタムデータト

ランスフォーメーションを設定することができます。

ステータストレースレベルを[説明のみ]または[フルステータス]に設定します。

Developerツールは、カスタムデータトランスフォーメーションにStatus_Codeポートおよ

びStatus_Message出力ポートを作成します。

[説明のみ]を選択した場合、Data Transformationサービスにより、ステータスコードと

次のいずれかのステータスメッセージが返されます。

Status Code ステータスメッセージ

1 成功

2 Warning

3 失敗

4 Error

5 致命的なエラー

[フルステータス]を選択した場合、Data Transformationサービスにより、ステータスコ

ードとエラーメッセージが返されます。メッセージはXMLフォーマットです。

ポート設定カスタムデータトランスフォーメーションを作成すると、Developerツールにより、入力お

よび出力の設定に基づいてポートが作成されます。 データトランスフォーメーションサー

ビスの要件に応じて、カスタムデータトランスフォーメーションの追加ポートを作成する

ことができます。

入力タイプおよび出力タイプ別のポート

入力タイプによって、Data Integration ServiceがData Transformationエンジンに渡す

データのタイプが決まります。入力タイプによって、入力がデータであるかソースファイ

ルパスであるかが決まります。

以下の入力タイプのいずれかを設定します。

¨ バッファ。カスタムデータトランスフォーメーションは、InputBufferポートでソース

データを受け取ります。Data Integration Serviceは、InputBufferポートからData

Transformationエンジンにソース行を渡します。

ポート設定 97

Page 119: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ ファイル。カスタムデータトランスフォーメーションは、InputBufferポートでソース

ファイルパスを受け取ります。Data Integration Serviceは、ソースファイルパスを

Data Transformationエンジンに渡します。Data Transformationエンジンがソースフ

ァイルを開きます。ファイル入力タイプは、Microsoft ExcelファイルまたはMicrosoft

Wordファイルなどのバイナリファイルを解析するのに使用します。

出力グループおよび出力ポートを定義しないと、カスタムデータトランスフォーメーショ

ンは出力タイプに基づいてデータを返します。

以下の出力タイプのいずれかを設定します。

¨ バッファ。カスタムデータトランスフォーメーションは、Outputbufferポートを介して

XMLを返します。XMLパーサートランスフォーメーションをOutputbufferポートに接続す

る必要があります。

¨ ファイル。Data Transformationエンジンは、Data Integration Serviceにデータを渡

すのではなく、出力ファイルにデータを書き込みます。Data Transformationエンジン

は、OutputFilenameポートのファイル名を基に、出力ファイルに名前を付けます。ファ

イル出力タイプは、XMLをバイナリデータに変換する場合に選択します。 例えば、PDF

ファイルやMicrosoft Excelファイルを作成できます。

Data Integration Serviceは、ソース行ごとにOutputBufferポートに出力ファイル名

を返します。 出力ファイル名が空白の場合、Data Integration Serviceは行エラーを

返します。 エラーが発生すると、Data Integration ServiceはOutputBufferにNULL値

を書き込み、行エラーを返します。

カスタムデータトランスフォーメーションの出力タイプがファイルで、まだグループ出

力ポートが定義されていない場合は、OutputBufferポートをダウンストリームトランス

フォーメーションにリンクする必要があります。 そうしないと、マッピングは無効に

なります。

追加のポート

Data Transformationでは、複数の入力ファイル、ファイル名、およびパラメータが必要に

なることがあります。データトランスフォーメーションサービスでは、複数の出力ファイ

ルを返すことができます。

カスタムデータトランスフォーメーションを作成すると、DesignerによってInputBufferポ

ートが1つと、OutputBufferポートが1つ作成されます。 カスタムデータトランスフォーメ

ーションとData Transformationエンジンの間で追加のファイルまたはファイル名を渡す必

要がある場合は、入力ポートまたは出力ポートを追加します。ポートは手動で追加するこ

とも、Data Transformationサービスから追加することもできます。

98 章 8: カスタムデータトランスフォーメーション

Page 120: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、[概要]ビューで作成できるポートを示します。

ポートタイプ 入力/

アウトプッ

説明

追加の入力

(バッファ)

入力 Data Transformationエンジンに渡す入力デー

タを受け取ります。

追加の入力

(ファイル)

入力 開くData Transformationエンジンのファイル

名とパスを受け取ります。

追加の出力

(ファイル)

入力 出力ファイル名を受け取ります。 Data

Transformationサービスが、その名前の出力

ファイルを追加で作成します。

サービスパラ

メータ

入力 Data Transformationサービスの入力パラメー

タを受け取ります。

追加の出力

(バッファ)

Output Data TransformationエンジンからXMLデータ

を受け取ります。

パススルー 入力/

出力

カスタムデータトランスフォーメーションを介

してデータをそのままの状態で渡します。

Data Transformationサービスからのポートの作成

パラメータ、追加の入力ファイル、および追加の出力ファイルを渡すポートをData

Transformationサービスに追加することができます。Data Transformationのポートに対

応するポートを作成できます。

Data Transformationサービスでは、入力パラメータ、追加の入力ファイル、またはユーザ

ー定義変数が必要になることがあります。その場合、カスタムデータトランスフォーメー

ションに複数の出力ファイルを返すことができます。

1. Data Transformationサービスを選択した後に、[選択]をクリックします。

Developerツールに、Data Transformationサービスで必要なサービスパラメータ、追

加の入力ポート、および追加の出力ポートが表示されます。サービスパラメータに

は、Data Transformationのシステム変数およびユーザー定義変数が含まれます。

2. リストからポートを選択します。 表示されているポートをすべて選択できます。

3. [OK]をクリックして、カスタムデータトランスフォーメーションにポートを作成し

ます。

カスタムデータトランスフォーメーションの作成

カスタムデータトランスフォーメーションはDeveloperツールで作成します。

カスタムデータトランスフォーメーションの作成 99

Page 121: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

1. [ファイル] > [新規] > [トランスフォーメーション]をクリックします。

新しいオブジェクトウィザードが表示されます。

2. [カスタムデータ]を選択します。

3. [次へ]をクリックします。

[カスタムトランスフォーメーション]ダイアログボックスが表示されます。

4. 以下のプロパティを設定します。

プロパテ

説明

名前 トランスフォーメーションの名前。

場所 カスタムデータトランスフォーメーションの場所。 Model

Repository Service、プロジェクト、およびフォルダを指定で

きます。 デフォルトは現在の場所です。

作成方法 カスタムデータトランスフォーメーションのポートと属性を作

成します。 以下のいずれかのオプションを選択します。

- 空として作成。 デフォルトのポートを作成しません。 トラ

ンスフォーメーションの作成後にポートと属性を設定しま

す。

- 動的トランスフォーメーションとして作成。 ServiceName入

力ポートの値に基づいて異なるData Transformationサービ

スを呼び出すようにトランスフォーメーションを設定しま

す。

- Data Transformationサービスから作成。Data

TransformationリポジトリからData Transformationサービ

スを選択します。[選択]をクリックして、サービスで必要

な入力ポート、出力ポート、または変数ポートを選択しま

す。

サービス

使用するData Transformationサービスの名前。Developerツ

ールには、Data Transformationリポジトリフォルダにある

Data Transformationサービスが表示されます。動的サービス

名を有効にする場合は、名前を選択しないでください。トラン

スフォーメーションを作成した後、[サービス]ビューでサー

ビス名を追加できます。

ポート [選択]をクリックして、Data Transformationサービスで必

要になる可能性がある追加の入力ポートまたは出力ポートを選

択します。

入力タイ

Data Transformationエンジンが受け取る入力データ。

- バッファ。カスタムデータトランスフォーメーションはData

Transformationサービスに行を渡します。

- ファイル。カスタムデータトランスフォーメーションはData

Transformationサービスにファイル名を渡します。

100 章 8: カスタムデータトランスフォーメーション

Page 122: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

プロパテ

説明

デフォルト値はBufferです。

Output

Type

Data Transformationエンジンが返す出力データ。

- バッファ。Data TransformationサービスはXMLまたは行デー

タを返します。

- ファイル。Data Transformationサービスはデータを出力フ

ァイルに書き込みます。

デフォルト値は[バッファ]です。

5. [OK]をクリックします。

6. [概要]ビューで、サービスの名前、説明、およびポートを変更できます。 Data

Transformationサービスに複数の入力ファイルまたは出力ファイルがある場合、また

はデータトランスフォーメーションで入力パラメータが必要になる場合は、[概要]

ビューでポートを追加できます。パススルーポートを追加することもできます。

7. [詳細]ビューで、カスタムデータトランスフォーメーションの属性を設定します。

8. カスタムデータトランスフォーメーションから行データを返すようにする場合は、

[構造]ビューで出力ポートグループを作成します。

9. ポートグループを作成した場合は、[構造]ビューから各グループについて記述した

スキーマをエクスポートします。

そのスキーマをData Transformationプロジェクトにインポートして、プロジェクト

出力を定義できます。

10. 出力ポートのリレーショナル階層を持つカスタムデータトランスフォーメーションを

設定する場合は、Developerツールのデータビューアで出力データをプレビューできま

す。

出力データをプレビューすると、Data Transformationエンジンが、ローカルのData

TransformationリポジトリからData Transformationサービスを実行します。

注: ポートの階層的なグループのデータを返すようにカスタムデータトランスフォー

メーションを設定した場合、OutputBufferポートはXMLデータを返しません。 データ

プレビューの際、OutputBufferポートはXMLヘッダだけを返します。

カスタムデータトランスフォーメーションの作成 101

Page 123: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 9 章

データマスキングトランスフォーメーション

この章では、以下の項目について説明します。

¨ データマスキングトランスフォーメーションの概要, 102 ページ

¨ マスキング方法, 103 ページ

¨ マスキングルール, 106 ページ

¨ 特殊マスク形式, 112 ページ

¨ デフォルト値ファイル, 115 ページ

¨ データマスキングトランスフォーメーションの設定, 115 ページ

¨ データマスキングの例, 117 ページ

データマスキングトランスフォーメーションの概要

データマスキングトランスフォーメーションは、機密性が高い実稼働データを、非プロダ

クション環境向けの現実的なテストデータに変換します。データマスキングトランスフォ

ーメーションは、カラムごとに設定されたマスキングルールに基づいてソースデータを変

更します。

ソフトウェア開発、テスト、トレーニング、およびデータマイニング用にマスクされたデ

ータを作成します。 マスクされたデータ内のデータリレーションシップを保持し、データ

ベーステーブル間の参照整合性を保持することができます。

データマスキングトランスフォーメーションでは、カラムに設定したソースのデータ型お

よびマスキングの種類に基づいてマスキングルールが提供されます。文字列では、文字列

内の置換する文字を制限できます。マスクで適用する文字を制限できます。数と日付の場

合は、マスクされたデータの数の範囲を指定できます。 範囲は、元の数に対する固定偏差

またはパーセント偏差に基づいて設定できます。Data Integration Serviceでは、トラン

スフォーメーションに設定したロケールに基づいて文字を置き換えます。

データマスキングトランスフォーメーションには、以下のタイプのマスキングを適用でき

ます。

102

Page 124: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

キーマスキング

同じソースデータ、マスキングルール、およびシード値に対して確定的な結果を生成

します。確定的な結果は、同じ入力値の再現可能な出力値です。

ランダムマスキング

同じソースデータとマスキングルールに対して再現可能でないランダムな結果を生成

します。

特殊マスク形式

SSN、クレジットカード番号、電話番号、URL、電子メールアドレス、またはIPアドレ

スを変更するための特殊マスク形式を適用します。

マスキング方法マスキング方法は、選択したカラムに適用するデータマスキングのタイプです。

入力カラムに、以下のいずれかのマスキング方法を選択できます。

ランダム

再現可能ではないランダムな値でソースデータをマスクします。ランダムマスキング

ではseed値は不要です。ランダムマスキングの結果は、確定的ではありません。

キー

ソースデータを再現可能な値でマスクします。データマスキングトランスフォーメー

ションによって、同じソースデータ、マスキングルール、およびseed値に対して確定

的な結果が生成されます。データマスキングトランスフォーメーションで確定的な結

果を生成するには、シード値が必要です。

特殊マスク形式

クレジットカード番号、電子メールアドレス、IPアドレス、電話番号、SSN、SIN、ま

たはURLに対応します。データマスキングトランスフォーメーションでは、これらの一

般的なセンシティブデータをインテリジェントにマスクするビルトインルールが適用

されます。

マスキングなし

データマスキングトランスフォーメーションでは、ソースデータは変更されません。

デフォルトは、[マスキングなし]です。

キーマスキング

キーマスキングに対して設定されたカラムは、ソース値とシード値が同じ場合に、マスク

された確定的なデータを返します。 データマスキングトランスフォーメーションは、カラ

ムに対して一意の値を返します。

キーマスキングに対してカラムを設定すると、データマスキングトランスフォーメーショ

ンによって、そのカラムのシード値が生成されます。 異なるデータマスキングトランスフ

マスキング方法 103

Page 125: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ォーメーションで再現可能なデータを生成するようにシード値を変更できます。 例えば、

キーマスキングを設定して、参照整合性を強制します。 あるテーブルのプライマリキーと

別のテーブルの外部キーをマスクするには、同じseed値を使用します。

データマスキングトランスフォーメーションによって返されるデータのフォーマットに影

響を与えるマスキングルールを定義できます。文字列値と数値のマスクには、キーマスキ

ングを使用します。

文字列値のマスキング

文字列の再現可能な出力を生成するために、キーマスキングを設定できます。マスク形式

を設定して、出力文字列に含まれる各文字に対する制限を定義します。マスクするソース

文字を定義するソース文字列の文字を設定します。結果文字列の置換文字を設定して、マ

スクされたデータを特定の文字に制限します。

キーマスキング文字列には、以下のマスキングルールを設定できます。

シード

シード値を適用し、列に対して確定的なマスクされた値を生成します。1から1,000ま

での数値を入力できます。

マスク形式

置き換える文字の種類を入力データの文字ごとに定義します。各文字の種類を英文

字、数字、または英数字に制限できます。

ソース文字列の文字

ソース文字列内のマスク対象文字を定義します。例えば、入力データに出現する各シ

ャープ記号(#)をマスクできます。[ソース文字列の文字]が空白の場合は、すべて

の入力文字がマスクされます。データマスキングトランスフォーメーションは、ソー

ス文字列の文字数が結果文字列の文字数より少ない場合、一意のデータが返されない

ことがあります。

結果文字列の文字

対象文字列内の文字を、[結果文字列の文字]で定義された文字に置き換えます。例

えば、各マスクに英文字の大文字をすべて含めるには、以下の文字を入力します。

ABCDEFGHIJKLMNOPQRSTUVWXYZ

数値のマスキング

決定性出力が生成されるようにするには、数値ソースデータにキーマスキングを設定しま

す。カラムに対して数値キーマスキングを設定する場合、カラムにランダムなシード値を

割り当てます。データマスキングトランスフォーメーションによってソースデータがマス

クされる場合、seedを必要とするマスキングアルゴリズムが適用されます。

同じソース値が別のカラムに出現した場合に再現可能な結果が生成されるようにするに

は、カラムのseed値を変更します。たとえば、2つのテーブル間でプライマリキーと外部キ

ーのリレーションが維持されるようにするとします。この場合、各データマスキングトラ

ンスフォーメーションで、プライマリキーカラムのseed値と外部キーカラムのseed値とし

て同じseed値を入力します。データマスキングトランスフォーメーションによって、同じ

数値に対して確定的な結果が生成されます。これにより、この2つのテーブル間で参照整合

性が維持されるようになります。

104 章 9: データマスキングトランスフォーメーション

Page 126: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

日時の値のマスキング

日時の値に対してキーマスキングを設定できる場合、データマスキングトランスフォーメ

ーションでシードとしてランダムな数値が必要になります。カラム間で再現可能な日時の

値を返すには、別のカラムのシード値に一致するようにシードを変更できます。

データマスキングトランスフォーメーションは、キーマスキングで1753?2400の日付をマス

クできます。 ソース年がうるう年の場合、データマスキングトランスフォーメーションは

同じくうるう年の年を返します。 ソース月に31日が含まれる場合、データマスキングトラ

ンスフォーメーションは31日を含む月を返します。 ソース月が2月の場合、データマスキ

ングトランスフォーメーションは2月を返します。

データマスキングトランスフォーメーションは、常に有効な日付を生成します。

ランダムマスキング

ランダムマスキングでは、非決定性のマスクされたデータがランダムに生成されます。 デ

ータマスキングトランスフォーメーションでは、異なる行に同じソース値が出現する場合

に、異なる値が返されます。データマスキングトランスフォーメーションによって返され

るデータのフォーマットに影響を与えるマスキングルールを定義できます。ランダムマス

キングでは、数値、文字列値、および日付値がマスクされます。

文字列値のマスキング

ランダムマスキングを設定すると、文字列カラムにランダムな出力が生成されます。出力

文字列に含まれる各文字の制限を設定するには、マスクフォーマットを定義します。ソー

ス文字列の文字と結果文字列の置き換え文字を設定するには、マスクするソース文字とマ

スクに使用する文字を定義します。

文字列ポートには、以下のマスキングルールを適用できます。

範囲

文字列長の上限と下限を設定します。データマスキングトランスフォーメーションで

は、文字列長の上限と下限の範囲内でランダムに構成された文字列が返されます。

マスク形式

置き換える文字の種類を入力データの文字ごとに定義します。各文字の種類を英文

字、数字、または英数字に制限できます。

ソース文字列の文字

ソース文字列内のマスク対象文字を定義します。例えば、入力データに出現する各シ

ャープ記号(#)をマスクできます。[ソース文字列の文字]が空白の場合は、すべて

の入力文字がマスクされます。

結果文字列の置換文字

対象文字列内の文字を、[結果文字列の文字]で定義された文字に置き換えます。例

えば、各マスクに英文字の大文字A?Zを含めるには、以下の文字を入力します。

ABCDEFGHIJKLMNOPQRSTUVWXYZ

マスキング方法 105

Page 127: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

数値のマスキング

数値データをマスクする場合は、カラムの出力データ範囲を設定できます。データマスキ

ングトランスフォーメーションでは、ポート精度に応じて、範囲の上限と下限の間の値が

返されます。範囲を定義するには、範囲の上限と下限を設定するか、元のソース値に対す

る偏差に基づくブラー範囲を設定します。

数値データには、以下のマスキングパラメータを設定できます。

範囲

出力値の範囲を定義します。データマスキングトランスフォーメーションでは、値の

上限と下限の間にある数値データが返されます。

ブラー範囲

ソースデータに対する固定偏差またはパーセント偏差に基づく範囲として、出力値の

範囲を定義します。データマスキングトランスフォーメーションでは、ソースデータ

の値に近い数値データが返されます。範囲とブラー範囲を両方設定することもできま

す。

日付値のマスキング

日付値をランダムマスキングでマスクするには、出力日の範囲を設定するか、偏差を選択

します。 偏差を設定する場合は、ブラー対象となる日付部分を選択します。選択できるの

は年、月、日、時、分、または秒です。データマスキングトランスフォーメーションは、

設定した範囲内の日付を返します。

日時の値をマスクする場合は、以下のマスキングルールを設定できます。

範囲

選択した日時の値に対して返す値の上限と下限を設定します。

ブラー

日付の単位に適用する偏差に基づいて日付をマスクします。データマスキングトラン

スフォーメーションでは、偏差の範囲内の日付が返されます。年、月、日、または時

がブラーの対象になります。適用する低偏差と高偏差を選択します。

マスキングルールマスキングルールは、マスキング方法の選択後に設定するオプションです。

ランダムまたはキーマスキング方法を選択する場合、マスク形式、ソース文字列の文字、

および結果文字列の文字を設定できます。ランダムマスキングを持つ範囲またはブラーを

設定できます。

106 章 9: データマスキングトランスフォーメーション

Page 128: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表で、各マスキング方法に設定できるマスキングルールについて説明します。

マスキングルー

説明 マスキング方法 ソースのデータ

マスク形式 出力文字列内の

各文字を英文

字、数字、また

は英数字に制限

するマスクで

す。

ランダムおよび

キー

String

ソース文字列の

文字

マスクするソー

ス文字セット、

またはマスク対

象から除外する

ソース文字セッ

トです。

ランダムおよび

キー

String

結果文字列の置

換文字

マスクに含める

文字セットまた

はマスクから除

外する文字セッ

トです。

ランダムおよび

キー

String

範囲 出力値の範囲で

す。

- 数値。

データマスキ

ングトランス

フォーメーシ

ョンでは、値

の上限と下限

の間にある数

値データが返

されます。

- 文字列。上限

と下限の文字

列長の範囲内

で、ランダム

な文字で構成

される文字列

を返します。

- 日付/時刻。

日時の 大値

と 小値の範

囲内で

日付と時間を

返します。

ランダム Numeric

String

日付/時刻

ブラー ソースデータに

対する固定偏差

またはパーセン

ト偏差の範囲の

出力値です。デ

ータマスキング

ランダム Numeric

日付/時刻

マスキングルール 107

Page 129: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

マスキングルー

説明 マスキング方法 ソースのデータ

トランスフォー

メーションで

は、ソースデー

タの値に近いデ

ータが返されま

す。日時のカラ

ムは固定偏差で

ある必要があり

ます。カラムは

固定偏差である

必要がありま

す。

マスク形式

出力カラム内の各文字を英文字、数字、または英数字に制限するには、マスク形式を設定

します。以下の文字を使用して、マスク形式を定義します。

A, D, N, X, +, R

注: マスク形式には、大文字を使用します。マスク文字として小文字を入力すると、デー

タマスキングトランスフォーメーションによって大文字に変換されます。

以下の表では、マスク形式文字について説明します。

文字 説明

A 英文字。例えば、ASCII文字a?z、A?Zです。

D 数字。0?9です。

N 英数字。例えば、ASCII文字a?z、A?Z、および0?9です。

X 任意の文字。たとえば、英文字や記号です。

+ マスキングなし。

R 残りの文字。Rは、文字列内のその他の文字に、任意の種類の文字を

使用できることを示します。Rは、マスクの 後の文字にする必要が

あります。

たとえば、部署名のフォーマットが以下のとおりであるとします。

nnn-<department_name>

初の3文字を数値に限定し、部署名を英文字に限定し、ダッシュを出力に残すマスクを設

定できます。この場合、マスクフォーマットを以下のように設定します。

DDD+AAAAAAAAAAAAAAAA

108 章 9: データマスキングトランスフォーメーション

Page 130: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

データマスキングトランスフォーメーションによって、 初の3文字が数字に置き換えられ

ます。4番目の文字は置き換えられません。残りの文字は、英文字に置き換えられます。

マスクフォーマットの定義がない場合、各ソース文字は任意の文字に置き換えられます。

マスクフォーマットが入力文字列より長い場合は、マスクフォーマットの余分な文字が無

視されます。マスクフォーマットがソース文字列より短い場合は、ソース文字列の 後の

部分の文字はマスクされません。

注: マスクフォーマットの設定に範囲オプションを使用することはできません。

ソース文字列の文字

ソース文字列の文字とは、マスクするように選択した文字列、またはマスクしないように

選択したソース文字のことです。ソース文字列内での文字の位置は、重要ではありませ

ん。ソース文字では、大文字と小文字が区別されます。

設定できる文字数に制限はありません。[文字]が空白の場合は、カラム内のすべてのソ

ース文字列が置き換えられます。

ソース文字列の文字について、以下のいずれかのオプションを選択します。

指定文字のみマスク

データマスキングトランスフォーメーションでは、ソースに含まれる文字のうち、ソ

ース文字列の文字として設定されている文字がマスクされます。たとえば、文字A、

B、およびcを入力すると、ソースデータに出現したA、B、またはcが別の文字に置き換

えられます。A、B、またはcではないソース文字は置き換えられません。マスクでは、

大文字と小文字が区別されます。

指定文字以外をすべてマスク

ソース文字列に出現したソース文字列の文字を除いて、すべての文字をマスクしま

す。たとえば、フィルタソース文字"-"を入力し、[指定文字以外をすべてマスク]を

選択した場合は、文字"-"がソースデータに出現しても置き換えられません。それ以外

のソース文字は変更されます。

ソース文字列の例

ソースファイルに[従属]という名前のカラムがあるとします。 [従属]カラムには、カ

ンマで区切られた複数の名前が含まれています。[従属]カラムをマスクし、名前を区切

るカンマをテストデータで保持する必要があります。

[従属]カラムに対して、[ソース文字列の文字]を選択します。[マスクしない]を選

択し、対象外の文字として","を入力します。引用符は入力しないでください。

データマスキングトランスフォーメーションによって、ソース文字列内のカンマ以外の文

字がすべて置き換えられます。

結果文字列の置換文字

結果文字列の置換文字は、マスクされたデータに含める置き換え文字として選択した文字

です。結果文字列の置換文字を設定すると、データマスキングトランスフォーメーション

によって、ソース文字列内の文字が結果文字列の置換文字に置き換えられます。異なる入

マスキングルール 109

Page 131: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

力値に対して同じ出力が生成されないようにするには、設定する置換文字の範囲を広くす

るか、マスクするソース文字の数を少なくします。文字列内での文字の位置は、重要では

ありません。

結果文字列の置換文字について、以下のいずれかのオプションを選択します。

指定文字のみ使用

結果文字列の置換文字として定義した文字のみを使用してソースをマスクします。例

えば、文字A、B、およびcを入力すると、ソースカラムの各文字がA、B、またはcに置

き換えられます。"horse"という単語は、"BAcBA"などに置き換えられます。

指定文字以外をすべて使用

結果文字列の置換文字として定義した文字以外を使用してソースをマスクします。例

えば、結果文字列の置換文字としてA、B、およびcを入力すると、マスクされたデータ

に文字A、B、またはcは出現しません。

結果文字列の置換文字の例

[従属]カラムに含まれるすべてのカンマをセミコロンに置き換えるには、以下のタスク

を完了します。

1. ソース文字列の文字としてカンマを設定し、[指定文字のみマスク]を選択します。

データマスキングトランスフォーメーションでは、[従属]カラムにカンマが出現し

た場合にのみ、カンマがマスクされます。

2. 結果文字列の置換文字としてセミコロンを設定し、[指定文字のみ使用]を選択しま

す。

データマスキングトランスフォーメーションでは、[従属]カラムにカンマが出現す

るたびにカンマがセミコロンに置き換えられます。

範囲

数値、日付、または文字列データの範囲を定義します。 数値または日付値の範囲を定義す

ると、データマスキングトランスフォーメーションによって、ソースデータが上限値と下

限値の範囲内の値でマスクされます。文字列の範囲を設定する場合は、文字列長の範囲を

設定します。

文字列の範囲

ランダム文字列マスキングを設定すると、データマスキングトランスフォーメーションに

よって、ソース文字列の長さとは異なる長さの文字列が生成されます。オプションで、文

字列長の上限と下限を設定できます。文字列長の上限および下限として入力する値は、正

の整数である必要があります。長さは、ポート精度以下である必要があります。

数値の範囲

数値カラムの上限値と下限値を設定します。上限値は、ポート精度以下である必要があり

ます。デフォルトの範囲は、1からポート精度長までです。

110 章 9: データマスキングトランスフォーメーション

Page 132: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

日付範囲

日時の値の上限値と下限値を設定します。上限と下限の各フィールドには、デフォルトの

日付の上限と下限が表示されます。 デフォルトの日付形式は、MM/DD/YYYY HH24:MI:SSで

す。上限の日付は、下限の日付より後である必要があります。

ブラー

ブラーでは、ソースデータ値に対する固定偏差またはパーセント偏差の範囲の出力値が生

成されます。元の値に近いランダムな値が返されるようにする場合は、ブラーを設定しま

す。ブラーの対象は、数値および日付値です。

数値のブラー

ソース数値のブラー方法として、固定偏差またはパーセント偏差を選択します。低ブラー

値は、ソース値より小さい値に関する偏差です。高ブラー値は、ソース値より大きい値に

関する偏差です。どちらの値もゼロ以上である必要があります。データマスキングトラン

スフォーメーションによって返されるマスクされたデータで、数値データは定義した値の

範囲内の値に置き換えられます。

以下の表に、入力ソース値が66の場合のブラーの範囲値に応じたマスキング結果を示しま

す。

ブラーの種類 低 高 結果

固定長 0 10 66~76

固定長 10 0 56~66

固定長 10 10 56~76

Percent 0 50 66~99

Percent 50 0 33~66

Percent 50 50 33~99

日付値のブラー

ブラーを設定すると、ソース日付に対する偏差で日付をマスクできます。偏差の適用対象

の日付単位を選択します。年、月、日、または時を選択できます。ソース日付単位の上下

の偏差を定義するには、上限と下限を入力します。データマスキングトランスフォーメー

ションは、偏差を適用し、偏差の範囲内の日付を返します。

例えば、マスクされた日付をソース日付の2年以内に制限するには、単位として年を選択し

ます。高低の境界として2を入力します。ソースデータが02/02/2006の場合、データマスキ

ングトランスフォーメーションは02/02/2004から02/02/2008の日付を返します。

デフォルトのブラー単位は年です。

マスキングルール 111

Page 133: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

特殊マスク形式特殊マスク形式は、一般的なタイプのデータに適用できるマスクです。特殊マスク形式で

は、データマスキングトランスフォーメーションで、現実的な形式を持つものの有効な値

ではない、マスクされた値が返されます。

例えば、SSNをマスクすると、データマスキングトランスフォーメーションにより形式は正

しいものの有効ではないSSNが返されます。社会保障番号には、再現可能なマスキングを設

定できます。

以下のタイプのデータの、特殊マスクを設定します。

¨ 社会保障番号

¨ クレジットカード番号

¨ 電話番号

¨ URLアドレス

¨ 電子メールアドレス

¨ IPアドレス

¨ 社会保険番号

ソースデータの形式またはデータ型がマスクとして無効の場合、Data Integration

Serviceでは、デフォルトのマスクがデータに適用されます。Integration Serviceでは、

デフォルト値のファイルからマスクされた値が適用されます。デフォルト値のファイルを

編集してデフォルト値を変更できます。

社会保障番号

データマスキングトランスフォーメーションでは、米国社会保障庁による 新のハイグル

ープ履歴リストに基づいて、無効なSSNが生成されます。High Group Listには、社会保障

局が発行した有効な番号が記載されています。データマスキングトランスフォーメーショ

ンでは、以下の場所のHigh Group Listにアクセスします。

<Installation Directory>\infa_shared\SrcFiles\highgroup.txt

データマスキングトランスフォーメーションでは、ハイグループ履歴リストにないSSN番号

が生成されます。社会保障庁では、ハイグループ履歴リストを毎月更新しています。 この

リストの 新バージョンは、以下の場所からダウンロードします。

http://www.socialsecurity.gov/employer/ssns/highgroup.txt

社会保障番号(SSN)形式

データマスキングトランスフォーメーションは、9桁の数字を含むSSN形式を受け付けま

す。 この数字は任意の文字で区切ることができます。 例えば、データマスキングトラン

スフォーメーションは以下の形式を受け付けます。 +=54-*9944$#789-,*()”.

地域コードの要件

データマスキングトランスフォーメーションでは、ソースと同じ形式を持つ無効なSSNが返

されます。 SSNの 初の3桁では地域コードが定義されます。 地域コードはマスクされま

112 章 9: データマスキングトランスフォーメーション

Page 134: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

せん。 グループ番号とシリアル番号はマスクされます。 ソースSSNには有効な地域コード

が含まれている必要があります。 データマスキングトランスフォーメーションは、ハイグ

ループリストから地域コードを検索し、マスクされたデータとして適用できる未使用の番

号の範囲を判断します。 SSNが無効な場合、ソースデータはマスクされません。

再現可能な社会保障番号のマスキング

社会保障番号には、再現可能なマスキングを設定できます。社会保障番号に対して再現可

能なマスキングを設定するには、[再現可能な出力]をクリックして、[シード値]また

は[マッピングパラメータ]を選択します。

[シード値]を選択すると、Designerでは乱数がシードとして割り当てられます。 異なる

ソースデータで同じ社会保障番号を生成するには、各データマスキングトランスフォーメ

ーションのシード値を変更して、他のトランスフォーメーションの社会保障番号のシード

値に一致させます。 マッピングでデータマスキングトランスフォーメーションを定義して

いる場合は、シード値に対するマッピングパラメータを設定できます。

データマスキングトランスフォーメーションでは、再現可能なマスキングが設定された確

定的な社会保障番号が返されます。 データマスキングトランスフォーメーションでは、社

会保障庁が発行した有効な社会保障番号が返されないため、一意のすべての社会保障番号

を返すことはできません。

電子メールアドレス

データマスキングトランスフォーメーションでは、電子メールアドレスをマスクする場

合、ランダムな文字で構成される電子メールアドレスが返されます。

たとえば、[email protected][email protected]などとしてマスクされます。

注: 電子メールアドレスの場合は、常にASCII文字が返されます。

クレジットカード番号

データマスキングトランスフォーメーションでは、有効なクレジットカード番号をマスク

する場合、論理的に有効なクレジットカード番号が生成されます。ソースクレジットカー

ド番号の長さは13?19桁です。入力クレジットカード番号に、クレジットカード業界のルー

ルに基づく有効なチェックサム値がある必要があります。

ソースクレジットカード番号には、数字、スペース、およびハイフンを使用できます。ク

レジットカード番号に無効な文字が含まれている場合、または長さが正しくない場合、

Integration Serviceによって、セッションログにエラーが書き込まれます。ソースデータ

が無効の場合、Integration Serviceによって、デフォルトのクレジットカード番号マスク

が適用されます。

6桁の銀行識別番号(BIN)はマスクされません。クレジットカード番号4539 1596 8210

2773は、4539 1516 0556 7067などとしてマスクされます。データマスキングトランスフ

ォーメーションによって生成されるマスクされた番号は、有効なチェックサムを持ちま

す。

電話番号

特殊マスク形式 113

Page 135: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

データマスキングトランスフォーメーションでは、元の電話番号のフォーマットが変更さ

れることなく、電話番号がマスクされます。電話番号(408)382 0658は、(408)256 3106な

どとしてマスクされます。

ソースデータには、数字、スペース、ハイフン、およびかっこを使用できます。

Integration Serviceでは、英文字または特殊文字はマスクされません。

URL

データマスキングトランスフォーメーションでは、'://'文字列を検索し、その右側の部分

文字列を解析することによってURLが解析されます。ソースURLには、'://'文字列が含まれ

ている必要があります。ソースURLには、数字と英文字を使用できます。

URLのプロトコル部分はマスクされません。URLがhttp://www.yahoo.comの場合は、http://

MgL.aHjCa.VsD/が返されます。生成されるURLは、無効な場合があります。

注: URLの場合は、常にASCII文字が返されます。

IPアドレス

データマスキングトランスフォーメーションでは、IPアドレスをマスクする場合、ピリオ

ド(.)で区切られた4つの数による別のIPアドレスとしてマスクされます。 初の数はネ

ットワークを表します。ネットワーク番号は、ネットワークの範囲内でマスクされます。

クラスAのIPアドレスはクラスAのIPアドレスにマスクされ、10.x.x.xアドレスは10.x.x.x

アドレスにマスクされます。クラスとプライベートネットワークアドレスはマスクされま

せん。

11.12.23.34はたとえば75.32.42.52に、10.23.24.32はたとえば10.61.74.84に、それぞれ

マスクされます。

社会保険番号

このデータマスキングトランスフォーメーションでは、9桁の社会保険番号がマスクされま

す。番号は任意の文字で区切ることができます。

番号に区切り文字が含まれない場合、マスクされた番号に区切り文字は含まれません。そ

れ以外の場合、マスクされた番号は以下の形式になります。

xxx-xxx-xxx

再現可能なSIN番号

再現可能なSIN値を返すようにデータマスキングトランスフォーメーションを設定すること

ができます。再現可能なSINマスキングに対応するようポートを設定すると、データマスキ

ングトランスフォーメーションでは、ソースSIN値とシード値が同じ場合に、マスクされた

確定的なデータが返されます。

再現可能なSIN番号を返すには、[再現可能な値]を有効にしてシード番号を入力します。

データマスキングトランスフォーメーションは、各SINに対して一意の値を返します。

114 章 9: データマスキングトランスフォーメーション

Page 136: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

SINの開始桁

マスクされたSINの 初の桁を定義できます。

[開始桁]を有効にして、桁を数字で入力します。データマスキングトランスフォーメー

ションを実行すると、ここで入力した桁より上をマスクしたSIN番号が作成されます。

デフォルト値ファイルソースデータの形式またはデータ型がマスクとして無効の場合、Data Integration

Serviceでは、デフォルトのマスクがデータに適用されます。Integration Serviceでは、

デフォルト値のファイルからマスクされた値が適用されます。デフォルト値のファイルを

編集してデフォルト値を変更できます。

デフォルト値ファイルは、以下の場所にあるXMLファイルです。

<インストールディレクトリ>\infa_shared\SrcFiles\defaultValue.xml

defaultValue.xmlファイルには、以下の名前と値のペアが用意されています。

<?xml version="1.0" standalone="yes" ?><defaultValuedefault_char = "X"default_digit = "9"default_date = "11/11/1111 00:00:00"default_email = "[email protected]"default_ip = "99.99.9.999"default_url = "http://www.xyz.com"default_phone = "999 999 999 9999"default_ssn = "999-99-9999"default_cc = "9999 9999 9999 9999"default_sin = "999-999-999"default_seed = "500"/>

データマスキングトランスフォーメーションの設定

以下の手順を使用して、データマスキングトランスフォーメーションを設定します。

1. トランスフォーメーションを作成します。

2. 入力ポートを定義します。

3. 変更する各ポートのマスキングルールを設定します。

4. データをプレビューして結果を確認します。

データマスキングトランスフォーメーションの作成

データマスキングトランスフォーメーションはDeveloperツールで作成します。

デフォルト値ファイル 115

Page 137: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

データマスキングトランスフォーメーションを作成する前に、ソースを作成します。フラ

ットファイルまたはリレーショナルデータベーステーブルを物理データオブジェクトとし

てインポートします。

1. [Object Explorer]ビューで、プロジェクトまたはフォルダを選択します。

2. [ファイル] > [新規] > [トランスフォーメーション]をクリックします。

[新規]ダイアログボックスが表示されます。

3. データマスキングトランスフォーメーションを選択します。

4. [次へ]をクリックします。

5. トランスフォーメーションの名前を入力します。

6. [完了]をクリックします。

トランスフォーメーションがエディタに表示されます。

ポートの定義

[概要]ビューで、データマスキング入力ポートを追加します。入力ポートの作成時に、

Developerツールにより対応する出力ポートがデフォルトで作成されます。出力ポートの名

前は入力ポートと同じです。

1. [概要]ビューで、[新規]をクリックしてポートを追加します。

2. カラムのデータ型、精度、スケールを設定します。

カラムのマスキングルールを定義する前に、カラムのデータ型を設定する必要があり

ます。

3. ポートのデータマスキングを設定するには、[概要]ビューのマスキングタイプカラ

ムの矢印をクリックします。

各ポートのデータマスキングの設定

[データマスク]ダイアログボックスで、ポートのマスキング方法と対応するマスキング

ルールを選択します。[データマスク]ダイアログボックスは、[ポート]ビューの[デ

ータマスキング]カラムをクリックすると表示されます。

1. 選択したポートにマスキングを設定するには、[マスキングの適用]を有効にしま

す。

マスキングしているポートのデータ型に基づいて、使用できるマスキング方法のリス

トがDeveloperツールによって表示されます。

2. リストからマスキング方法を選択します。

選択するマスキング方法に基づいて、各種マスキングルールがDeveloperツールによっ

て表示されます。一部の特殊なマスク形式には、設定するマスキングルールがありま

せん。

3. マスキングルールを設定します。

4. [OK]をクリックして、ポートのデータマスキング設定を適用します。

ポートのデータマスキングを定義すると、Developerツールによりout-<ポート名>と

いう出力ポートが作成されます。<ポート名>は入力ポートと同じ名前です。データマ

スキングトランスフォーメーションにより、out-<ポート名>ポートのマスクされたデ

ータが返されます。

116 章 9: データマスキングトランスフォーメーション

Page 138: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

マスクされたデータのプレビュー

[データビューア]でデータマスキングトランスフォーメーションの結果を表示する際、

マスクされたデータと元のデータを比較できます。

1. データマスキングトランスフォーメーションポートとマスキングルールの設定後、物

理データオブジェクトソースとデータマスキングトランスフォーメーションを含むマ

ッピングを作成します。

2. ソースをデータマスキングトランスフォーメーションに接続します。

3. Data Integration Serviceがアクセス可能な共有場所に、ソースのデータがあること

を確認します。

4. データマスキングトランスフォーメーションをクリックして、マッピングで選択しま

す。

5. [データビューア]をクリックして、[実行]をクリックします。

Developerツールで、すべてのデータマスキングトランスフォーメーション出力ポート

のデータが表示されます。[出力]プレフィックスを持つポートに、マスクされたデ

ータが含まれます。[データ]ビューで、マスクされたデータと元のデータを比較で

きます。

データマスキングの例開発者は、カスタマアプリケーション用のテストデータを作成する必要があります。デー

タには、他の開発者が会社の開発環境でアクセス可能な現実的なカスタマデータを含める

必要があります。

開発者は、カスタマID、クレジットカード番号、所得などのマスクされたカスタマデータ

を返すデータサービスを作成します。マッピングには、カスタマデータを変換するデータ

マスキングトランスフォーメーションが含まれます。

以下の図はマッピングを示しています。

マッピングには、以下のトランスフォーメーションが含まれています。

¨ Read_Customer_Data。カスタマのクレジットカード情報および所得情報が含まれます。

¨ Customer_Data_Maskingトランスフォーメーション。FirstNameとLastNameを除くすべ

てのカラムをマスクします。データマスキングトランスフォーメーションによって、マ

スクされたカラムがターゲットに渡されます。

¨ Customer_TestData。マスクされたカスタマデータを受け取る出力トランスフォーメー

ション。

データマスキングの例 117

Page 139: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Read_Customer Data

カスタマデータには、以下のカラムが含まれます。

カラム データ型

CustomerID Integer

LastName String

FirstName String

CreditCard String

Income Integer

Join_Date 日時(MM/DD/YYYY)

以下の表に、カスタマデータのサンプルを示します。

CustomerID LastName FirstName CreditCard Income JoinDate

0095 Bergeron Barbara 4539-1686-3069-3957 12000 12/31/1999

0102 Brosseau Derrick 5545-4091-5232-8948 4000 03/03/2011

0105 Anderson Lauren 1234-5678-9012-3456 5000 04/03/2009

0106 Boonstra Pauline 4217-9981-5613-6588 2000 07/07/2007

0107 Chan Brian 4533-3156-8865-3156 4500 06/18/1995

カスタマデータマスキングトランスフォーメーション

データマスキングトランスフォーメーションでは、 初と 後の名前以外、カスタマ行の

すべてのカラムをマスクします。

データマスキングトランスフォーメーションでは、次のタイプのマスキングを実行しま

す。

¨ キーマスキング

¨ ランダムマスキング

¨ クレジットカードマスキング

以下の表に、データマスキングトランスフォーメーションでの各ポートのマスキングルー

ルを示します。

入力ポート マスキングの種

マスキングルー

説明

CustomerID キー シードは934で

す。

カスタマIDに、

マスク形式はあ

りません。

カスタマIDマス

クは確定的で

す。

マスクされたカ

スタマIDには数

字が含まれま

す。

118 章 9: データマスキングトランスフォーメーション

Page 140: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

入力ポート マスキングの種

マスキングルー

説明

結果文字列の置

換文字は

1234567890で

す。

LastName マスキングなし

FirstName マスキングなし

CreditCard CreditCard なし データマスキン

グトランスフォ

ーメーションで

は、クレジット

カード番号を有

効なチェックサ

ムを持つ他の番

号でマスクしま

す。

Income ランダム ブラー

Percent

下限 = 1

上限 = 10

マスクされた

Incomeは、源泉

所得の10パーセ

ントの範囲内に

なります。

JoinDate ランダム ブラー

単位 = 年

下限 = 5

上限 = 5

マスクされた

Dateは元の日付

から5年以内にな

ります。

カスタマテストデータ結果

Customer_TestDataトランスフォーメーションは、データマスキングトランスフォーメーシ

ョンから実際のカスタマデータを受け取ります。

Customer_TestDataターゲットは、以下のデータを受け取ります。

out-CustomerID out-LastName outFirstName out-CreditCard out-Income out-JoinDate

3954 Bergeron Barbara 4539-1625-5074-4106 11500 03/22/2001

3962 Brosseau Derrick 5545-4042-8767-5974 4300 04/17/2007

3964 Anderson Lauren 1234-5687-2487-9053 5433 09/13/2006

3965 Boonstra Pauline 4217-9935-7437-4879 1820 02/03/2010

3966 Chan Brian 4533-3143-4061-8001 4811 10/30/2000

Incomeは、元の所得の10パーセントの範囲内になります。JoinDateは元の日付から5年以内

になります。

データマスキングの例 119

Page 141: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 0 章

ディシジョントランスフォーメーション

この章では、以下の項目について説明します。

¨ ディシジョントランスフォーメーションの概要, 120 ページ

¨ ディシジョントランスフォーメーションの関数, 121 ページ

¨ ディシジョントランスフォーメーションの条件文 , 123 ページ

¨ ディシジョントランスフォーメーションの演算子, 123 ページ

¨ ディシジョンストラテジの設定 , 124 ページ

ディシジョントランスフォーメーションの概要

ディシジョントランスフォーメーションは、入力データの条件を評価し、それらの条件の

結果に基づいて出力を作成するパッシブなトランスフォーメーションです。

ディシジョントランスフォーメーションは、入力フィールドで見つかった値に基づいて異

なる値を生成するように設定できます。 例えば、顧客の収益が特定の金額を超えたら顧客

名に文字列"Priority"を追加するように構成できます。

ディシジョントランスフォーメーションには、複数のディシジョンストラテジを追加する

ことができます。 各ストラテジでIF-THEN-ELSE条件文を評価します。 この文の中で、ELSEIF

条件を使用したり、別のIF-THEN-ELSE文をネストしたりできます。

ディシジョントランスフォーメーションは式トランスフォーメーションに似ており、条件

文と関数を使用してソースデータをテストすることができます。 ただし、ディシジョント

ランスフォーメーションは、以下の点が式トランスフォーメーションと異なります。

¨ ディシジョントランスフォーメーションでは、条件の評価にIF-THEN-ELSE文を使用しま

す。 式トランスフォーメーションでは、IIF文を使用します。

¨ ディシジョントランスフォーメーションの関数の中には、式トランスフォーメーション

では使用できないものもあります。

¨ 各ディシジョンストラテジで複数の出力を生成できます。

120

Page 142: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ディシジョントランスフォーメーションの関数

ディシジョントランスフォーメーションでは、ディシジョンストラテジを定義するために

使用できる定義済みの関数にアクセスできます。

ディシジョントランスフォーメーションの式エディタには[ディシジョン]というフォル

ダがあります。 このフォルダに、ディシジョントランスフォーメーションに固有の関数が

格納されています。 エディタにはさらに、式トランスフォーメーションの関数にアクセス

するためのその他のフォルダもあります。

式エディタで関数をクリックすると、その関数による処理の説明に加え、関数の使用法と

データ型が表示されます。

注: 式トランスフォーメーションのすべての関数をディシジョントランスフォーメーショ

ンで使用できるわけではありません。 ディシジョントランスフォーメーションでは、互換

性がある式トランスフォーメーションの式にのみアクセスできます。

ディシジョントランスフォーメーションの関数の一覧

¨ ADD_TO_DATE

¨ ASCII

¨ CEIL

¨ CHOOSE

¨ CONCAT

¨ CONVERT_BASE

¨ COS

¨ COSH

¨ CRC32

¨ CUME

¨ DATE_DIFF

¨ EXP

¨ FLOOR

¨ FV

¨ GET_DATE_PART

¨ GREATEST

¨ IN

¨ INDEXOF

¨ INITCAP

¨ ISNULL

¨ LAST_DAY

¨ LEAST

¨ LN

ディシジョントランスフォーメーションの関数 121

Page 143: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ LOG

¨ LOWER

¨ LPAD

¨ MAKE_DATE_TIME

¨ MD5

¨ METAPHONE

¨ MOD[MOD]

¨ MOVINGAVG

¨ MOVINGSUM

¨ NPER

¨ PMT

¨ PV

¨ RAND

¨ RATE

¨ REG_EXTRACT

¨ REG_MATCH

¨ REG_REPLACE

¨ REPLACECHR

¨ REPLACESTR

¨ REVERSE

¨ ROUND

¨ RPAD

¨ SET_DATE_PART

¨ SIGN

¨ SIN

¨ SINH

¨ SOUNDEX

¨ SQRT

¨ TAN

¨ TANH

¨ TO_DATE

¨ TRUNC

¨ UPPER

122 章 10: ディシジョントランスフォーメーション

Page 144: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ディシジョントランスフォーメーションの条件文

ディシジョントランスフォーメーションでは、IF-THEN-ELSE条件文を使用して入力データ

を評価します。

それらの条件文の中で、ELSEIF条件を使用したり、別のIF-THEN-ELSE文をネストしたりで

きます。 ディシジョントランスフォーメーションの条件文の形式を次に示します。

// Primary conditionIF <Boolean expression>THEN <Rule Block>// Optional – Multiple ELSEIF conditionsELSEIF <Boolean expression>THEN <Rule Block>// Optional ELSE conditionELSE <Rule Block>ENDIF

追加の条件文は、ルールブロック内にネストできます。

ディシジョントランスフォーメーションの演算子

ディシジョントランスフォーメーションの演算子は、ディシジョンストラテジを定義する

ために使用します。

以下の表に、ディシジョントランスフォーメーションの演算子を示します。

演算子のタイプ 演算子 説明

Assignment := ポートに値を割り当てます。

論理 AND 必須の論理条件を追加します。 親の論理式がtrue

になるには、この演算子で連結されたすべての論理

条件がtrueになる必要があります。

論理 OR

論理条件を追加します。 親の論理式がtrueになる

には、この演算子で連結された論理条件が少なくと

も1つtrueになる必要があります。

論理 NOT 否定の論理条件を指定します。 親の論理式がtrue

になるには、この演算子で指定された否定の条件が

trueになる必要があります。

ディシジョン = 比較する項目が等しいかどうかを調べます。 文字

列データ型または数値データ型で使用します。

ディシジョン <> 比較する項目が等しくないかどうかを調べます。

文字列データ型または数値データ型で使用します。

ディシジョントランスフォーメーションの条件文 123

Page 145: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

演算子のタイプ 演算子 説明

ディシジョン < 値が別の値よりも小さいかどうかを調べます。 数

値データ型で使用します。

ディシジョン <= 値が別の値以下であるかどうかを調べます。 数値

データ型で使用します。

ディシジョン > 値が別の値よりも大きいかどうかを調べます。 数

値データ型で使用します。

ディシジョン >= 値が別の値以上であるかどうかを調べます。 数値

データ型で使用します。

数値 - 減算

数値 NEG 否定

数値 + 加算

数値 * 乗算

数値 / 除算

数値 % モジュロ。 数値を別の数値で割った余りを返しま

す。

文字列 || 文字列を連結します。

ディシジョンストラテジの設定ディシジョンストラテジを設定するには、ソースデータをディシジョントランスフォーメ

ーションに接続し、トランスフォーメーションのビューでプロパティを編集します。

1. ディシジョントランスフォーメーションを開きます。

2. トランスフォーメーションに入力ポートと出力ポートがあることを確認します。

3. [ディシジョン]ビューを選択します。

4. [追加]をクリックします。

5. ストラテジの名前を入力します。

6. [Expression]領域で、IF-THEN-ELSE条件文を入力します。

7. 式に関数を追加するには、[関数]タブで関数を参照し、関数名をダブルクリックし

ます。

ヒント: 関数を簡単に入力するには、関数名の 初の数文字を入力し、Ctrl-Spaceキー

を押します。

124 章 10: ディシジョントランスフォーメーション

Page 146: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

8. 式にポートを追加するには、[ポート]タブでポートを参照します。 ポート名をダブ

ルクリックして式に追加します。 必要に応じて、[出力ポートの編集]をクリックし

て、出力ポートの設定の編集や出力ポートの追加を行います。

9. 必要に応じて、"//"の後にコメントを入力してコメント行を追加します。

10. [検証]をクリックして、ディシジョン式が有効であるかどうかを確認します。

11. [OK]をクリックしてストラテジを保存します。

12. 必要に応じて、その他のストラテジを追加します。 ストラテジごとに一意の出力ポー

トを使用する必要があります。 ストラテジ間で出力ポートを共有することはできませ

ん。

ディシジョンストラテジの設定 125

Page 147: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 1 章

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

この章では、以下の項目について説明します。

¨ 例外トランスフォーメーションの概要, 126 ページ

¨ 例外管理プロセスフロー, 127 ページ

¨ 不良レコードの例外, 128 ページ

¨ 重複している可能性のあるレコードの例外, 133 ページ

¨ 例外トランスフォーメーションの設定, 139 ページ

例外トランスフォーメーションの概要例外トランスフォーメーションは、アナリストが確認および編集できるステージングテー

ブルに例外をロードするアクティブなトランスフォーメーションです。 例外とは、現在の

形式ではデータセットに属さないレコードです。 不良データが含まれいる場合や、他のレ

コードと重複している場合があります。

例外トランスフォーメーションが例外レコードをロードするステージングテーブルは、例

外テーブルと呼ばれます。 例外テーブルには、不良レコードの例外や重複レコードの例外

を含めることができます。

不良レコードの例外を生成する例外トランスフォーメーションでは、以下のアクションが

実行されます。

¨ 例外テーブルへの不良レコードの書き込み

¨ データオブジェクトへの正常レコードの書き込み

¨ データフローからの却下されたレコードの削除

重複レコードの例外を生成する例外トランスフォーメーションでは、以下のアクションが

実行されます。

¨ 例外テーブルへの重複レコードの例外の書き込み

¨ データオブジェクトへの自動統合レコードの書き込み

¨ データフローからの一意のレコードの削除

126

Page 148: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

例外テーブルには、データ品質情報とソースデータが含まれています。 アナリストは、

Informatica Analystを使用して、例外テーブルをモデルリポジトリに追加したり、レコー

ドデータを確認したり、レコードデータを編集したりすることができます。 Analystツー

ルで例外テーブルを開くと、レコードに適用されるデータ品質の問題に従ってレコードを

フィルタできます。

例えば、例外トランスフォーメーションを使用すると、重複している可能性のある顧客レ

コードの例外テーブルを作成し、統合トランスフォーメーションに完全一致を書き込むこ

とができます。 例外テーブルをAnalystツールにインポートすると、重複している可能性

のあるレコードを確認して手動で統合することができます。 統合トランスフォーメーショ

ンを使用して、完全に一致するレコードを統合できます。

例外管理プロセスフロー不良レコードまたは重複レコードの例外管理を実行するには、DeveloperツールとAnalyst

ツールを使用します。

Developerツールを使用して、以下のタスクを実行します。

例外マッピングの定義

例外を特定するマッピングを作成します。 例外を分析するデータソースを追加し、例

外トランスフォーメーションを追加します。

重複レコードの例外を生成するマッピングでは、スコア入力が必要です。 クラスタモ

ードで一致トランスフォーメーションを使用して、重複レコードの例外のスコアを作

成します。

不良レコードの例外を生成するマッピングでは、スコアは不要です。 不良レコードの

マッピングにスコアが存在しない場合、例外トランスフォーメーションは品質の問題

のあるすべてのレコードを例外テーブルに書き込みます。 ディシジョントランスフォ

ーメーションを使用すると、不良レコードのマッピングの数値スコアを作成できま

す。

例外テーブルの定義

例外レコードを格納するデータベースに接続するように、例外トランスフォーメーシ

ョンを設定します。

正常レコードまたは自動統合レコードのデータオブジェクトの追加

例外トランスフォーメーションの出力ポートをデータオブジェクトに接続するデータ

フローに接続します。 不良レコードの例外を生成する例外トランスフォーメーション

は、正常レコードをデータオブジェクトに書き込みます。 重複レコードの例外を生成

する例外トランスフォーメーションは、自動統合レコードをデータオブジェクトに書

き込みます。

例外マッピングの実行

例外を処理するマッピングを実行します。 Data Integration Serviceにより、例外

トランスフォーメーションで指定する名前を使用してステージングデータベースに例

外テーブルが作成されます。 例外トランスフォーメーションは、このテーブルに例外

レコードを書き込みます。

例外管理プロセスフロー 127

Page 149: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Analystツールを使用して、以下のタスクを実行します。

モデルリポジトリへの例外テーブルのインポート

例外テーブルをデータ品質テーブルとしてモデルリポジトリにインポートします。 テ

ーブルをインポートするときは、テーブルを作成した例外トランスフォーメーション

のタイプに基づいて、不良レコードテーブルまたは重複レコードテーブルの作成を選

択します。

例外の確認と編集

Analystツールで例外テーブルを確認します。 品質の問題と優先順位によって例外レ

コードをフィルタします。

不良レコードの例外例外トランスフォーメーションを使用して、不良レコードの例外を特定することができま

す。 不良レコードの例外は、手動処理が必要な、品質に問題のあるレコードです。

不良レコードの例外を特定する例外トランスフォーメーションを設定するときは、データ

品質のスコアを使用して不良レコードを決定することができます。 スコア入力を例外トラ

ンスフォーメーションに接続しなかった場合、トランスフォーメーションは品質の問題が

含まれるすべてのレコードを例外テーブルに書き込みます。

データ品質のスコアを使用して不良レコードを決定するときは、スコアの上限しきい値と

下限しきい値を設定します。 例外トランスフォーメーションは、しきい値を使用して以下

のタイプのレコードを特定します。

正常レコード

スコアが上限しきい値を超えるレコード。 正常レコードは有効で、確認は不要です。

デフォルトでは、例外トランスフォーメーションは正常レコードをトランスフォーメ

ーションの出力ポートに書き込みます。

不良レコード

スコアが下限しきい値と上限しきい値の間のレコード。 不良レコードは、Analystツ

ールで確認する必要のある例外です。 デフォルトでは、例外トランスフォーメーショ

ンは不良レコードを定義された例外テーブルに書き込みます。

却下されたレコード

スコアが下限しきい値を下回るレコード。 却下されたレコードは無効です。 デフォ

ルトでは、例外トランスフォーメーションは却下されたレコードをデータフローから

削除します。

不良レコードの例外の品質に関する問題

不良レコードの例外の品質の問題は、問題のあるレコードに添付されている品質の説明で

す。

ルールまたはディシジョントランスフォーメーションを使用して、データセットに対して

品質の問題カラムを1つ以上作成します。 品質の問題カラムが複数ある場合は、[問題の

128 章 11: 例外トランスフォーメーション

Page 150: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

割り当て]ビューを使用して品質の問題の優先順位を設定する必要があります。 問題の割

り当ての設定により、品質の問題が複数存在するときに例外トランスフォーメーションが

例外レコードに書き込む品質の問題が決まります。

不良レコードを処理する例外トランスフォーメーションにスコア入力を接続しなかった場

合、トランスフォーメーションは品質の問題フィールドが入力されたレコードを不良レコ

ードとして特定します。

不良レコードの例外トランスフォーメーションの入力

不良レコードを特定する例外トランスフォーメーションには、データ、品質の問題、およ

びコントロールの入力グループが含まれます。

以下の表に、入力グループを示します。

ポートグループ 説明

データ 例外を分析するソースデータのあるポ

ートが含まれます。

品質の問題 レコードの品質を説明するポートが含

まれます。 例えば、品質の問題ポー

トは「Too Many Characters」や

「Incorrect Data Format」などの文

字列を含むことができます。

コントロール 数値スコアを示すスコアポートが含ま

れます。 スコアポートの接続は、不

良レコードを特定する例外トランスフ

ォーメーションではオプションです。

例外トランスフォーメーションは、ス

コアを使用して入力行が例外であるか

どうかを判断できます。 スコアポー

トが接続されていない例外トランスフ

ォーメーションでは、品質の問題ポー

トにデータが含まれているときに入力

行が例外としてラベル付けされます。

不良レコードの例外トランスフォーメーションの出力

不良レコードを特定する例外トランスフォーメーションを作成した場合、正常データの出

力グループが1つ含まれます。 却下されたレコードの出力グループを追加することができ

ます。

トランスフォーメーションは正常レコードを出力ポートに書き込みます。 ただし、不良レ

コードと却下されたレコードを出力ポートに書き込むようにトランスフォーメーションを

設定することもできます。 [設定]ビューの[標準出力]の設定により、トランスフォー

メーションが出力ポートに書き込むレコードタイプが設定されます。

各出力グループには、データとレコードスコアのポートが含まれます。

不良レコードの例外 129

Page 151: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

不良レコードの例外の[設定]ビュー

[設定]ビューには、データベース接続、スコアのしきい値、およびデータルーティング

のプロパティが表示されます。

以下のプロパティを設定することができます。

テーブル名

例外テーブルの名前。

接続

ステージングデータベースへの接続。

テーブルの上書き

例外テーブルを削除し、再作成するようにトランスフォーメーションを設定します。

出力を例外テーブルに追加するには、このオプションの選択を取り消します。 デフォ

ルトでは有効になっています。

注: Webサービスで例外トランスフォーメーションを使用するときは、このオプション

が無効になっていることを確認してください。

下限しきい値

不良レコードのスコア範囲の下限です。 トランスフォーメーションは、スコアがこの

値を下回るレコードを却下されたレコードとして処理します。 デフォルトは40です。

上限しきい値

不良レコードのスコア範囲の上限です。 トランスフォーメーションは、スコアがこの

値を超えるレコードを正常レコードとして処理します。 デフォルトは90です。

標準出力

レコードカテゴリが含まれます。 レコードカテゴリを選択すると、トランスフォーメ

ーションはレコードを出力ポートに書き込みます。 用意されているレコードカテゴリ

は、[正常レコード]、[不良レコード]、および[却下されたレコード]です。 デ

フォルトは[正常レコード]です。

不良レコードテーブル

レコードカテゴリが含まれます。 レコードカテゴリを選択すると、トランスフォーメ

ーションはレコードをデータベース内の例外テーブルに書き込みます。 用意されてい

るレコードカテゴリは、[正常レコード]、[不良レコード]、および[却下された

レコード]です。 デフォルトは[不良レコード]です。

却下されたレコードのための独立した出力グループを作成

却下されたレコードを書き込む、独立した出力グループを作成します。 デフォルトで

は無効になっています。

不良レコードの例外の[問題の割り当て]ビュー

ポートと優先順位をデータ品質の問題に割り当てるには、[問題の割り当て]ビューを使

用します。

以下のプロパティを設定することができます。

130 章 11: 例外トランスフォーメーション

Page 152: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

品質の問題

品質の問題ポートが含まれます。

入力

品質の問題ポートに割り当てる入力ポートが含まれます。 例えば、電話番号の品質に

関連する品質の問題の場合は、電話番号の入力ポートを選択します。

問題の優先順位

複数の品質の問題を同じ入力ポートに割り当てるときに、 も重要である品質の問題

を決定する問題の優先順位。 1つの入力ポートに対して複数の品質の問題が存在する

場合、Data Integration Serviceは優先順位が も高い問題を適用します。 1つの入

力ポートに対して複数の品質の問題が存在し、問題の優先順位が同じ場合、Data

Integration Serviceはリストの一番上にある品質の問題を適用します。 1~99の優

先度を入力します。1は 高の優先順位を表します。

Analystツールでは、問題の優先順位を使用して品質の問題をフィルタすることができ

ます。

不良レコードの例外マッピング

不良レコードの例外を特定するマッピングを作成するときは、ステージングデータベース

に例外テーブルを作成するマッピングを設定します。 マッピングの実行後、このテーブル

をAnalystツールにインポートして確認します。

不良レコードの例外マッピングでは、以下のオブジェクトを使用できます。

データソース

分析するレコードが含まれるデータソースを追加します。

ルール

レコードの品質の問題データを書き込むルールを追加します。 不良レコードのスコア

のしきい値を指定しなかった場合、例外トランスフォーメーションは品質の問題デー

タのあるレコードを不良レコードカテゴリに割り当てます。

ディシジョントランスフォーメーション(オプション)

ディシジョントランスフォーメーションを追加する場合は、スコアフィールド、品質

の問題フィールド、および出力フィールドに対して出力ポートを生成するディシジョ

ンストラテジを作成します。

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

トランスフォーメーションがステージングテーブルとデータターゲットに書き込むレ

コードを決定するには、例外トランスフォーメーションを設定します。

データターゲット

デフォルトでは、例外トランスフォーメーションは品質が正常なレコードをすべてこ

のターゲットに書き込みます。

注: 不良レコードの例外マッピングの実行後、アナリストはAnalystツールを開き、不良

レコードの例外テーブルをデータ品質テーブルとしてインポートする必要があります。 そ

の後、アナリストは、Analystツールを使用してレコードを確認したり編集したりすること

ができます。 例外テーブルのインポートと不良レコードの確認の詳細については、

『Informatica Data Quality Analystユーザーガイド』を参照してください。

不良レコードの例外 131

Page 153: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

不良レコードの例外マッピングの例

あなたの会社で、無効な電話番号が含まれる顧客レコードを見直して更新することになり

ました。 不良な電話番号データがあるすべてのレコードを、データ品質アナリストが確認

する必要があります。 アナリストは、顧客に電子メールを送信し、例外テーブルのレコー

ドを更新して、正しい電話番号を決定します。

不良な電話番号データを特定するマッピングを作成し、それらのレコードを不良レコード

の例外テーブルに書き込みます。 マッピングを実行して不良レコードの例外テーブルを生

成した後、アナリストがそのテーブルをAnalystツールにインポートします。 その後、ア

ナリストは、Analystツールを使用して不良レコードの例外テーブルを確認および編集しま

す。

入力ファイル

入力ファイルは、顧客の電話番号や他の顧客データが含まれるフラットファイルです。

入力ファイルを定義し、データオブジェクトをマッピングに追加するには、物理データオ

ブジェクトを作成します。 物理データオブジェクトの場所は、データオブジェクトの[ラ

ンタイムプロパティ]ビューで定義します。

ディシジョントランスフォーメーション

マッピングにディシジョントランスフォーメーションを追加します。 電話番号フィールド

を調べ、スコア、品質の問題、レコードデータの出力ポートを生成するディシジョンスト

ラテジを作成します。

以下のストラテジにより、不正な長さの電話番号が特定されます。

IF LENGTH(Phone_Number) > 9 THEN Score:=50 Phone_Quality_Issue:='Phone Number Too Long'ELSEIF LENGTH(Phone_Number) < 9 THEN Score:=50 Phone_Quality_Issue:=' Phone Number Too Short’ELSE Score:=90ENDIF

例外トランスフォーメーションレコードは、ディシジョントランスフォーメーションによ

って生成されたスコアを読み取り、スコアが「50」のレコードを不良レコードカテゴリに

割り当てます。

不良レコードの例外のトランスフォーメーション

マッピングに不良レコードの例外トランスフォーメーションを追加し、ポートを設定しま

す。

例外トランスフォーメーションは、ディシジョントランスフォーメーションのスコア出力

ポートを使用して、レコードを分類するスコアを生成します。 例外トランスフォーメーシ

ョンは、ディシジョントランスフォーメーションの品質の問題ポートを使用して、不良レ

コードの例外テーブルに表示される品質の問題を入力します。 例外トランスフォーメーシ

ョンは、不良レコードを指定された例外テーブルに書き込みます。

例外トランスフォーメーションは、正常レコードをマッピングで指定された書き込みデー

タオブジェクトに書き込みます。

132 章 11: 例外トランスフォーメーション

Page 154: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

不良レコードの例外トランスフォーメーションビュー

例外トランスフォーメーションのビューを設定して、例外テーブルに書き込まれるレコー

ドを決定します。

[設定]ビューで、例外テーブルのテーブル名を入力し、テーブルを格納するデータベー

スを選択します。 手動確認のスコアのしきい値およびデータルーティングのオプションの

デフォルト値を使用します。

[問題の割り当て]ビューで、Phone_Quality_IssueをPhone_Number入力ポートに関連付

けます。

不良レコードの例外マッピングの出力

マッピングに書き込みデータオブジェクトを追加し、不良レコードの例外トランスフォー

メーションの出力ポートを書き込みデータオブジェクトに接続します。

マッピングを実行すると、例外トランスフォーメーションはスコアが「50」の電話番号レ

コードを選択されたデータベーステーブルに書き込みます。 トランスフォーメーションは

また、正常レコードをマッピングで指定された書き込みデータオブジェクトに書き込みま

す。

Analystツールでの不良レコードテーブルのインポートと確認

例外マッピングの実行後、アナリストはAnalystツールを開き、[DQAテーブルのインポー

ト]を選択して、不良レコードテーブルをモデルリポジトリに追加します。

アナリストは、不良レコードテーブルをモデルリポジトリに追加し、確認のためにテーブ

ルを開きます。 品質の問題や優先順位などのいくつかの値によってフィルタすることがで

きます。 特定の品質の問題を選択し、[表示]をクリックしてそのラベルのレコードを表

示できます。

重複している可能性のあるレコードの例外例外トランスフォーメーションを使用して、重複している可能性のあるレコードの例外の

あるクラスタを特定することができます。 重複している可能性のあるレコードの例外に

は、指定された手動確認のしきい値内の一致スコアがあります。

重複している可能性のあるレコードのあるクラスタを特定する例外トランスフォーメーシ

ョンを設定するときは、データ品質のスコアを使用して重複候補を決定することができま

す。 データ品質スコアの上限しきい値と下限しきい値を設定します。 トランスフォーメ

ーションは、しきい値を使用して以下のクラスタのタイプを特定します。

自動統合

すべてのレコードスコアが上限しきい値を超えるクラスタ。 自動統合クラスタには確

認は不要で、統合トランスフォーメーションを使用してこれらのクラスタを統合する

ことができます。 デフォルトでは、例外トランスフォーメーションは自動統合クラス

タをトランスフォーメーションの出力ポートに書き込みます。

重複している可能性のあるレコードの例外 133

Page 155: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

手動統合

すべてのレコードスコアが下限しきい値を超え、少なくとも1つのレコードスコアが上

限しきい値を下回るクラスタ。 手動統合クラスタは、Analystツールで確認する例外

です。 デフォルトでは、例外トランスフォーメーションは手動統合レコードを定義さ

れた例外テーブルに書き込みます。

一意のレコード

クラスタサイズが「1」であるクラスタ、または任意のレコードスコアが下限しきい値

を下回るクラスタ。 一意のレコードクラスタは重複していません。 デフォルトで

は、例外トランスフォーメーションは一意のレコードをデータフローから削除しま

す。

注: クラスタ内の 低レコードスコアにより、クラスタタイプが決まります。 例えば、11

個のレコードのスコアが0.95で、1つのレコードのスコアが0.79であるクラスタを考えてく

ださい。上限しきい値が0.9で下限しきい値が0.8である場合、例外トランスフォーメーシ

ョンはこのクラスタを一意のレコードクラスタとして特定します。

重複レコードの例外のクラスタ

クラスタには、重複分析やID解決などの一致操作によってグループ化された関連するレコ

ードが含まれています。 クラスタ内の 低レコード一致スコアが定義したスコアのしきい

値に収まっているとき、例外トランスフォーメーションはクラスタを重複レコードの例外

のクラスタとして特定します。

一致操作により、ClusterIdカラムがレコードに追加されます。 ClusterIDの値が同じレコ

ードは同じクラスタにあります。

重複レコードの例外トランスフォーメーションの入力

重複レコードを特定する例外トランスフォーメーションには、データおよびコントロール

の入力ポートが含まれます。

以下の表に、入力ポートを示します。

ポート 説明

データ 例外を分析するソースデータ。

スコア レコードをクラスタにリンクしたレコ

ードとの類似度を特定します。

RowID レコードの一意なID。

ClusterID レコードが属している一致クラスタの

ID。

134 章 11: 例外トランスフォーメーション

Page 156: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

重複レコードの例外トランスフォーメーションの出力

重複レコードを特定する例外トランスフォーメーションを作成すると、自動的に統合可能

なレコードの出力グループが含まれます。 一意のレコードの出力グループを追加すること

ができます。

トランスフォーメーションは完全な一致を出力ポートに書き込みます。 ただし、一致候補

と一意のレコードを出力ポートに書き込むようにトランスフォーメーションを設定するこ

ともできます。 [設定]ビューの[標準出力]の設定により、トランスフォーメーション

が出力ポートに書き込むレコードタイプが設定されます。

以下の表に、出力ポートを示します。

ポート 説明

ClusterID レコードが属している一致クラスタの

ID。

データ レコードデータ。

RowID レコードの一否ID。

スコア レコードの一致スコア。

重複レコードの例外トランスフォーメーションの[設定]ビュー

[設定]ビューには、データベース接続、スコアのしきい値、およびデータルーティング

のプロパティが表示されます。

以下のプロパティを設定することができます。

テーブル名

例外テーブルの名前。

接続

ステージングデータベースへの接続。

テーブルの上書き

例外テーブルを削除し、再作成するようにトランスフォーメーションを設定します。

出力を例外テーブルに追加するには、このオプションの選択を取り消します。 デフォ

ルトでは有効になっています。

注: Webサービスで例外トランスフォーメーションを使用するときは、このオプション

が無効になっていることを確認してください。

下限しきい値

重複している可能性のあるレコードのスコアの下限です。 クラスタスコア内の任意の

レコードがこの値を下回る場合、トランスフォーメーションはクラスタを一意のレコ

ードカテゴリに割り当てます。 デフォルトは0.8です。

重複している可能性のあるレコードの例外 135

Page 157: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

この値を一致トランスフォーメーションのしきい値よりも高い値に設定すると、例外

トランスフォーメーションはこの値を下回る一致スコアが含まれるクラスタを一意の

レコード出力に送信します。

上限しきい値

重複している可能性のあるレコードのスコアの上限です。 クラスタスコア内のすべて

のレコードが上限しきい値を超える場合、トランスフォーメーションはクラスタを自

動統合カテゴリに割り当てます。 デフォルトは0.9です。

標準出力

レコードカテゴリが含まれます。 レコードカテゴリを選択すると、トランスフォーメ

ーションはレコードを出力ポートに書き込みます。 用意されているレコードカテゴリ

は、「自動統合」、「手動統合」、および「一意のレコード」です。 デフォルトは

「自動統合」です。

重複レコードテーブル

レコードカテゴリが含まれます。 レコードカテゴリを選択すると、トランスフォーメ

ーションはレコードをデータベース内の例外テーブルに書き込みます。 用意されてい

るレコードカテゴリは、「自動統合」、「手動統合」、および「一意のレコード」で

す。 デフォルトは「手動統合」です。

一意のレコードを重複レコードテーブルに書き込むと、Analystツールには複数のレコ

ードが含まれるクラスタのみが表示されます。 レコードが1つだけのクラスタは統合

は不要なため、Analystツールには表示されません。

一意のレコードのための独立した出力グループを作成

一意のレコードを書き込む、独立した出力ポートグループを作成します。 デフォルト

では無効になっています。

重複レコードの例外マッピング

重複レコードの例外を特定するマッピングを作成するときは、ステージングデータベース

に例外テーブルを作成するマッピングを設定します。 マッピングの実行後、このテーブル

をAnalystツールにインポートして確認します。

重複レコードの例外マッピングでは、以下のオブジェクトが必要です。

データソース

分析するレコードが含まれるデータソースを追加します。

キージェネレータトランスフォーメーション

クラスタのキーを生成するには、キージェネレータトランスフォーメーションを追加

します。

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

クラスタを生成するには、一致トランスフォーメーションを追加します。

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

一致トランスフォーメーションの出力をClusterIDでソートするには、ソータートラン

スフォーメーションを追加します。

136 章 11: 例外トランスフォーメーション

Page 158: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

統合例外トランスフォーメーション

例外トランスフォーメーションの入力ポートを、一致トランスフォーメーションの対

応する出力ポートに接続します。 トランスフォーメーションがデータベーステーブル

と出力ポートに書き込むレコードを決定するには、例外トランスフォーメーションの

プロパティを設定します。

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

完全に一致するクラスタのマスタレコードを生成するには、統合トランスフォーメー

ションを追加します。

データターゲット

データターゲットを追加し、例外トランスフォーメーションの出力ポートに入力ポー

トを追加します。 デフォルトでは、例外トランスフォーメーションは完全な一致をす

べてこのターゲットに書き込みます。

注: 重複レコードの例外マッピングの実行後、アナリストはAnalystツールを開き、重複

レコードの例外テーブルをデータ品質テーブルとしてインポートする必要があります。 そ

の後、アナリストは、Analystツールを使用してレコードを確認したり編集したりすること

ができます。 例外テーブルのインポートと重複レコードの確認の詳細については、

『Informatica Data Quality Analystユーザーガイド』を参照してください。

重複レコードの例外マッピングの例

あなたの会社では、重複する顧客レコードを統合することになりました。 重複している可

能性のあるすべてのレコードを、データ品質アナリストが確認する必要があります。 アナ

リストは、顧客に電子メールを送信して例外テーブルのマスタレコードを更新することに

よって、正しいレコードの詳細を決定します。

重複レコードを特定するマッピングを作成し、それらのレコードを重複レコードの例外テ

ーブルに書き込みます。 マッピングを実行して重複レコードの例外テーブルを生成した

後、アナリストがそのテーブルをAnalystツールにインポートします。 その後、アナリス

トは、Analystツールを使用して重複レコードの例外テーブルを確認および編集します。

入力ファイル

入力ファイルは、顧客レコードが含まれるフラットファイルです。

入力ファイルを定義し、データオブジェクトをマッピングに追加するには、物理データオ

ブジェクトを作成します。 物理データオブジェクトの場所は、[ランタイムプロパティ]

ビューで定義します。

キージェネレータトランスフォーメーション

マッピングにキージェネレータトランスフォーメーションを追加します。

入力ファイルの出力ポートをキージェネレータの入力グループに接続します。 [ストラテ

ジ]ビューで、NYSISSストラテジを追加します。 ストラテジ入力フィールドで、顧客の姓

データが含まれるポートを選択します。

重複している可能性のあるレコードの例外 137

Page 159: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

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

マッピングに一致トランスフォーメーションを追加します。

キージェネレータトランスフォーメーションの出力ポートを一致トランスフォーメーショ

ンの入力グループに接続します。 [ストラテジ]ビューで、エディット距離ストラテジを

追加します。 [照合フィールド]カラムで選択行をクリックし、フルネームの入力に対応

するポートペアを選択します。 例えば、FullNameというカラム内の値に一致させるには、

FullName_1とFullName_2を選択します。

一致トランスフォーメーションでクラスタ一致出力タイプが使用されていることを確認し

ます。 出力タイプの一致ペアと 良の一致は、例外ワークフローではサポートされていま

せん。

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

マッピングにソータートランスフォーメーションを追加します。 一致トランスフォーメー

ションのClusterIDポートを、ソータートランスフォーメーションのキー入力ポートに接続

します。 ソータートランスフォーメーションの出力ポートを例外トランスフォーメーショ

ンに接続します。

マッピングを実行すると、ソータートランスフォーメーションは、同じクラスタ内のすべ

てのレコードが連続して示されるように、レコードを並べ変えます。 例外トランスフォー

メーションでは、一意のレコードを決定するために連続するレコードが必要です。 例外ト

ランスフォーメーションは、各レコードのClusterIDを次のレコードのClusterIDと比較し

ます。 その後、例外トランスフォーメーションは、ClusterIDが一意なレコードを一致の

レコードカテゴリに割り当てます。

重複レコードの例外トランスフォーメーション

マッピングに重複レコードの例外トランスフォーメーションを追加し、ポートを設定しま

す。

例外トランスフォーメーションは、ソータートランスフォーメーションのMatch_Score出力

ポートを使用して、レコードをカテゴリに割り当てます。 例外トランスフォーメーション

は、手動確認が必要なレコードを指定された例外テーブルに書き込みます。

例外トランスフォーメーションは、自動統合が可能なレコードをマッピングで指定された

書き込みデータオブジェクトに書き込みます。

重複レコードの例外トランスフォーメーションビュー

例外トランスフォーメーションのビューを設定して、例外テーブルに書き込まれるレコー

ドを決定します。

[設定]ビューで、例外テーブルのテーブル名を入力し、テーブルを格納するデータベー

スを選択します。 手動確認のスコアのしきい値およびデータルーティングのオプションの

デフォルト値を使用します。

138 章 11: 例外トランスフォーメーション

Page 160: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

重複レコードの例外マッピングの出力

マッピングに書き込みデータオブジェクトを追加し、統合例外トランスフォーメーション

の出力ポートを書き込みデータオブジェクトに接続します。

デフォルト設定が使用される例外トランスフォーメーションでマッピングを実行すると、

トランスフォーメーションは例外レコードを選択されたデータベーステーブルに書き込み

ます。 トランスフォーメーションはまた、完全な一致をマッピングで指定された書き込み

データオブジェクトに書き込みます。

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

マッピングに統合トランスフォーメーションを追加し、例外トランスフォーメーションの

出力ポートを統合トランスフォーメーションの入力グループに接続します。

[統合]ビューで、[単純]オプションが選択されていることを確認します。 [グループ

別]カラムで、グループキーポートが含まれている行を選択します。

統合トランスフォーメーションは、例外トランスフォーメーションのクラスタを処理し、

マスタレコードを生成します。

Analystツールでの重複レコードテーブルのインポートと確認

例外マッピングの実行後、アナリストはAnalystツールを開き、[DQAテーブルのインポー

ト]を選択して、重複レコードテーブルをモデルリポジトリに追加します。

アナリストは、重複レコードテーブルをモデルリポジトリに追加し、確認のためにテーブ

ルを開きます。 ラベルや優先順位などのいくつかの値によってフィルタすることができま

す。 例えば、特定のラベルを選択し、[表示]をクリックして、そのラベルのレコードを

表示できます。 例外テーブルのインポートと重複レコードの確認の詳細については、

『Informatica Data Quality Analystユーザーガイド』を参照してください。

例外トランスフォーメーションの設定例外レコードのデータベースの場所を選択したり、例外確認のしきい値を選択するには、

例外トランスフォーメーションを設定します。 このほか、トランスフォーメーションが各

出力に書き込むレコードタイプも設定できます。

1. [設定]ビューを選択します。

2. テーブル名を入力します。トランスフォーメーションでは、選択されたデータベース

にテーブルを追加するときに、この名前が使用されます。

3. [選択]をクリックし、利用可能な接続のリストからデータベースを選択します。 必

要なデータベースが表示されない場合は、[詳細]をクリックして接続を追加しま

す。

4. [OK]をクリックします。

5. 手動確認のしきい値を設定して、例外レコードのスコア範囲の上限と下限を決定しま

す。

例外トランスフォーメーションの設定 139

Page 161: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

6. [データルーティング]セクションで、標準出力と例外テーブルのプロパティを設定

して、トランスフォーメーションが各レコードタイプを書き込む場所を選択します。

7. 必要に応じて、非例外レコードの独立した出力ポートグループを作成するオプション

を選択します。

140 章 11: 例外トランスフォーメーション

Page 162: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 2 章

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

この章では、以下の項目について説明します。

¨ 式トランスフォーメーションの概要, 141 ページ

¨ 式トランスフォーメーションの開発, 141 ページ

¨ 式トランスフォーメーションの詳細プロパティ, 142 ページ

¨ 式トランスフォーメーションのポート, 143 ページ

式トランスフォーメーションの概要式トランスフォーメーションは、単一の行での非集計計算の実行に使用できる、パッシブ

トランスフォーメーションです。 また、式トランスフォーメーションを用いて条件文をテ

ストした後で、結果をターゲットやその他のトランスフォーメーションに渡すこともでき

ます。

例えば、従業員の給与を調整したり、名前と姓を連結したり、文字列を数値に変換したり

することが可能です。

出力ポートごとに式を作成しておくと、単一の式トランスフォーメーションで複数の式の

入力が可能になります。たとえば、国税や地方税、社会保障費や健康保険料といった、各

従業員からの数種の源泉税額を計算したい場合があります。これらの計算では従業員の給

与、源泉カテゴリ、場合によっては対応する税率が必要であるため、給与と源泉カテゴリ

に対してパススルーポートを作成できます。 また、計算ごとに個別の出力ポートを作成す

ることもできます。

式トランスフォーメーションの開発式トランスフォーメーションを開発するときは、作成するポートタイプや式タイプなどの

項目について考慮する必要があります。

141

Page 163: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

式トランスフォーメーションを開発するときは、以下の項目について考慮してください。

¨ ポートタイプ(入力、出力、パススルー、変数など)。 式トランスフォーメーション

で式を使用するには、入力ポートまたはパススルーポート、および出力ポートを含める

必要があります。

¨ トランスフォーメーションで使用する式。

式トランスフォーメーションの詳細プロパティ

Data Integration Serviceが式トランスフォーメーションのデータを処理する方法を決定

するプロパティを設定します。

[詳細]タブでは、以下のプロパティを設定します。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

142 章 12: 式トランスフォーメーション

Page 164: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

式トランスフォーメーションのポート式トランスフォーメーションにはさまざまなポートタイプがあり、ダウンストリームトラ

ンスフォーメーションにデータを渡したり、式を入力したりするなど、さまざまなトラン

スフォーメーションタスクを実行できます。

式トランスフォーメーションは、以下のポートタイプを備えています。

入力

アップストリームトランスフォーメーションからデータを受信します。 入力ポート

は、計算に使用される値を提供します。

出力

式の戻り値を格納します。 出力ポートの設定オプションとして式を入力します。 ま

た、ポートごとにデフォルト値を設定することもできます。

パススルー

変更せずにそのままデータを渡します。

変数

ローカル変数に使用されます。

式トランスフォーメーションのポート 143

Page 165: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 3 章

フィルタトランスフォーメーション

この章では、以下の項目について説明します。

¨ フィルタトランスフォーメーションの概要, 144 ページ

¨ フィルタトランスフォーメーションの詳細プロパティ, 145 ページ

¨ フィルタ条件, 145 ページ

¨ フィルタトランスフォーメーションのパフォーマンスのヒント, 146 ページ

フィルタトランスフォーメーションの概要フィルタトランスフォーメーションは、マッピング内の行をフィルタで除外するために使

用します。フィルタトランスフォーメーションはアクティブトランスフォーメーション

で、トランスフォーメーション通過する行の数を変更することができます。

フィルタトランスフォーメーションで行が通過を許可されるのは、指定されたフィルタ条

件を満たした場合であり、条件を満たさない行は削除されます。データは1つ以上の条件に

基づいてフィルタできます。

Data Integration Serviceで指定の条件を満たすかどうかを基準に評価された各行につい

て、フィルタ条件によりTRUEまたはFALSEが返されます。 TRUEを返した各行はトランスフ

ォーメーションを通過し、 FALSEを返した各行は除去されてメッセージがログに書き込ま

れます。

複数のトランスフォーメーションからのポートをフィルタトランスフォーメーションに連

結することはできません。フィルタの入力ポートは、1つのトランスフォーメーションから

のものでなければなりません。

144

Page 166: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

フィルタトランスフォーメーションの詳細プロパティ

Data Integration Serviceがフィルタトランスフォーメーションのデータを処理する方法

を決定するプロパティを設定します。

[詳細プロパティ]タブで、以下のプロパティを設定します。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

フィルタ条件フィルタ条件は、TRUEまたはFALSEを返す式です。

式エディタで条件を入力します。 フィルタ条件では大文字と小文字が区別されます。

フィルタとして1つの値を返すすべての式を使用できます。 例えば給料が$30,000未満の従

業員の行を除外する場合は、以下のように条件を入力します。

SALARY > 30000

フィルタトランスフォーメーションの詳細プロパティ 145

Page 167: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ANDおよびOR論理演算子を使用すると、複数の条件を指定することができます。例えば給料

が$30,000未満であるか、または$100,000を超える従業員を除外する場合は、以下のように

条件を入力します。

SALARY > 30000 AND SALARY < 100000

フィルタ条件に定数を入力することもできます。FALSEに該当する値はゼロ(0)です。ゼ

ロ以外の値はTRUEとみなされます。たとえば、数値データ型のNUMBER_OF_UNITSという名前

のポートが、トランスフォーメーションに含まれているとします。NUMBER_OF_UNITSの値が

0に等しければFALSEを返すようにフィルタ条件を設定します。値がゼロでなければ、TRUE

が返されます。

TRUEまたはFALSEを式の値として指定する必要はありません。TRUEおよびFALSEは、設定し

たすべての条件に対する暗黙の戻り値です。フィルタ条件がNULLとして評価されると、そ

の行はFALSEとして扱われます。

NULL値を含む行のフィルタ

NULL値または空白を含む行をフィルタするには、ISNULL関数とIS_SPACES関数を使用してポ

ートの値をテストします。

たとえばFIRST_NAMEポートでNULL値を含む行をフィルタで除外したい場合は、次の条件を

使用します。

IIF(ISNULL(FIRST_NAME),FALSE,TRUE)

この条件は、FIRST_NAMEポートがNULLであれば戻り値としてFALSEを返し、その行を無視す

ることを指定しています。NULLが含まれていなければ、行は次のトランスフォーメーショ

ンへ渡されます。

フィルタトランスフォーメーションのパフォーマンスのヒント

フィルタトランスフォーメーションのパフォーマンスを向上させるためのヒントを紹介し

ます。

マッピングの初期段階でフィルタトランスフォーメーションを使用します。

マッピング内のソースのできる限り近くにフィルタトランスフォーメーションを配置

します。 マッピングを介して削除する予定の行を通過させる代わりに、ソースからタ

ーゲットへのデータフローの初期段階で不必要なデータを除外することができます。

146 章 13: フィルタトランスフォーメーション

Page 168: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 4 章

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

この章では、以下の項目について説明します。

¨ Javaトランスフォーメーションの概要, 147 ページ

¨ Javaトランスフォーメーションの設計, 150 ページ

¨ Javaトランスフォーメーションのポート, 151 ページ

¨ Javaトランスフォーメーションの詳細プロパティ, 152 ページ

¨ Javaコードの開発, 155 ページ

¨ JavaトランスフォーメーションのJavaのプロパティ, 160 ページ

¨ Javaトランスフォーメーションの作成, 163 ページ

¨ Javaトランスフォーメーションのコンパイル, 164 ページ

¨ Javaトランスフォーメーションのトラブルシューティング, 165 ページ

Javaトランスフォーメーションの概要Javaトランスフォーメーションを使用すると、Developerツールの機能を拡張できます。

Javaトランスフォーメーションは、Javaプログラミング言語を使用してトランスフォーメ

ーション機能を定義するための、単純なネイティブのプログラミングインタフェースを提

供します。Javaトランスフォーメーションを使用すると、Javaプログラミング言語または

外部Java開発環境に関する高度な知識がなくても、単純またはやや高度なトランスフォー

メーション機能を定義することができます。 Javaトランスフォーメーションには、アクテ

ィブとパッシブの両方があります。

Developerツールは、Java Development Kit(JDK)を使用してJavaコードをコンパイル

し、トランスフォーメーションのバイトコードを生成します。 バイトコードはモデルリポ

ジトリに格納されます。

Data Integration ServiceはJava Runtime Environment(JRE)を使用して、生成された

バイトコードをランタイムで実行します。 Data Integration Serviceは、Javaトランス

フォーメーションを使用してマッピングを実行するとき、JREを使用してバイトコードを実

行し、入力行を処理して出力行を生成します。

147

Page 169: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Javaトランスフォーメーションを作成するには、トランスフォーメーションロジックを定

義するJavaコードスニペットを記述します。 以下のイベントに基づいて、Javaトランスフ

ォーメーションのトランスフォーメーション動作を定義します。

¨ トランスフォーメーションが入力行を受け取ったとき。

¨ トランスフォーメーションがすべての入力行を処理したとき。

再利用可能および再利用不可能なJavaトランスフォーメーション

再利用可能または再利用不可能なJavaトランスフォーメーションを作成できます。

再利用可能なトランスフォーメーションは、複数のマッピングで使用できます。

再利用不可能なトランスフォーメーションは、単一のマッピングで使用されます。

プロパティの定義やJavaコードの作成を行うエディタのビューは、再利用可能なJavaトラ

ンスフォーメーションを作成しているか再利用不可能なJavaトランスフォーメーションを

作成しているかによって異なります。

再利用可能なJavaトランスフォーメーションのエディタビュー

エディタ内のビューで、再利用可能なJavaトランスフォーメーションのプロパティを定義

したり、Javaコードを作成したりします。

再利用不可能なJavaトランスフォーメーションを作成するには、「「再利用可能なJavaト

ランスフォーメーションの作成」 (163ページの)」を参照してください。

再利用可能なJavaトランスフォーメーションでは、以下のビューを利用できます。

概要

トランスフォーメーションの名前と説明を入力し、入出力ポートを作成および設定し

ます。

Java

Javaコードの定義、コンパイル、およびコンパイルエラーの修正を行います。

[Java]ビューには次のタブがあります。

¨ コードエントリタブ。Javaコードスニペットを定義できます。

¨ [コード全体]タブ。Javaトランスフォーメーションの完全なJavaクラスコードが

表示されます。

詳細

Javaトランスフォーメーションの詳細プロパティを設定します。

再利用不可能なJavaトランスフォーメーション用のエディタの

ビュー

再利用不可能なJavaトランスフォーメーションのプロパティの定義やJavaコードの作成

は、エディタのビューで行います。

再利用不可能なJavaトランスフォーメーションを作成する方法については、「再利用不可

能なJavaトランスフォーメーションの作成」 (163ページの)を参照してください。

148 章 14: Javaトランスフォーメーション

Page 170: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

再利用不可能なJavaトランスフォーメーション用のビューを次に示します。

全般

トランスフォーメーションの名前および説明を入力します。

ポート

入力ポートと出力ポートを作成および設定します。

Java

Javaコードの定義、コンパイル、およびコンパイルエラーの修正を行います。

[Java]ビューには次のタブがあります。

¨ コードエントリタブ。Javaコードスニペットを定義できます。

¨ [コード全体]タブ。Javaトランスフォーメーションの完全なJavaクラスコードが

表示されます。

詳細

Javaトランスフォーメーションの詳細プロパティを設定します。

アクティブJavaトランスフォーメーションとパッシブJavaトランスフォーメーション

Javaトランスフォーメーションを作成するときは、そのタイプをアクティブまたはパッシ

ブとして定義します。

トランスフォーメーションタイプは、設定した後で変更することはできません。

Javaトランスフォーメーションは、入力データのそれぞれの行に対して1回、[入力時]タ

ブで定義されたJavaコードを実行します。

Javaトランスフォーメーションは、以下のように、トランスフォーメーションタイプに基

づいて出力行を処理します。

¨ パッシブJavaトランスフォーメーションは、トランスフォーメーションのそれぞれの入

力行を処理した後、各入力行に対して1つの出力行を生成します。

¨ アクティブJavaトランスフォーメーションは、トランスフォーメーションのそれぞれの

入力行に対して複数の出力行を生成します。

各出力行を生成するには、generateRowメソッドを使用します。 例えば、トランスフォ

ーメーションに開始日と終了日を表す2つの入力ポートが含まれている場合は、

generateRowメソッドを使用して、開始日と終了日の間の各日付に対して出力行を生成

することができます。

データ型変換

Javaトランスフォーメーションは、Javaトランスフォーメーションのポートタイプに基づ

いて、Developerツールのデータ型をJavaデータ型に変換します。

Javaトランスフォーメーションは、入力行を読み込むと、入力ポートデータ型をJavaデー

タ型に変換します。

Javaトランスフォーメーションは、出力行を読み込むと、Javaデータ型を出力ポートデー

タ型に変換します。

Javaトランスフォーメーションの概要 149

Page 171: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

例えば、Javaトランスフォーメーションの整数データ型の入力ポートに対しては、以下の

処理が行われます。

1. Javaトランスフォーメーションは、入力ポートの整数データ型をJavaプリミティブデ

ータ型intに変換します。

2. このトランスフォーメーションで、トランスフォーメーションは入力ポートの値を

Javaプリミティブデータ型intとして扱います。

3. トランスフォーメーションは、出力行を生成すると、Javaプリミティブデータ型intを

整数データ型に変換します。

以下の表に、JavaトランスフォーメーションがDeveloperツールのデータ型をJavaプリミテ

ィブデータ型および複合データ型にマッピングする方法を示します。

Developerツールの

データ型

Javaデータ型

bigint long

binary byte[]

date/time ナノ秒の処理を有効にした場合は、ナノ秒の精度の

BigDecimal

ナノ秒の処理を無効にした場合は、ミリ秒の精度のlong

(1970/01/01 00:00:00.000 GMT以降のミリ秒数)

decimal 高精度の処理を無効にした場合は、精度が15のdouble

高精度の処理を有効にした場合は、BigDecimal

double double

integer int

string String

text String

Java、String、byte[]、およびBigDecimalデータ型は複合データ型で、double、int、お

よびlongデータ型はプリミティブデータ型です。

注: Javaトランスフォーメーションは、プリミティブデータ型のNULL値をゼロに設定しま

す。[入力時]タブでは、isNull APIメソッドおよびsetNull APIメソッドを使用して、入

力ポートのNULL値を出力ポートのNULL値に設定できます。 例については、「setNull」

(176ページの)を参照してください。

Javaトランスフォーメーションの設計Javaトランスフォーメーションを設計するときは、作成するトランスフォーメーションの

タイプなどの要素について考慮する必要があります。

150 章 14: Javaトランスフォーメーション

Page 172: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Javaトランスフォーメーションの設計時には、以下の点について検討します。

¨ アクティブまたはパッシブ、どちらのJavaトランスフォーメーションを作成する必要が

あるか。

パッシブJavaランスフォーメーションは、トランスフォーメーション内のそれぞれの入

力行に対して1つの出力行を生成します。

アクティブJavaトランスフォーメーションは、トランスフォーメーションのそれぞれの

入力行に対して複数の出力行を生成します。

¨ Javaトランスフォーメーションに関数を定義する必要があるか。 定義する必要がある

場合、各関数にどの式を含めるか。

例えば、入力または出力ポートの値をルックアップする式、あるいはJavaトランスフォ

ーメーション変数の値をルックアップする式を呼び出す関数を定義できます。

¨ 再利用可能なJavaトランスフォーメーションと再利用不可能なJavaトランスフォーメー

ションのどちらを作成するか。

再利用可能なトランスフォーメーションは、複数のマッピングで使用できます。

再利用不可能なトランスフォーメーションは、単一のマッピングで使用できます。

JavaトランスフォーメーションのポートJavaトランスフォーメーションは、入力ポートと出力ポートを持つことができます。

再利用不可能なJavaトランスフォーメーションのポートの作成や編集を行うには、エディ

タの[ポート]ビューを使用します。 再利用可能なJavaトランスフォーメーションのポー

トの作成や編集を行うには、エディタの[概要]ビューを使用します。

ポートのデフォルト値を指定できます。トランスフォーメーションにポートを追加した

ら、ポート名をJavaコードスニペット内で変数として使用できます。

ポートの作成

作成したJavaトランスフォーメーションには、入力グループおよび出力グループが1つずつ

含まれています。

ポートを作成すると、Developerツールはそのポートを現在選択されている行またはグルー

プの下に追加します。

デフォルトポート値の設定

Javaトランスフォーメーションでは、ポートのデフォルト値を定義できます。

Javaトランスフォーメーションは、ポートのデータ型に基づいて、ポートのデフォルト値

を適用してポート変数を初期化します。

Javaトランスフォーメーションのポート 151

Page 173: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

入出力ポート

Javaトランスフォーメーションは、Javaコードスニペットに値が割り当てられていない未

接続のn入力または出力ポートの値を初期化します。

以下の表に、Javaトランスフォーメーションがポートのデータ型に基づきポートをどのよ

うに初期化するかを示します。

ポートのデ

ータ型

ポートの初期化

単純 ポートのデフォルト値をNULL以外の値に定義した場合、トラン

スフォーメーションはポート変数の値をそのデフォルト値に初

期化します。

それ以外の場合、ポート変数の値は0に初期化されます。

複合 ポートのデフォルト値を定義した場合、トランスフォーメーシ

ョンは新規のStringオブジェクトまたはbyte[]オブジェクトを

作成し、そのオブジェクトをデフォルト値に初期化します。 そ

れ以外の場合、トランスフォーメーションはポート変数をNULL

に初期化します。

注: Javaコードで値がNULLの入力ポート変数にアクセスする

と、NullPointerExceptionが発生します。

Javaトランスフォーメーションの詳細プロパティ

Javaトランスフォーメーションには、トランスフォーメーションコードとトランスフォー

メーション両方の詳細プロパティが含まれます。

マッピング内でトランスフォーメーションを使用する際には、トランスフォーメーション

のプロパティをオーバーライドできます。

[詳細]ビューで、Javaトランスフォーメーションの以下の詳細プロパティを定義できま

す。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

152 章 14: Javaトランスフォーメーション

Page 174: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

高精度10進演算を有効にする

精度が15より大きく28未満のDecimalデータ型ポートをJava BigDecimalデータ型ポー

トとして処理します。

精度が15より大きく28未満のDecimalデータ型ポートをJava Doubleデータ型ポートと

して処理するには、高精度処理を無効にします。

以下の表に、高精度オプションを有効にしたか無効にしたかに基づいてJavaトランス

フォーメーションがDecimalデータ型入力ポートの値を扱う方法を示します。

例 高精度処理有

高精度処理無効

Decimalタイプ入力ポートが

値40012030304957666903を受

け取ります。

Javaトランス

フォーメーシ

ョンは値をそ

のままにしま

す。

Javaトランスフォーメー

ションは値を以下の値に

変換します。4.00120303049577 x 10^19

日付/時刻にナノ秒を使用する

date/timeデータ型ポートを精度がナノ秒のJava BigDecimalデータ型ポートに変換し

ます。

ナノ秒処理を無効にすると、生成されるJavaコードはdate/timeデータ型ポートを精度

がミリ秒のJava Longデータ型ポートに変換します。

Javaトランスフォーメーションの詳細プロパティ 153

Page 175: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

クラスパス

[インポート]タブでインポートする非標準Javaパッケージに関連付けられたJARファ

イルまたはクラスファイルのディレクトリのクラスパスを設定します。

Javaコードのコンパイルには、JARファイルまたはクラスファイルのディレクトリが

Developerツールクライアントマシン上でアクセス可能でなければなりません。

オペレーティングシステムに応じてクラスパスの各項目を以下のように区切ります。

¨ UNIXの場合、クラスパスの各項目を区切るにはコロンを使用します。

¨ Windowsの場合、クラスパスの各項目を区切るにはセミコロンを使用します。

例えば、[インポート]タブでJavaコンバータパッケージをインポートし、そのパッ

ケージをconverter.jarで定義する場合は、JavaトランスフォーメーションのJavaコ

ードをコンパイルする前にconverter.jarファイルの場所をクラスパスに追加する必要

があります。

注: 組み込みのJavaパッケージの場合、クラスパスを設定する必要はありません。例

えば、java.ioは組み込みJavaパッケージであるため、java.ioに対してクラスパスを

設定する必要はありません。

アクティブ

トランスフォーメーションは、それぞれの入力行に対して複数の出力行を生成できま

す。

Javaトランスフォーメーションを作成した後は、このプロパティを変更できません。

このプロパティを変更する必要がある場合、新しいJavaトランスフォーメーションを

作成します。

Developerツールクライアントのクラスパスの設定

Developerツールクライアントのクラスパスにjarファイルまたはクラスファイルのディレ

クトリを追加できます。

Developerツールクライアントが動作しているマシン用にクラスパスを設定するには、次の

作業のいずれかを実行します。

¨ CLASSPATH環境変数を設定します。CLASSPATH環境変数はDeveloperツールクライアント

マシン上で設定します。 これは、マシン上で実行されているjavaプロセスすべてに適

用されます。

¨ 再利用不可能なJavaトランスフォーメーションの場合は、Javaトランスフォーメーショ

ンの詳細プロパティでクラスパスを設定します。 これは、このJavaトランスフォーメ

ーションを含むマッピングに適用されます。 Developerツールクライアントは、Javaコ

ードをコンパイルするときにクラスパス内のファイルをインクルードします。 このプ

ロパティは、再利用可能なJavaトランスフォーメーションに対しては設定できません。

jarファイルまたはクラスファイルのディレクトリをJavaトランスフォーメーションのクラ

スパスに追加するには、以下の手順を実行します。

1. [詳細]タブで、[クラスパス]の横にある[値]カラムの下矢印アイコンをクリッ

クします。

[クラスパスの編集]ダイアログボックスが表示されます。

154 章 14: Javaトランスフォーメーション

Page 176: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

2. クラスパスを追加するには、以下の手順を実行します。

a. [追加]をクリックします。

[名前を付けて保存]ウィンドウが表示されます。

b. [名前を付けて保存]ウィンドウで、jarファイルの保存先のディレクトリに移動

します。

c. [OK]をクリックします。

[クラスパスの編集]ダイアログボックスにクラスパスが表示されます。

3. jarファイルまたはクラスファイルのディレクトリを削除するには、jarファイルまた

はクラスファイルのディレクトリを選択して[削除]をクリックします。

ディレクトリの一覧からディレクトリが削除されます。

Data Integration Serviceのクラスパスの設定

実行時に必要なjarファイルまたはクラスファイルのディレクトリをData Integration

Serviceノードのクラスパスに追加することができます。

実行時に必要なjarファイルは、Data Integration Serviceノードの次のディレクトリに

格納します。

$INFA_HOME/services/shared/jars

この場所に格納されたjarファイルは動的にロードされます。 個々のマッピングの実行時

に必要なクラスファイルは、このディレクトリから検出されてロードされます。

注: Javaトランスフォーメーションでは、このディレクトリにあるjarファイルをマッピン

グレベルのクラスパスに追加します。

Javaコードの開発特定のトランスフォーメーションイベントに対するトランスフォーメーションの動作を定

義するJavaコードを記述してコンパイルするには、[Java]ビューのコードエントリタブ

を使用します。

コードエントリタブでは、任意の順序でコードスニペットを開発できます。 [コード全

体]タブでは、Javaコード全体の表示は可能ですが、編集はできません。

コードスニペットの開発後は、コードスニペットまたはJavaコード全体をコンパイルし

て、[Java]ビューの[結果]ウィンドウの[コンパイル]プロパティでコンパイルの結

果を表示することができます。

各コードエントリタブには、以下のコンポーネントの一部またはすべてが含まれ、これら

のコンポーネントにより、Javaコードの書き込み、表示、コンパイルができます。

Javaコードの開発 155

Page 177: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

コードプロパティ

JavaトランスフォーメーションAPIメソッドなどのJavaコードの表示や入力ができるコ

ントロールを提供します。 以下の表に、[コード]プロパティに用意されているコン

トロールを示します。

コントロー

説明

ナビゲータ 入力ポート、出力ポート、および呼び出し可能なJavaトラン

スフォーメーションAPIメソッドを表示します。

ナビゲータ内の項目の説明を表示するには、その項目をクリ

ックします。

[Javaコード]ウィンドウに項目を追加するには、その項目

をダブルクリックします。 また、ナビゲータから[Javaコ

ード]ウィンドウに項目をドラッグすることもできます。

ナビゲータは、以下のコードエントリタブに用意されていま

す。

- ヘルパ

- 入力時

- 後

[Javaコー

ド]ウィン

ドウ

トランスフォーメーションのJavaコードを表示または入力で

きます。 [Javaコード]ウィンドウには、基本的なJava構

文ハイライトを使用してJavaコードが表示されます。

注: [コード全体]タブでは、Javaトランスフォーメーシ

ョンのクラスコード全体の表示は可能ですが、編集はできま

せん。

[Javaコード]ウィンドウは、以下のタブに用意されていま

す。

- インポート

- ヘルパ

- 入力時

- 後

- 関数

- コード全体

[新しい関

数]コマン

[関数の定義]ダイアログボックスを開きます。このダイア

ログボックスを使用して、Java式を呼び出す関数を定義しま

す。

[関数]コマンドは、[関数]タブに用意されています。

編集ツール

バー

切り取り、コピー、貼り付けなど、Javaコードを編集するた

めのツールアイコンをクリックできます。

編集ツールバーは、以下のタブに用意されています。

- インポート

- ヘルパ

- 入力時

- 後

- 関数

156 章 14: Javaトランスフォーメーション

Page 178: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

コンパイルプロパティCompilation properties

Javaコードのコンパイルやデバッグができるコントロールを提供します。 以下の表

に、[コンパイル]プロパティに用意されているコントロールを示します。

コントロー

説明

[コンパイ

ル]コマン

トランスフォーメーション用のJavaコードをコンパイルし

ます。

[結果]ウ

ィンドウ

Javaトランスフォーメーションクラスのコンパイル結果が

表示され、コード内のエラーの発生源を見つけることがで

きます。

コード内のエラーを見つけるには、[結果]ウィンドウで

エラーメッセージを右クリックし、スニペットコードとコ

ード全体のどちらでエラーを表示するかを選択します。

[結果]ウィンドウでエラーメッセージをダブルクリック

してエラーの発生源を見つけることもできます。

Javaコードスニペットの作成

Javaコードスニペットを作成してトランスフォーメーションの動作を定義するには、コー

ドエントリタブの[Javaコード]ウィンドウを使用します。

1. 適切なコードエントリタブをクリックします。

以下の表に、[Java]ビューのコードエントリタブで完了できるタスクを示します。

タブ 説明

イン

ポー

アクティブまたはパッシブなJavaトランスフォーメーションに対し

て、サードパーティ製、組み込み、またはカスタムのJavaパッケー

ジをインポートします。 パッケージのインポート後、それらのパ

ッケージを他のコードエントリタブで使用できます。

ヘル

アクティブまたはパッシブなJavaトランスフォーメーション内の

Javaトランスフォーメーションクラスのユーザー定義変数およびメ

ソッドを宣言します。 変数およびメソッドを宣言すると、それらを

[インポート]タブを除く他のすべてのコードエントリタブで使用

できます。

入力

入力行を受け取った際のアクティブまたはパッシブなJavaトランス

フォーメーションの動作を定義します。 このタブで定義したJava

コードは、入力行ごとに1回実行されます。

このタブでは、入出力ポートのデータ、変数、およびJavaトランス

フォーメーションAPIメソッドにアクセスしして使用することもで

きます。

後 すべての入力データを処理した後のアクティブまたはパッシブな

Javaトランスフォーメーションの動作を定義します。

Javaコードの開発 157

Page 179: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

タブ 説明

このタブでは、アクティブなトランスフォーメーションの出力デー

タの設定や、JavaトランスフォーメーションAPIメソッドの呼び出

しも行うことができます。

関数 Javaトランスフォーメーションの式を呼び出す関数を、Javaプログ

ラミング言語を使用して定義します。 例えば、入出力ポートの値や

Javaトランスフォーメーションの変数の値をルックアップする式を

呼び出す関数を定義できます。

[関数]タブで、手動で関数を定義するか、または[新しい関数]

をクリックして関数を簡単に定義できる[関数の定義]ダイアログ

ボックスを呼び出します。

コー

ド全

読み取り専用。このタブでは、Javaトランスフォーメーションのク

ラスコード全体を表示し、コンパイルすることができます。

2. スニペット内の入力または出力カラムの変数にアクセスするには、ナビゲータに表示

された[入力]または[出力]リストを展開し、ポートの名前をダブルクリックしま

す。

3. スニペット内のJavaトランスフォーメーションAPIを呼び出すには、ナビゲータに表示

された[呼び出し可能なAPI]リストを展開し、メソッドの名前をダブルクリックしま

す。 必要に応じて、メソッドに適切な入力値を設定してください。

4. コードエントリタブのタイプに基づいて、適切なJavaコードを書き込みます。

[コード全体]タブの[Javaコード]ウィンドウで、Javaトランスフォーメーション

のクラスコード全体を表示します。

Javaパッケージのインポート

[インポート]タブでは、アクティブまたはパッシブなJavaトランスフォーメーションに

対してJavaパッケージをインポートできます。

サードパーティ製、組み込み、またはカスタムのJavaパッケージをインポートできます。

Javaパッケージのインポート後、インポートされたパッケージを他のコードエントリタブ

で使用できます。

注: [インポート]タブでは、静的変数、インスタンス変数、またはユーザーメソッドの

宣言または使用はできません。

Developerツールで、Javaトランスフォーメーションを含むメタデータをエクスポートまた

はインポートしても、Javaトランスフォーメーションが必要とするサードパーティ製また

はカスタムのパッケージが格納されているJARファイルやクラスファイルはエクスポートま

たはインポートされません。

Javaトランスフォーメーションを含むメタデータをインポートする場合は、必要なサード

パーティ製またはカスタムのパッケージが格納されたJARファイルまたはクラスファイル

を、DeveloperツールクライアントおよびData Integration Serviceノードにコピーする

必要があります。

158 章 14: Javaトランスフォーメーション

Page 180: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

例えばJava I/Oパッケージをインポートするには、[インポート]タブに以下のコードを

入力します。

import java.io.*;

標準以外のJavaパッケージをインポートするときは、Javaトランスフォーメーションので

クラスパスにパッケージまたはクラスを追加します。

Helperコードの定義

[ヘルパ]タブで、アクティブJavaトランスフォーメーションまたはパッシブJavaトラン

スフォーメーション内のJavaトランスフォーメーションクラスのユーザー定義変数および

メソッドを宣言できます。

[ヘルパ]タブで変数およびメソッドを宣言すると、[インポート]タブを除くすべての

コードエントリタブでその変数およびメソッドを使用できます。

[ヘルパ]タブでは、以下のタイプのコード、変数、およびメソッドを宣言できます。

¨ 静的コードおよび静的変数。

静的ブロック内では、静的変数および静的コードを宣言できます。 マッピング内の再

利用可能なJavaトランスフォーメーションのすべてのインスタンスが、静的コードおよ

び静的変数を共有します。 静的コードは、Javaトランスフォーメーション内の他のど

のコードよりも先に実行されます。

例えば、以下のコードは、マッピング内のJavaトランスフォーメーションのすべてのイ

ンスタンスに対するエラーしきい値を保存する静的変数を宣言します。

static int errorThreshold;

この変数を使用してトランスフォーメーションのエラーしきい値を保存すると、そのエ

ラーしきい値にマッピング内のJavaトランスフォーメーションの全インスタンスからア

クセスできます。

注: 再利用可能なJavaトランスフォーメーションでは、静的変数を同期する必要があ

ります。

¨ インスタンス変数。

マッピング内の再利用可能なJavaトランスフォーメーションの複数のインスタンスは、

インスタンス変数を共有しません。 重複を避けるためにプレフィックスを追加してイ

ンスタンス変数を宣言し、非プリミティブインスタンス変数を初期化します。

たとえば、以下のコードを使用すると、ブール変数を使用して出力行を生成するかどう

かを決定できます。

// boolean to decide whether to generate an output row // based on validity of inputprivate boolean generateRow;

¨ ユーザー定義の静的メソッドおよびインスタンスメソッド

Javaトランスフォーメーションの機能を拡張します。 [ヘルパ]タブで宣言された

Javaメソッドでは、出力変数またはローカルで宣言されたインスタンス変数を使用また

は変更できます。 [ヘルパ]タブのJavaメソッドからは、入力変数にアクセスできま

せん。

例えば、[ヘルパ]タブの以下のコードを使用して2つの整数を追加する関数を宣言し

ます。

private int myTXAdd (int num1,int num2){

Javaコードの開発 159

Page 181: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

return num1+num2;}

JavaトランスフォーメーションのJavaのプロパティ

特定のトランスフォーメーションイベントに対するトランスフォーメーションの動作を定

義するJavaコードを記述してコンパイルするには、[Java]ビューのコードエントリタブ

を使用します。

以下のコードエントリタブがあります。

¨ インポート

¨ ヘルパ

¨ 入力時

¨ 後

¨ 関数

Javaトランスフォーメーションのクラスコード全体は、[コード全体]タブに表示されま

す。

[インポート]タブ

[インポート]タブでは、アクティブまたはパッシブなJavaトランスフォーメーションの

Javaパッケージ(サードパーティ製、ビルトイン、またはカスタム)をインポートできま

す。

Javaパッケージをインポートするには、[インポート]タブの[コード]プロパティの

[Javaコード]ウィンドウで、パッケージをインポートするコードを入力します。

例えば、次のコードを入力するとjava.ioパッケージをインポートできます。

import java.io.*;

Javaパッケージをインポートするコードをコンパイルするには、[インポート]タブの

[コンパイル]プロパティにある[コンパイル]をクリックします。 コンパイルの結果

は、[インポート]タブの[結果]ウィンドウに表示されます。

インポートしたJavaパッケージは、他のコードエントリタブで使用することができます。

[ヘルパ]タブ

[ヘルパ]タブで、アクティブまたはパッシブなJavaトランスフォーメーション内のJava

トランスフォーメーションクラスのユーザー定義変数およびメソッドを宣言できます。

ユーザー定義変数およびメソッドを宣言するには、[Javaコード]ウィンドウの[ヘル

パ]タブの[コード]プロパティにコードを入力します。

160 章 14: Javaトランスフォーメーション

Page 182: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Javaトランスフォーメーションのヘルパコードをコンパイルするには、[ヘルパ]タブの

[コンパイル]プロパティの[コンパイル]をクリックします。 コンパイルの結果は[結

果]ウィンドウの[ヘルパ]タブに表示されます。

変数およびメソッドを宣言すると、それらを[インポート]タブを除く他のすべてのコー

ドエントリタブで使用できます。

[入力時]タブ

[入力時]タブでは、入力行を受け取る際のアクティブまたはパッシブJavaトランスフォ

ーメーションの動作を定義します。 このタブでは、入出力ポートのデータ、変数、および

JavaトランスフォーメーションAPIメソッドにアクセスしして使用することもできます。

このタブで定義したJavaコードは、入力行ごとに1回実行されます。

入力行を受け取る際のJavaトランスフォーメーションの動作を定義するには、[Javaコー

ド]ウィンドウの[入力時]タブの[コード]プロパティにコードを入力します。

[入力時]タブのナビゲータから、以下の変数とAPIメソッドにアクセスし、それらを定義

することができます。

¨ 入力および出力ポートの変数。 入力および出力ポートのデータに変数としてアクセス

するには、ポートの名前を変数の名前として使用します。 たとえば「in_int」が整数

の入力ポートである場合、Java基本データ型intで「in_int」変数として参照すること

で、このポートのデータにアクセスできます。入力ポートおよび出力ポートを変数とし

て宣言する必要はありません。

入力ポート変数に値は割り当てないでください。[入力時]タブの入力変数に値を割り

当てると、対応するポートの入力データを現在の行では取得できません。

¨ インスタンス変数とユーザー定義メソッド。[ヘルパ]タブで宣言した任意のインスタ

ンス変数、静的変数、またはユーザー定義メソッドを使用します。

たとえば、アクティブJavaトランスフォーメーションに、整数データ型の2つの入力ポ

ート(BASE_SALARYとBONUSES)、および整数データ型の1つの出力ポート

(TOTAL_COMP)があるとします。また、[ヘルパ]タブで、2つの整数を加算して結果

を返すユーザー定義メソッド(myTXAdd)を作成したとします。 この場合、[入力時]

タブで以下のJavaコードを使用し、入力ポートの合計値を出力ポートに割り当てて出力

行を生成します。

TOTAL_COMP = myTXAdd (BASE_SALARY,BONUSES);generateRow();

Javaトランスフォーメーションは、入力行を受け取ると2つの入力ポート(BASE_SALARY

およびBONUSES)の値を加算した値を出力ポート(TOTAL_COMP)に割り当て、出力行を

生成します。

¨ JavaトランスフォーメーションAPIメソッド。Javaトランスフォーメーションによって

提供されるAPIメソッドを呼び出すことができます。

Javaトランスフォーメーションのコードをコンパイルするには、[入力時]タブの[コン

パイル]プロパティの[コンパイル]をクリックします。 コンパイルの結果は[入力時]

タブの[結果]ウィンドウに表示されます。

JavaトランスフォーメーションのJavaのプロパティ 161

Page 183: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

[ 後]タブ

[ 後]タブでは、アクティブまたはパッシブなJavaトランスフォーメーションですべて

の入力データを処理した後のトランスフォーメーションの動作を定義します。 このタブで

は、アクティブなトランスフォーメーションの出力データの設定や、Javaトランスフォー

メーションAPIメソッドの呼び出しも行うことができます。

Javaトランスフォーメーションのすべての入力データを処理した後の動作を定義するに

は、[ 後]タブの[コード]プロパティの[Javaコード]ウィンドウでコードを入力し

ます。

[ 後]タブでは、以下の変数およびAPIメソッドにアクセスしてそれらを定義することが

できます。

¨ 出力ポート変数。[ポート]タブで変数として定義した出力ポートの名前を使用する

か、アクティブなJavaトランスフォーメーションの出力データを設定できます。

¨ インスタンス変数とユーザー定義メソッド。[ヘルパ]タブで宣言したインスタンス変

数またはユーザー定義メソッドを使用します。

¨ JavaトランスフォーメーションAPIメソッド。Javaトランスフォーメーションによって

提供されるAPIメソッドを呼び出します。

例えば、以下のJavaコードを使用して、データの終わりに達したときにログに情報を書

き込みます。

logInfo("Number of null rows for partition is: " + partCountNullRows);

Javaトランスフォーメーションのコードをコンパイルするには、[ 後]タブの[コンパ

イル]プロパティにある[コンパイル]をクリックします。 コンパイルの結果は、[

後]タブの[結果]ウィンドウに表示されます。

[関数]タブ

[関数]タブでは、Javaトランスフォーメーションの式を呼び出す関数をJavaプログラミ

ング言語を使用して定義します。

例えば、入出力ポートの値やJavaトランスフォーメーションの変数の値をルックアップす

る式を呼び出す関数を定義できます。

関数を定義するには、[関数]タブの[コード]プロパティの[Javaコード]ウィンドウ

で手動で定義します。また、[新しい関数]をクリックして[関数の定義]ダイアログボ

ックスを呼び出せば、簡単に関数を定義することができます。

コードをコンパイルするには、[関数]タブの[コンパイル]プロパティにある[コンパ

イル]をクリックします。 コンパイルの結果は、[関数]タブの[結果]ウィンドウに表

示されます。

[コード全体]タブ

[コード全体]タブでは、JavaトランスフォーメーションのJavaクラスコード全体を表示

してコードをコンパイルできます。ただし、コードを編集することはできません。

[コード]プロパティの[Javaコード]ウィンドウにクラスコード全体が表示されます。

162 章 14: Javaトランスフォーメーション

Page 184: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Javaトランスフォーメーションのコード全体をコンパイルするには、[コード全体]タブ

の[コンパイル]プロパティにある[コンパイル]をクリックします。 コンパイルの結果

は、[コード全体]タブの[結果]ウィンドウに表示されます。

Javaトランスフォーメーションの作成Developerツールでは、再利用可能または再利用不可能なJavaトランスフォーメーションを

作成できます。

再利用可能なJavaトランスフォーメーションの作成

再利用可能なトランスフォーメーションは、複数のマッピングで使用できます。

再利用可能なJavaトランスフォーメーションはDeveloperツールで作成します。

1. [Object Explorer]ビューで、プロジェクトまたはフォルダを選択します。

2. [ファイル] > [新規] > [トランスフォーメーション]をクリックします。

[新規]ダイアログボックスが表示されます。

3. Javaトランスフォーメーションを選択します。

4. [次へ]をクリックします。

5. トランスフォーメーションの名前を入力します。

6. アクティブなトランスフォーメーションを作成する場合は、[アクティブとして作

成]オプションを選択します。

7. [完了]をクリックします。

トランスフォーメーションがエディタに表示されます。

8. [ポート]ビューで、[新規]ボタンをクリックして、トランスフォーメーションに

ポートを追加します。

9. ポートを編集して、名前、データ型、および精度を設定します。

Javaコードスニペットでは、ポート名を変数として使用します。

10. [Java]ビューのコードエントリタブで、トランスフォーメーションのJavaコードを

記述してコンパイルします。

11. [Java]ビューの[関数]タブで、式を呼び出す関数を定義します。

12. 任意のコードエントリタブで、[コンパイル]プロパティの[結果]ウィンドウに表

示されたエラーメッセージをダブルクリックし、トランスフォーメーションのJavaコ

ードのコンパイルエラーを特定して修正します。

13. [詳細]ビューで、トランスフォーメーションのプロパティを編集します。

再利用不可能なJavaトランスフォーメーションの作成

再利用不可能なトランスフォーメーションは、単一のマッピングで使用されます。

Javaトランスフォーメーションの作成 163

Page 185: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Developerツールで再利用不可能なJavaトランスフォーメーションを作成します。

1. マッピングまたはマプレットで、トランスフォーメーションパレットからエディタに

Javaトランスフォーメーションをドラッグします。

2. [新しいJavaトランスフォーメーション]ダイアログボックスに、トランスフォーメ

ーションの名前を入力します。

3. アクティブなトランスフォーメーションを作成する場合は、[アクティブとして作

成]オプションを選択します。

4. [完了]をクリックします。

トランスフォーメーションがエディタに表示されます。

5. [全般]ビューで、トランスフォーメーションの名前と説明を編集します。

6. [ポート]ビューで、[新規]ボタンをクリックして、トランスフォーメーションに

ポートを追加します。

7. ポートを編集して、名前、データ型、および精度を設定します。

Javaコードスニペットでは、ポート名を変数として使用します。

8. [Java]ビューのコードエントリタブで、トランスフォーメーションのJavaコードを

記述してコンパイルします。

9. [Java]ビューの[関数]タブで、式を呼び出す関数を定義します。

10. 任意のコードエントリタブで、[コンパイル]プロパティの[結果]ウィンドウに表

示されたエラーメッセージをダブルクリックし、トランスフォーメーションのJavaコ

ードのコンパイルエラーを特定して修正します。

11. [詳細]ビューで、トランスフォーメーションのプロパティを編集します。

JavaトランスフォーメーションのコンパイルのDeveloperツールでは、Javaコンパイラを使用してJavaコードをコンパイルしてトランス

フォーメーション用のバイトコードを生成します。

Javaコンパイラは、Javaコードをコンパイルし、コンパイルの結果を[結果]ウィンドウ

のコードエントリタブの[コンパイル]プロパティに表示します。 Javaコンパイラは、の

Developerツールと一緒にjava/binディレクトリにインストールされます。

Javaトランスフォーメーションのコード全体をコンパイルするには、[コード全体]タブ

の[コンパイル]プロパティの[コンパイル] をクリックします。

作成したJavaトランスフォーメーションには、Javaトランスフォーメーションの基本的な

機能を定義するJavaクラスが含まれています。Javaクラスのコード全体には、トランスフ

ォーメーションのテンプレートクラスコードに加えて、コードエントリタブで定義した

Javaコードが格納されています。

Javaトランスフォーメーションをコンパイルすると、のDeveloperツールはコードエントリ

タブのコードをトランスフォーメーションのテンプレートクラスに追加し、トランスフォ

ーメーションのクラスコード全体を生成します。 その後、デベロッパツールはJavaコンパ

イラを呼び出してクラスコード全体をコンパイルします。 Javaコンパイラは、トランスフ

164 章 14: Javaトランスフォーメーション

Page 186: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ォーメーションをコンパイルし、トランスフォーメーションのバイトコードを生成しま

す。

コンパイルの結果は[結果]ウィンドウに表示されます。 コンパイルの結果を使用して、

Javaコードエラーを特定および検出します。

Javaトランスフォーメーションのトラブルシューティング

すべてのコードエントリタブの[コンパイル]プロパティの[結果]ウィンドウで、Java

コードエラーを確認および修正できます。

Javaトランスフォーメーションのエラーは、コードエントリタブのコード内のエラー、ま

たはJavaトランスフォーメーションクラスのコード全体内のエラーが原因で発生する可能

性があります。

Javaトランスフォーメーションをトラブルシューティングするには、以下の手順を実行し

ます。

1. Javaスニペットコードまたはトランスフォーメーションのクラスコード全体からエラ

ーのソースを検出します。

2. エラーのタイプを特定します。エラーのタイプを特定するには、[結果]ウィンドウ

に表示されるコンパイルの結果、およびエラーの場所を使用します。

3. コードエントリタブでJavaコードを修正します。

4. トランスフォーメーションを再度コンパイルします。

コンパイルエラーのソースの検出

コンパイルエラーのソースを探すには、コードエントリタブまたは[コード全体]タブの

[コンパイル]プロパティの[結果]ウィンドウに表示されるコンパイル結果を使用しま

す。

[結果]ウィンドウでエラーメッセージをダブルクリックすると、コードエントリタブま

たは[コード全体]タブの[Javaコード]ウィンドウで、エラーの原因となったソースコ

ードが強調表示されます。

[コード全体]タブでは、エラーを探すことはできますが、Javaコードを編集することは

できません。 [コード全体]タブで見つけたエラーを修正するには、適切なコードエント

リタブでコードを変更します。 トランスフォーメーションのクラスコード全体にユーザー

コードを追加したことが原因で発生したエラーを表示する場合などは、[コード全体]タ

ブを使用する必要があります。

コードエントリタブまたは[コード全体]タブでのエラーの確

コードエントリタブまたは[コード全体]タブでコンパイルエラーを探すことができま

す。

Javaトランスフォーメーションのトラブルシューティング 165

Page 187: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

1. 任意のコードエントリタブまたは[コード全体]タブの[コンパイル]プロパティの

[結果]ウィンドウで、エラーメッセージを右クリックします。

2. [表示] > [スニペット]または [表示] > [[コード全体]タブ]をクリック

します。

選択したタブでエラーのソースが強調表示されます。

注: [コード全体]タブでは、エラーを表示することはできますが、修正することは

できません。 エラーを修正するには、適切なコードエントリタブに移動する必要があ

ります。

コンパイルエラーの原因の特定

コンパイルエラーは、ユーザーコードのエラーが原因で発生する場合があります。

ユーザーコードのエラーは、クラスの非ユーザーコードでのエラーの原因になる可能性も

あります。 コンパイルエラーは、Javaトランスフォーメーションのユーザーコードおよび

非ユーザーコードで発生します。

ユーザーコードのエラー

エラーは、コードエントリタブのユーザーコードで発生する可能性があります。 ユーザー

コードのエラーには、標準Java構文および言語のエラーが含まれます。

ユーザーコードのエラーは、Developerツールがコードエントリタブのユーザーコードをク

ラスコード全体に追加した場合にも発生することがあります。

たとえば、Javaトランスフォーメーションには整数データ型のint1という名前の入力ポー

トがあるとします。クラスのコード全体は、以下のコードで入力ポートの変数を宣言しま

す。

int int1;

しかし、[入力時]タブで同じ変数名を使用すると、Javaコンパイラは変数の再宣言とし

てエラーを発行します。 エラーを修正するには、[入力時]タブで変数の名前を変更しま

す。

非ユーザーコードのエラー

コードエントリタブのユーザーコードは、非ユーザーコードでのエラーの原因になる場合

もあります。

たとえば、Javaトランスフォーメーションには整数データ型のint1およびout1という名前

の入力ポートと出力ポートがあるとします。ここで、以下のコードを[入力時]コードエ

ントリタブに書き込み、入力ポートint1のinterestを計算して出力ポートout1に割り当て

ます。

int interest;interest = CallInterest(int1); // calculate interestout1 = int1 + interest;}

トランスフォーメーションをコンパイルすると、Developerツールは[入力時]コードエン

トリタブのコードを、トランスフォーメーションのクラスコード全体に追加します。 Java

コンパイラがJavaコードをコンパイルする際に中括弧が一致していないと、クラスコード

全体のメソッドは不完全なまま終了し、Javaコンパイラによってエラーが発行されます。

166 章 14: Javaトランスフォーメーション

Page 188: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 5 章

JavaトランスフォーメーションAPIのリファレンス

この章では、以下の項目について説明します。

¨ JavaトランスフォーメーションAPIメソッドの概要, 167 ページ

¨ defineJExpression, 168 ページ

¨ failSession, 169 ページ

¨ generateRow, 170 ページ

¨ getInRowType, 170 ページ

¨ incrementErrorCount, 171 ページ

¨ invokeJExpression, 172 ページ

¨ isNull, 173 ページ

¨ logError, 173 ページ

¨ logInfo, 174 ページ

¨ resetNotification, 175 ページ

¨ setNull, 176 ページ

JavaトランスフォーメーションAPIメソッドの概要

エディタの[Java]ビューのコードエントリタブで、APIメソッドをJavaコードに追加して

トランスフォーメーションの動作を定義することができます。

APIメソッドをコードに追加するには、コードエントリタブのナビゲータで[呼び出し可能

なAPI]リストを展開し、コードに追加するメソッドの名前をダブルクリックします。

また、ナビゲータからJavaコードスニペットにメソッドをドラッグするか、Javaコードス

ニペットにAPIメソッドを手動で入力することもできます。

JavaトランスフォーメーションのJavaコードに追加できるAPIメソッドは次のとおりです。

167

Page 189: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

defineJExpression

Java式を定義します。

failSession

エラーメッセージ付きの例外をスローし、マッピングを失敗させます。

generateRow

アクティブなJavaトランスフォーメーションの出力行を生成します。

getInRowType

トランスフォーメーションの現在の行の入力タイプを返します。

incrementErrorCount

マッピングのエラーカウントを増やします。

invokeJExpression

defineJExpressionメソッドを使用して定義したJava式を呼び出します。

isNull

入力カラムのNULL値の有無を確認します。

logError

ログにエラーメッセージを書き込みます。

logInfo

ログに情報メッセージを書き込みます。

resetNotification

Data Integration Serviceマシンがリスタートモードで実行されている場合に、マッ

ピングの実行後にJavaコードで使用する変数をリセットします。

setNull

アクティブまたはパッシブJavaトランスフォーメーションの出力カラムの値をNULLに

設定します。

defineJExpression式(式の文字列および入力パラメータを含む)を定義します。 defineJExpressionメソッ

ドの引数には、式の構文を定義する入力パラメータと文字列値を含むJExprParamMetadata

オブジェクトの配列が含まれています。

以下の構文を使用します。

defineJExpression( String expression, Object[] paramMetadataArray );

168 章 15: JavaトランスフォーメーションAPIのリファレンス

Page 190: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

次の表に、これらのパラメータについて説明します。

パラメータ タイプ データ型 説明

式 入力 String 式を表す文字列。

paramMetadataAr

ray

入力 オブジェ

クト[]

式の入力パラメータを含む

JExprParaMetadataオブジェクト

の配列。

defineJExpressionメソッドは、[インポート]タブと[関数]タブを除く任意のコードエ

ントリタブでJavaコードに追加することができます。

defineJExpressionメソッドを使用するには、式の入力パラメータを表す

JExprParamMetadataオブジェクトの配列をインスタンス化する必要があります。 パラメー

タのメタデータ値を設定し、その配列をパラメータとしてdefineJExpressionメソッドに渡

します。

例えば、以下のJavaコードでは、2つの文字列の値をルックアップする式を作成します。

JExprParaMetadata params[] = new JExprParamMetadata[2];params[0] = new JExprParamMetadata(EDataType.STRING, 20, 0);params[1] = new JExprParamMetadata(EDataType.STRING, 20, 0);defineJExpression(":lkp.mylookup(x1,x2)",params);

注: 式に渡す一連のパラメータには、先頭に文字xを付けて番号を示す必要があります。

例えば、3つのパラメータを式に渡す場合は、各パラメータにx1、x2、およびx3という名前

を付けます。

failSessionエラーメッセージ付きの例外をスローし、マッピングを失敗させます。

以下の構文を使用します。

failSession(String errorMessage);

次の表に、パラメータを示します。

パラメータ パラメー

タのタイ

デー

タ型

説明

errorMessa

ge

Input Strin

g

エラーメッセージの文字列。

failSessionメソッドを使用して、マッピングを終了します。 コードエントリタブのtry/

catchブロック内では、failSessionメソッドを使用しないでください。

[インポート]および[関数]タブを除くコードエントリタブでは、Javaコードに

failSessionメソッドを追加できます。

failSession 169

Page 191: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下のJavaコードは、input1入力ポートにNULL値が存在するかどうかについてテストする

方法と、input1がNULLの場合はマッピングに失敗することを示しています。

if(isNull(”input1”)) { failSession(“Cannot process a null value for port input1.”);}

generateRowアクティブなJavaトランスフォーメーションの出力行を生成します。

以下の構文を使用します。

generateRow();

generateRowメソッドを呼び出すと、Javaトランスフォーメーションは出力ポート変数の現

在の値を使用して出力行を生成します。 1つの入力行に対応する複数の行を生成するに

は、各入力行に対してgenerateRowメソッドを複数回呼び出すことができます。 アクティ

ブなJavaトランスフォーメーションでgenerateRowメソッドを使用しない場合、トランスフ

ォーメーションは出力行を生成しません。

[インポート]および[関数]タブ以外のすべてのコードエントリタブで、Javaコードに

generateRowメソッドを追加できます。

generateRowメソッドを呼び出すことができるのは、アクティブトランスフォーメーション

のみです。 パッシブトランスフォーメーションでgenerateRowメソッドを呼び出すと、

Data Integration Serviceでエラーが発生します。

以下のJavaコードを使用すると、1つの出力行が生成され、出力ポートの値が変更され、別

の出力行が生成されます。

// Generate multiple rows.if(!isNull("input1") && !isNull("input2")){ output1 = input1 + input2; output2 = input1 - input2;}generateRow();// Generate another row with modified values.output1 = output1 * 2;output2 = output2 * 2;generateRow();

getInRowTypeトランスフォーメーションの現在の行の入力タイプを返します。このメソッドは、挿入、

更新、削除、またはリジェクトの値を返します。

以下の構文を使用します。

rowType getInRowType();

170 章 15: JavaトランスフォーメーションAPIのリファレンス

Page 192: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

次の表に、パラメータを示します。

パラメータ パラメー

タのタイ

デー

タ型

説明

rowType アウトプ

ット

Strin

g

アップデートストラテジのタイプを返しま

す。以下のいずれかの値となります。

- DELETE

- INSERT

- REJECT

- UPDATE

[入力時]コードエントリタブで、JavaコードにgetInRowTypeメソッドを追加できます。

getInRowTypeメソッドは、アップデートストラテジを設定するように設定されたアクティ

ブなトランスフォーメーションで使用できます。 アップデートストラテジを設定するよう

に設定されていないアクティブなトランスフォーメーションでこのメソッドを呼び出す

と、Data Integration Serviceでエラーが発生します。

incrementErrorCountエラーカウントを増やします。 エラー数がエラーしきい値に達すると、マッピングは失敗

します。

以下の構文を使用します。

incrementErrorCount(int nErrors);

次の表に、パラメータを示します。

パラメータ パラメー

タのタイ

データ

説明

nErrors 入力 Intege

r

エラーカウントの増分数。

incrementErrorCountメソッドは、[インポート]タブと[関数]タブを除く任意のコード

エントリタブでJavaコードに追加することができます。

以下のJavaコードでは、トランスフォーメーションの入力ポートがNULL値の場合にエラー

カウントが増加します。

// Check if input employee id and name is null.if (isNull ("EMP_ID_INP") || isNull ("EMP_NAME_INP")){ incrementErrorCount(1); // if input employee id and/or name is null, don't generate a output row for this input row generateRow = false;}

incrementErrorCount 171

Page 193: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

invokeJExpression式を呼び出し、式の値を返します。

以下の構文を使用します。

(datatype)invokeJExpression( String expression, Object[] paramMetadataArray);

invokeJExpressionメソッドの入力パラメータは、式および式の入力パラメータを含むオブ

ジェクトの配列を表す文字列値です。

次の表に、これらのパラメータについて説明します。

パラメータ パラメー

タのタイ

データ型 説明

式 入力 String 式を表す文字列。

paramMetadataAr

ray

入力 オブジェ

クト[]

式の入力パラメータを含むオブジ

ェクトの配列。

invokeJExpressionメソッドは、[インポート]タブと[関数]タブを除く任意のコードエ

ントリタブでJavaコードに追加することができます。

invokeJExpressionメソッドを使用する場合は、以下のルールおよびガイドラインに従いま

す。

¨ 戻りデータ型。invokeJExpressionメソッドの戻りデータ型はオブジェクトです。 関数

の戻り値は、適切なデータ型でキャストする必要があります。

Integer、Double、String、およびbyte[]のデータ型で値を返すことができます。

¨ 行タイプ。invokeJExpressionメソッドの戻り値の行タイプはINSERTです。

戻り値に異なる行タイプを使用するには、高度なインタフェースを使用します。

¨ NULL値。パラメータとしてNULL値を渡した場合、またはinvokeJExpressionメソッドの

戻り値がNULLの場合、この値はNULLインジケータとして処理されます。

例えば、式の戻り値がNULLで戻りデータ型がStringの場合、NULL値の文字列が返されま

す。

¨ Dateデータ型。Dateデータ型の入力パラメータは、Stringデータ型に変換する必要があ

ります。

式中の文字列をDateデータ型として使用するには、to_date()関数を使用して、文字列

をDateデータ型に変換します。

また、Dateデータ型をStringデータ型として返す式の戻り型をキャストする必要があり

ます。

以下の例は、文字列「John」と「Smith」を連結し、文字列「John Smith」を返します。

(String)invokeJExpression("concat(x1,x2)", new Object [] { "John ", "Smith" });

172 章 15: JavaトランスフォーメーションAPIのリファレンス

Page 194: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

注: 式に渡す一連のパラメータには、先頭に文字xを付けて番号を示す必要があります。

例えば、3つのパラメータを式に渡す場合は、各パラメータにx1、x2、およびx3という名前

を付けます。

isNull入力カラムの値を調べ、NULL値の有無を確認します。

以下の構文を使用します。

Boolean isNull(String satrColName);

次の表に、パラメータを示します。

パラメータ パラメー

タのタイ

データ

説明

strColName Input String 入力カラムの名前。

isNullメソッドは、[入力時]コードエントリタブでJavaコードに追加できます。

以下のJavaコードは、SALARY入力カラムの値がNULLであるかどうかを確認してから

totalSalariesインスタンス変数に追加する方法を示しています。

// if value of SALARY is not nullif (!isNull("SALARY")) { // add to totalSalaries TOTAL_SALARIES += SALARY;}

以下のJavaコードを使用しても同じ結果が得られます。

// if value of SALARY is not nullString strColName = "SALARY";if (!isNull(strColName)) { // add to totalSalaries TOTAL_SALARIES += SALARY;}

logErrorログにエラーメッセージを書き込みます。

以下の構文を使用します。

logError(String msg);

isNull 173

Page 195: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

次の表に、パラメータを示します。

パラメータ パラメー

タのタイ

データ型 説明

msg Input String エラーメッセージの文字列。

logErrorメソッドは、[インポート]タブと[関数]タブを除く任意のコードエントリタ

ブでJavaコードに追加することができます。

以下のJavaコードでは、入力ポートがNULLの場合にエラーがログに記録されます。

// check BASE_SALARYif (isNull("BASE_SALARY")) { logError("Cannot process a null salary field.");}

このコードを実行すると、以下のメッセージがログに出力されます。

[JTX_1013] [ERROR] Cannot process a null salary field.

logInfoログに情報メッセージを書き込みます。

以下の構文を使用します。

logInfo(String msg);

次の表に、パラメータを示します。

パラメータ パラメー

タのタイ

データ型 説明

msg Input String 情報メッセージの文字列。

[インポート]および[関数]タブを除くすべてのコードエントリタブで、Javaコードに

logInfoメソッドを追加できます。

以下のJavaコードは、Javaトランスフォーメーションがメッセージしきい値である1,000行

を処理した後に、ログにメッセージを書き込む方法を示しています。

if (numRowsProcessed == messageThreshold) { logInfo("Processed " + messageThreshold + " rows.");}

174 章 15: JavaトランスフォーメーションAPIのリファレンス

Page 196: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

resetNotificationData Integration Serviceマシンがリスタートモードで実行されている場合に、マッピン

グの実行後にJavaコードで使用する変数をリセットします。

リスタートモードでは、Data Integration Serviceの初期化は解除されませんが、Data

Integration Serviceが要求後にリセットされて次の要求を処理できるようになります。

Javaトランスフォーメーションの場合は、resetNotificationメソッドを使用すると、マッ

ピングの実行後にJavaコードの変数がリセットされます。

以下の構文を使用します。

public int resetNotification(IGroup group) { return EStatus.value;}

次の表に、これらのパラメータについて説明します。

パラメータ パラメータ

のタイプ

データ型 説明

int 出力 EStatus.value 戻り値。valueは次の値のい

ずれかになります。

- SUCCESS。 成功です。

- FAILURE。 失敗です。

- NOIMPL。 実装されていませ

ん。

group 入力 IGroup 入力グループ。

resetNotificationメソッドは、[ヘルパ]タブのコードエントリタブでJavaコードに追加

できます。

resetNotificationメソッドは[呼び出し可能なAPI]リストには表示されません。

例えば、Javaコードでout5_staticという名前の静的変数を宣言し、その変数を1に初期化

するとします。以下のJavaコードでは、次回のマッピングの実行後にout5_static変数が1

にリセットされます。

public int resetNotification(IGroup group) { out5_static=1; return EStatus.SUCCESS;}

このメソッドは必須ではありません。 ただし、Data Integration Serviceをリスタート

モードで実行している場合、resetNotificationメソッドが実装されていないJavaトランス

フォーメーションがマッピングに含まれていると、JSDK_42075警告メッセージがログに出

力されます。

resetNotification 175

Page 197: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

setNullアクティブまたはパッシブなJavaトランスフォーメーションの出力カラムの値をNULLに設

定します。

以下の構文を使用します。

setNull(String strColName);

次の表に、パラメータを示します。

パラメータ パラメータの

タイプ

データ型 説明

strColName Input String 出力カラムの名前。

setNullメソッドは、アクティブまたはパッシブなJavaトランスフォーメーションの出力カ

ラムの値をNULLに設定します。 出力カラムをNULLに設定したら、出力行を生成するまで値

は変更できません。

[インポート]および[関数]タブを除くすべてのコードエントリタブで、Javaコードに

setNullメソッドを追加できます。

以下のJavaコードは、入力カラムの値をチェックし、出力カラムの対応する値をNULLに設

定する方法を示しています。

// check value of Q3RESULTS input columnif(isNull("Q3RESULTS")) { // set the value of output column to null setNull("RESULTS");}

また、以下のJavaコードを使用して同じ結果を得ることもできます。

// check value of Q3RESULTS input columnString strColName = "Q3RESULTS";if(isNull(strColName)) { // set the value of output column to null setNull(strColName);}

176 章 15: JavaトランスフォーメーションAPIのリファレンス

Page 198: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 6 章

Java式

この章では、以下の項目について説明します。

¨ Java式の概要, 177 ページ

¨ [関数の定義]ダイアログボックスを使用した式の定義, 178 ページ

¨ 単純なインタフェースに関する作業, 181 ページ

¨ 高度なインタフェースに関する作業, 182 ページ

¨ JExpressionクラスAPIリファレンス, 187 ページ

Java式の概要Javaトランスフォーメーションの式を、Javaプログラミング言語を使用して呼び出すこと

ができます。

式を使用すると、Javaトランスフォーメーションの機能が拡張されます。たとえば、Java

トランスフォーメーションの式を呼び出して、入出力ポートの値、あるいはJavaトランス

フォーメーション変数の値をルックアップできます。

Javaトランスフォーメーションの式を呼び出すには、Javaコードを生成するか、または

JavaトランスフォーメーションAPIメソッドを使用します。 式を呼び出して、適切なコー

ドエントリタブでの式の結果を使用します。 式を呼び出すJavaコードを生成することも、

APIメソッドを使用して式を呼び出すJavaコードを記述することもできます。

以下の表に、Javaトランスフォーメーションの式の作成および呼び出しに使用できる方法

を示します。

メソッド 説明

[関数の定義]ダイア

ログボックス

式を呼び出す関数を作成し、式のコードを生成でき

ます。

単純なインタフェース 式を呼び出す1つのメソッドを呼び出し、その式の結

果を取得できます。

高度なインタフェース 式を定義し、式を呼び出して、その式の結果を使用

できます。

177

Page 199: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

メソッド 説明

オブジェクト指向プログラミングについての知識が

あり、式の呼び出しをさらに制御したい場合は、高

度なインタフェースを使用します。

式の関数タイプ

Javaトランスフォーメーションの式は、[関数の定義]ダイアログボックスを使用する

か、または単純/高度なインタフェースを使用して作成できます。

入出力ポート変数、あるいはJavaコード内の変数を入力パラメータとして使用する式を入

力できます。

[関数の定義]ダイアログボックスを使用する場合、Javaトランスフォーメーションで使

用する前に式を検証できます。

Javaトランスフォーメーションでは、以下のタイプの式の関数を呼び出すことができま

す。

式の関数タイプ 説明

トランスフォーメーショ

ン言語関数

一般的な式を扱うように設計された、SQLに似た関数

です。

ユーザー定義関数 トランスフォーメーション言語関数に基づいて

Developerツールで作成する関数です。

カスタム関数 カスタム関数APIを使用して作成する関数です。

また、未接続のトランスフォーメーションおよびビルトイン変数も式で使用できます。 例

えば、未接続のルックアップトランスフォーメーションを式で使用できます。

[関数の定義]ダイアログボックスを使用した式の定義

Java式を定義する場合、関数を設定し、式を作成し、式を呼び出すコードを生成します。

関数を定義して式を作成するには、[関数の定義]ダイアログボックスを使用します。

式関数を作成してJavaトランスフォーメーションで式を使用するには、以下の高度なタス

クを実行します。

1. 式を呼び出す関数を設定します。関数名、説明、およびパラメータの設定を含みま

す。関数パラメータは、式を作成する場合に使用します。

2. 式の構文を作成し、式を検証します。

178 章 16: Java式

Page 200: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

3. 式を呼び出すJavaコードを生成します。

生成されたコードが、[関数]コードエントリタブに表示されます。

Javaコードを生成したら、生成した関数を適切なコードエントリタブで呼び出し、単純な

インタフェースと高度なインタフェースのどちらを使用するかに基づいて、式を呼び出す

かJExpressionオブジェクトを取得します。

注: 式の作成時に式を検証する場合、[関数の定義]ダイアログボックスを使用する必要

があります。

手順1. 関数の設定

式を呼び出すJava関数の関数名、説明、および入力パラメータを設定します。

関数を設定する場合、以下のルールおよびガイドラインを使用します。

¨ トランスフォーメーション内に既に存在するJava関数、またはJavaの予約語と名前が重

複しない、ユニークな関数名を使用します。

¨ パラメータ名、Javaデータ型、精度、および位取りを設定する必要があります。入力パ

ラメータは、トランスフォーメーションでJavaコードの関数を呼び出す際に渡す値で

す。

¨ 式にDateデータ型を渡すには、入力パラメータのStringデータ型を使用します。

Dateデータ型を返す式の場合、単純なインタフェースでは戻り値をStringデータ型とし

て、高度なインタフェースではStringデータ型またはLongデータ型として使用できま

す。

手順2. 式の作成と検証

式を作成する場合、設定したパラメータを関数で使用します。

式では、トランスフォーメーション言語の関数、カスタム関数、または他のユーザー定義

関数も使用できます。式の作成および検証は、[関数の定義]ダイアログボックスで実行

できます。

手順3. 式のJavaコードの生成

関数と関数パラメータの定義、および式の定義と検証を完了したら、式を呼び出すJavaコ

ードを生成できます。

Developerは、生成されたJavaコードを[関数]コードエントリタブに格納します。 生成

したJavaコードを使用して、コードエントリタブの式を呼び出す関数を呼び出します。 単

純なJavaコード、または高度なJavaコードを生成できます。

式を呼び出すJavaコードを生成した後では、その式の編集および再検証を実行できませ

ん。コードを生成した後で式を変更する場合、式を再作成する必要があります。

[関数の定義]ダイアログボックスを使用した式の作成とJavaコードの生成

式を呼び出す関数を作成するには、[関数の定義]ダイアログボックスを使用します。

[関数の定義]ダイアログボックスを使用した式の定義 179

Page 201: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

式を呼び出す関数を作成するには、以下の手順を実行します。

1. Developerで、Javaトランスフォーメーションを開きます。または、新規のJavaトラ

ンスフォーメーションを作成します。

2. [Javaコード]タブで、[新しい関数]をクリックします。

[関数の定義]ダイアログボックスが表示されます。

3. 関数名を入力します。

4. 必要に応じて、式の説明を入力します。

大で2,000文字まで入力できます。

5. 関数の引数を作成します。

引数を作成する場合、引数の名前、データ型、精度、位取りを設定します。

6. [式]タブで、作成した引数を使用して式を作成します。

7. 式を検証するには、[検証]をクリックします。

8. 必要に応じて、[式]ボックスに式を入力します。 その後、[検証]をクリックして

式を検証します。

9. 高度なインタフェースを使用してJavaコードを生成するには、[詳細コードの生成]

オプションを選択します。 次に、[生成]をクリックします。

Developerで、[関数]コードエントリタブの式を呼び出す関数が生成されます。

Java式のテンプレート

式の単純または高度なJavaコードを使用すると、式のJavaコードを生成できます。

式のJavaコードは、式のテンプレートに基づいて生成されます。

以下の例は、単純なJavaコード用に生成されたJava式のテンプレートを示しています。

Object function_name (Java datatype x1[, Java datatype x2 ...] ) throws SDK Exception{return (Object)invokeJExpression( String expression, new Object [] { x1[, x2, ... ]} );}

以下の例は、高度なインタフェースを使用して生成されたJava式のテンプレートを示して

います。

JExpression function_name () throws SDKException{ JExprParamMetadata params[] = new JExprParamMetadata[number of parameters]; params[0] = new JExprParamMetadata ( EDataType.STRING, // data type 20, // precision 0 // scale );... params[number of parameters - 1] = new JExprParamMetadata ( EDataType.STRING, // data type 20, // precision 0 // scale );... return defineJExpression(String expression,params);}

180 章 16: Java式

Page 202: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

単純なインタフェースに関する作業単純なインタフェースで式を呼び出すには、invokeJExpression Java APIメソッドを使用

します。

invokeJExpression

式を呼び出し、式の値を返します。

以下の構文を使用します。

(datatype)invokeJExpression( String expression, Object[] paramMetadataArray);

invokeJExpressionメソッドの入力パラメータは、式および式の入力パラメータを含むオブ

ジェクトの配列を表す文字列値です。

次の表に、これらのパラメータについて説明します。

パラメータ パラメー

タのタイ

データ型 説明

式 入力 String 式を表す文字列。

paramMetadataAr

ray

入力 オブジェ

クト[]

式の入力パラメータを含むオブジ

ェクトの配列。

invokeJExpressionメソッドは、[インポート]タブと[関数]タブを除く任意のコードエ

ントリタブでJavaコードに追加することができます。

invokeJExpressionメソッドを使用する場合は、以下のルールおよびガイドラインに従いま

す。

¨ 戻りデータ型。invokeJExpressionメソッドの戻りデータ型はオブジェクトです。 関数

の戻り値は、適切なデータ型でキャストする必要があります。

Integer、Double、String、およびbyte[]のデータ型で値を返すことができます。

¨ 行タイプ。invokeJExpressionメソッドの戻り値の行タイプはINSERTです。

戻り値に異なる行タイプを使用するには、高度なインタフェースを使用します。

¨ NULL値。パラメータとしてNULL値を渡した場合、またはinvokeJExpressionメソッドの

戻り値がNULLの場合、この値はNULLインジケータとして処理されます。

例えば、式の戻り値がNULLで戻りデータ型がStringの場合、NULL値の文字列が返されま

す。

¨ Dateデータ型。Dateデータ型の入力パラメータは、Stringデータ型に変換する必要があ

ります。

式中の文字列をDateデータ型として使用するには、to_date()関数を使用して、文字列

をDateデータ型に変換します。

また、Dateデータ型をStringデータ型として返す式の戻り型をキャストする必要があり

ます。

単純なインタフェースに関する作業 181

Page 203: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

注: 式に渡す一連のパラメータには、先頭に文字xを付けて番号を示す必要があります。

例えば、3つのパラメータを式に渡す場合は、各パラメータにx1、x2、およびx3という名前

を付けます。

単純なインタフェースの例

[ヘルパ]および[入力時]コードエントリタブで、invokeJExpression APIメソッドを使

用する式を定義し、呼び出すことができます。

以下の例は、JavaトランスフォーメーションのNAMEおよびADDRESS入力ポートに対してルッ

クアップを完了する方法、およびCOMPANY_NAME出力ポートに戻り値を割り当てる方法を示

しています。

[入力時]コードエントリタブで、以下のコードを入力します。

COMPANY_NAME = (String)invokeJExpression(":lkp.my_lookup(X1,X2)", new Object [] {str1 ,str2} );generateRow();

高度なインタフェースに関する作業高度なインタフェースでは、オブジェクト指向のAPIメソッドを使用して、式の定義、呼び

出し、および結果の取得を行うことができます。

以下の表に、高度なインタフェースで使用可能なクラスおよびAPIメソッドを示します。

クラスまたはAPIメソッ

説明

EDataTypeクラス 式のデータ型を列挙します。

JExprParamMetadataク

ラス

式内の各パラメータのメタデータが含まれていま

す。パラメータのメタデータには、データ型、精

度、および位取りが含まれます。

defineJExpression API

メソッド

式を定義します。式の文字列およびパラメータが含

まれます。

invokeJExpression API

メソッド

式を呼び出します。

JExpressionクラス メタデータの作成、呼び出し、式の結果の取得、お

よび戻りデータ型のチェックを実行するメソッドが

含まれます。

高度なインタフェースを使用した式の呼び出し

高度なインタフェースを使用して、式の定義、呼び出し、および結果の取得を行うことが

できます。

182 章 16: Java式

Page 204: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

1. [ヘルパ]または[入力時]コードエントリタブで、式の各引数に対する

JExprParamMetadataクラスのインスタンスを作成し、メタデータの値を設定します。

必要に応じて、defineJExpressionメソッドでJExprParamMetadataオブジェクトをイ

ンスタンス化できます。

2. defineJExpressionメソッドを使用して、式のJExpressionオブジェクトを取得しま

す。

3. 適切なコードエントリタブで、invokeJExpressionメソッドを使用して式を呼び出し

ます。

4. isResultNullメソッドを使用して、戻り値の結果をチェックします。

5. getResultDataTypeメソッドまたはgetResultMetadataメソッドを使用して、戻り値の

データ型またはメタデータをそれぞれ取得できます。

6. 適切なAPIメソッドを使用して、式の結果を取得します。 getIntメソッド、getDouble

メソッド、getStringBufferメソッド、およびgetBytesメソッドを使用できます。

高度なインタフェースに関する作業のルールとガイドライン

高度なインタフェースを使用するときは、ルールとガイドラインに注意する必要がありま

す。

以下のルールおよびガイドラインを使用します。

¨ パラメータとしてNULL値を渡す場合、または式の結果がNULLの場合、その値はNULLイン

ジケータとして処理されます。例えば、式の結果がNULLで戻り値のデータ型がStringの

場合、NULL値の文字列が返されます。式の結果は、isResultNullメソッドを使用して確

認できます。

¨ Dateデータ型の入力パラメータをStringデータ型に変換すると、式で使用できるように

なります。式中の文字列をDateデータ型として使用するには、to_date()関数を使用し

て、文字列をDateデータ型に変換します。

Dateデータ型をStringデータ型またはLongデータ型として返す式の結果を取得できま

す。

Dateデータ型をStringデータ型として返す式の結果を取得するには、getStringBuffer

メソッドを使用します。 Dateデータ型をLongデータ型として返す式の結果を取得する

には、getLongメソッドを使用します。

EDataTypeクラス

式で使用されるJavaデータ型を列挙します。式の戻りデータ型を取得、または

JExprParamMetadataオブジェクトのパラメータのデータ型を割り当てます。 EDataTypeク

ラスをインスタンス化する必要はありません。

高度なインタフェースに関する作業 183

Page 205: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、式で値が列挙されるJavaデータ型を示します。

データ型 列挙された値

INT 1

DOUBLE 2

STRING 3

BYTE_ARRAY 4

DATE_AS_LONG 5

以下のJavaコード例は、EDataTypeクラスを使用して、Stringデータ型を

JExprParamMetadataオブジェクトに割り当てる方法を示しています。

JExprParamMetadata params[] = new JExprParamMetadata[2];params[0] = new JExprParamMetadata ( EDataType.STRING, // data type 20, // precision 0 // scale );...

JExprParamMetadataクラス

式のパラメータを表すオブジェクトをインスタンス化し、パラメータのメタデータを設定

します。

入力パラメータのメタデータを設定するには、JExprParamMetadataオブジェクトの配列を

defineJExpressionメソッドへの入力として使用します。 JExprParamMetadataオブジェク

トのインスタンスは、[関数]コードエントリタブまたはdefineJExpressionで作成できま

す。

以下の構文を使用します。

JExprParamMetadata paramMetadataArray[] = new JExprParamMetadata[numberOfParameters];paramMetadataArray[0] = new JExprParamMetadata(datatype, precision, scale);...paramMetadataArray[numberofParameters - 1] = new JExprParamMetadata(datatype, precision, scale);;

次の表に、引数を示します。

引数 引数の

タイプ

引数のデー

タ型

説明

データ型 入力 EDataType パラメータのデータ型。

精度 入力 Integer パラメータの精度。

スケール 入力 Integer パラメータの位取り。

184 章 16: Java式

Page 206: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

たとえば、以下のJavaコードを使用して、2つのJExprParamMetadata オブジェクトの配列

を、Stringデータ型、精度20、位取り20でインスタンス化します。

JExprParamMetadata params[] = new JExprParamMetadata[2];params[0] = new JExprParamMetadata(EDataType.STRING, 20, 0);params[1] = new JExprParamMetadata(EDataType.STRING, 20, 0);return defineJExpression(":LKP.LKP_addresslookup(X1,X2)",params);

defineJExpression

式(式の文字列および入力パラメータを含む)を定義します。 defineJExpressionメソッ

ドの引数には、式の構文を定義する入力パラメータと文字列値を含むJExprParamMetadata

オブジェクトの配列が含まれています。

以下の構文を使用します。

defineJExpression( String expression, Object[] paramMetadataArray );

次の表に、これらのパラメータについて説明します。

パラメータ タイプ データ型 説明

式 入力 String 式を表す文字列。

paramMetadataAr

ray

入力 オブジェ

クト[]

式の入力パラメータを含む

JExprParaMetadataオブジェクト

の配列。

defineJExpressionメソッドは、[インポート]タブと[関数]タブを除く任意のコードエ

ントリタブでJavaコードに追加することができます。

defineJExpressionメソッドを使用するには、式の入力パラメータを表す

JExprParamMetadataオブジェクトの配列をインスタンス化する必要があります。 パラメー

タのメタデータ値を設定し、その配列をパラメータとしてdefineJExpressionメソッドに渡

します。

例えば、以下のJavaコードでは、2つの文字列の値をルックアップする式を作成します。

JExprParaMetadata params[] = new JExprParamMetadata[2];params[0] = new JExprParamMetadata(EDataType.STRING, 20, 0);params[1] = new JExprParamMetadata(EDataType.STRING, 20, 0);defineJExpression(":lkp.mylookup(x1,x2)",params);

注: 式に渡す一連のパラメータには、先頭に文字xを付けて番号を示す必要があります。

例えば、3つのパラメータを式に渡す場合は、各パラメータにx1、x2、およびx3という名前

を付けます。

JExpressionクラス

式の作成および呼び出しを実行するメソッド、式の値を返すメソッド、および戻りデータ

型をチェックするメソッドが含まれています。

高度なインタフェースに関する作業 185

Page 207: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、JExpressionクラスのメソッドを示します。

メソッド名 説明

invoke 式を呼び出します。

getResultDataType 式の結果のデータ型を返します。

getResultMetadata 式の結果のメタデータを返します。

isResultNull 式の結果の結果値をチェックします。

getInt 式の結果の値をIntegerデータ型で返します。

getDouble 式の結果の値をDoubleデータ型で返します。

getStringBuffer 式の結果の値をStringデータ型で返します。

getBytes 式の結果の値をbyte[]データ型で返します。

高度なインタフェースの例

高度なインタフェースを使用して、Javaトランスフォーメーションのルックアップ式を作

成したり呼び出したりすることができます。

次の例は、式を呼び出す関数を作成する方法、および戻り値を取得するための式を呼び出

す方法を示しています。 この例では、Stringデータ型の2つの入力ポート(NAMEおよび

COMPANY)の値をmyLookup関数に渡します。myLookup関数は、ルックアップ式を使用して

ADDRESS出力ポートの値をルックアップします。

注: この例では、LKP_addresslookupという名前のマッピング内に未接続のルックアップ

トランスフォーメーションが存在すると想定しています。

[ヘルパ]タブで、以下のJavaコードを使用します。

JExprParamMetadata addressLookup() throws SDKException{ JExprParamMetadata params[] = new JExprParamMetadata[2]; params[0] = new JExprParamMetadata ( EDataType.STRING, // data type 50, // precision 0 // scale ); params[1] = new JExprParamMetadata ( EDataType.STRING, // data type 50, // precision 0 // scale ); return defineJExpression(":LKP.LKP_addresslookup(X1,X2)",params);}JExpression lookup = null;boolean isJExprObjCreated = false;

式を呼び出してADDRESSポートの値を返すには、[入力時]タブで以下のJavaコードを使用

します。

...if(!iisJExprObjCreated){

186 章 16: Java式

Page 208: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

lookup = addressLookup(); isJExprObjCreated = true;}lookup = addressLookup();lookup.invoke(new Object [] {NAME,COMPANY}, ERowType.INSERT);EDataType addressDataType = lookup.getResultDataType();if(addressDataType == EDataType.STRING){ ADDRESS = (lookup.getStringBuffer()).toString();} else { logError("Expression result datatype is incorrect.");}...

JExpressionクラスAPIリファレンスJExpressionクラスには、式の作成および呼び出しを行うAPIメソッド、式の値を返すAPIメ

ソッド、および戻りデータ型をチェックするAPIメソッドが含まれています。

JExpressionクラスには、以下のAPIメソッドが含まれています。

¨ getBytes

¨ getDouble

¨ getInt

¨ getLong

¨ getResultDataType

¨ getResultMetadata

¨ getStringBuffer

¨ 呼び出し

¨ isResultNull

getBytes

式の結果の値をbyte[]データ型で返します。AES_ENCRYPT関数でデータを暗号化する式の

結果を取得します。

以下の構文を使用します。

objectName.getBytes();

以下のJavaコードの例では、JExprEncryptDataがJExpressionオブジェクトである場合

に、AES_ENCRYPT関数を使用してバイナリデータを暗号化する式の結果を取得します。

byte[] newBytes = JExprEncryptData.getBytes();

getDouble

式の結果の値をDoubleデータ型で返します。

以下の構文を使用します。

objectName.getDouble();

JExpressionクラスAPIリファレンス 187

Page 209: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下のJavaコードの例では、JExprSalaryがJExpressionオブジェクトである場合に給与の

値をDoubleデータ型として返す式の結果を取得します。

double salary = JExprSalary.getDouble();

getInt

式の結果の値をIntegerデータ型で返します。

以下の構文を使用します。

objectName.getInt();

たとえば、以下のJavaコードを使用して、findEmpIDがJExpressionオブジェクトである場

合に社員のID番号を整数として返す式の結果を取得します。

int empID = findEmpID.getInt();

getLong

式の結果の値をLongデータ型として返します。Dateデータ型を使用する式の結果を取得し

ます。

以下の構文を使用します。

objectName.getLong();

以下のJavaコード例を使用して、JExprCurrentDateがJExpressionオブジェクトである場

合に日付の値をLongデータ型として返す式の結果を取得します。

long currDate = JExprCurrentDate.getLong();

getResultDataType

式の結果のデータ型を返します。EDataTypeの値を返します。

以下の構文を使用します。

objectName.getResultDataType();

以下のJavaコードの例では、式を呼び出し、結果のデータ型をdataType変数に割り当てま

す。

myObject.invoke(new Object[] { NAME,COMPANY }, ERowType INSERT);EDataType dataType = myObject.getResultDataType();

getResultMetadata

式の結果のメタデータを返します。getResultMetadataを使用して、式の結果の精度、位取

り、およびデータ型を取得し、 式の戻り値のメタデータをJExprParamMetadataオブジェク

トに割り当てることができます。 結果のメタデータを取得するには、getScale、

getPrecision、getDataTypeオブジェクトメソッドを使用します。

以下の構文を使用します。

objectName.getResultMetadata();

188 章 16: Java式

Page 210: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下のJavaコードの例では、myObjectの戻り値の位取り、精度、およびデータ型を変数に

割り当てます。

JExprParamMetadata myMetadata = myObject.getResultMetadata();int scale = myMetadata.getScale();int prec = myMetadata.getPrecision();int datatype = myMetadata.getDataType();

注: getDataTypeオブジェクトメソッドは、データ型の整数値をEDataTypeに列挙された

とおりに返します。

getStringBuffer

式の結果の値をStringデータ型で返します。

以下の構文を使用します。

objectName.getStringBuffer();

以下のJavaコード例を使用して、JExprConcatがJExpressionオブジェクトである場合に2

つの連結された文字列を返す式の結果を取得します。

String result = JExprConcat.getStringBuffer();

呼び出し

式を呼び出します。invokeの引数には、入力パラメータおよび行タイプを定義するオブジ

ェクトが含まれています。invokeメソッドを使用する前にJExpressionオブジェクトをイン

スタンス化する必要があります。 行タイプには、ERowType.INSERT、ERowType.DELETE、

およびERowType.UPDATEを使用します。

以下の構文を使用します。

objectName.invoke( new Object[] { param1[, ... paramN ]}, rowType );

引数 データ型 入力/

アウ

トプ

ット

説明

objectNam

e

JExpression Input JExpressionのオブジェクト名です。

parameter

s

なし Input 式の入力値が含まれるオブジェクトの

配列です。

例えば、[関数]コードエントリタブで、address_lookup()という名前の関数を作成した

とします。この関数は、式を表すJExpressionオブジェクトを返します。 NAMEおよび

COMPANYの入力ポートを使用する式を呼び出すには、以下のコードを使用します。

JExpression myObject = address_lookup();myObject.invoke(new Object[] { NAME,COMPANY }, ERowType INSERT);

JExpressionクラスAPIリファレンス 189

Page 211: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

isResultNull

式の結果の値をチェックします。

以下の構文を使用します。

objectName.isResultNull();

以下のJavaコード例を使用して式を呼び出し、戻り値がNULLではなかった場合に式の戻り

値をADDRESS変数に割り当てます。

JExpression myObject = address_lookup();myObject.invoke(new Object[] { NAME,COMPANY }, ERowType INSERT);if(!myObject.isResultNull()) { String address = myObject.getStringBuffer();}

190 章 16: Java式

Page 212: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 7 章

ジョイナトランスフォーメーション

この章では、以下の項目について説明します。

¨ ジョイナトランスフォーメーションの概要, 191 ページ

¨ ジョイナトランスフォーメーションの詳細プロパティ, 192 ページ

¨ ジョイナトランスフォーメーションポート, 193 ページ

¨ 結合条件の定義, 194 ページ

¨ 結合タイプ, 195 ページ

¨ ジョイナトランスフォーメーションでのソート済み入力, 197 ページ

¨ 同じソースのデータの結合, 200 ページ

¨ ソースパイプラインのブロック, 202 ページ

¨ ジョイナトランスフォーメーションのパフォーマンスのヒント, 203 ページ

¨ ジョイナトランスフォーメーションのルールとガイドライン, 204 ページ

ジョイナトランスフォーメーションの概要ジョイナトランスフォーメーションを使用すると、異なる場所またはファイルシステムに

ある2つの関連する異種ソースからのソースデータを結合できます。また、同じソースから

のデータを結合することもできます。ジョイナトランスフォーメーションはアクティブな

トランスフォーメーションです。

ジョイナトランスフォーメーションは、一致するカラムが少なくとも1つあるソースを結合

します。ジョイナトランスフォーメーションでは、2つのソース間の1つ以上のカラムのペ

アと一致する条件を使用します。

2つの入力パイプラインには、マスタパイプラインと明細パイプライン、またはマスタブラ

ンチと明細ブランチがあります。マスタパイプラインはジョイナトランスフォーメーショ

ンで終了しますが、明細パイプラインはターゲットまで継続します。

マッピング内の3つ以上のソースを結合するには、ジョイナトランスフォーメーションから

の出力を他のソースパイプラインと結合します。 すべてのソースパイプラインを結合する

まで、マッピングにジョイナトランスフォーメーションを追加します。

191

Page 213: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ジョイナトランスフォーメーションの詳細プロパティ

Data Integration Serviceがジョイナトランスフォーメーションのデータを処理する方法

を決定するプロパティを設定します。

[詳細プロパティ]タブで、以下のプロパティを設定します。

ジョイナのデータキャッシュサイズ

トランスフォーメーションのデータキャッシュサイズ。デフォルトは[自動]です。

ジョイナのインデックスキャッシュサイズ

トランスフォーメーションのインデックスキャッシュサイズ。デフォルトは[自動]

です。

キャッシュディレクトリ

Data Integration Serviceがインデックスキャッシュファイルとデータキャッシュフ

ァイルを作成するローカルディレクトリ。 デフォルトではピリオドが使用されます。

ディレクトリを上書きする場合は、そのディレクトリが存在していて、かつキャッシ

ュファイルを格納するための十分なディスク領域があることを確認します。マッピン

グされたドライブまたはマウントされたドライブを指定することができます。

大文字小文字を区別した文字列比較

選択した場合、Data Integration Serviceは文字列カラムで結合を実行する際に大文

字と小文字を区別して文字列を比較します。

Null Ordering in Master

この種類のトランスフォーメーションでは該当しません。

ソート済み入力

入力データがグループ単位で前もってソートされていることを示します。 ソートされ

たデータを結合するには、[ソート済み入力]を選択します。ソート済み入力を使用

するとパフォーマンスを向上させることができます。

Null Ordering in Detail

この種類のトランスフォーメーションでは該当しません。

マスタのソート順

マスタソースデータのソート順を指定します。マスタソースデータが昇順である場合

は、昇順を選択します。昇順を選択した場合には、ソート済み入力も有効にします。

デフォルトは[Auto]です。

スコープ

Data Integration Serviceが入力データにトランスフォーメーションロジックを適用

する方法を指定します。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

192 章 17: ジョイナトランスフォーメーション

Page 214: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

ジョイナトランスフォーメーションポートジョイナトランスフォーメーションにはさまざまなポートタイプがあり、ポートタイプに

よってData Integration Serviceが結合を実行する方法が決まります。

ジョイナトランスフォーメーションには、以下のポートタイプがあります。

マスタ

マッピング内のマスタソースにリンクするポート。

明細

マッピング内の明細ソースにリンクするポート。

ポートはマスタポートから明細ポートに変更できます。 明細ポートからマスタポートに変

更することもできます。 1つのポートのポートタイプを変更すると、すべてのポートのポ

ートタイプが変更されます。 したがって、マスタポートを明細ポートに変更すると、すべ

てのマスタポートが明細ポートに、すべての明細ポートがマスタポートに変更されます。

ジョイナトランスフォーメーションポート 193

Page 215: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

結合条件の定義結合条件は、Data Integration Serviceが2つの行を結合するために使用する両方の入力

ソースのポートを含みます。

選択した結合タイプに応じて、Data Integration Serviceは行を結果セットに追加する

か、または行を無視します。Joinerトランスフォーメーションは、ジョインタイプ、ジョ

イン条件、および入力データのソースに基づいて結果セットを生成します。

ジョイン条件を定義する前に、マスターソースおよび明細ソースが 適なパフォーマンス

に設定されていることを確認してください。Integration Serviceは、マッピングの実行中

にマスターソースの各行を明細ソースと比較します。未ソートジョイナトランスフォーメ

ーションのパフォーマンスを高めるには、行の比較的少ないソースをマスターソースとし

て使用します。ソート済みジョイナトランスフォーメーションのパフォーマンスを高める

には、重複キー値の少ないソースをマスターとして使用します。

ジョイン条件では、ジョイナトランスフォーメーションの入力ソースからの1つ以上のポー

トを使用します。ポートの数が増えると、2つのソースの結合に要する時間も長くなりま

す。条件内でのポートの順番によって、ジョイナトランスフォーメーションのパフォーマ

ンスに影響を与える場合があります。結合条件で複数のポートを使用する場合、Data

Integration Serviceは指定された順にポートを比較します。

Charデータ型とVarcharデータ型を結合する場合、Data Integration ServiceはChar値に

埋め込まれている空白の数を文字列の一部として数えます。

Char(40) = "abcd"Varchar(40) = "abcd"

このChar値には"abcd"と36個の空白が埋め込まれています。Charフィールドは後ろに空白

が含まれているため、Data Integration Serviceはこの2つのフィールドを結合しません。

注: ジョイナトランスフォーメーションは、NULL値の一致は検出しません。例えば、

EMP_ID1とEMP_ID2の両方にNULL値を持つ行が含まれている場合、Data Integration

Serviceはこれらを一致とは見なさないため、2つの行の結合は実行されません。 NULL値を

持つ行を結合するには、NULL入力をデフォルト値で置き換えてから、デフォルト値で結合

します。

単純条件タイプまたは詳細条件タイプを定義できます。

単純条件タイプ

ソート済みまたは未ソートのジョイナトランスフォーメーションの単純条件タイプを定義

します。

単純条件には、指定されたマスタと明細ソースを比較する1つ以上の条件が含まれます。単

純条件では以下の形式を使用する必要があります。

<master_port> operator <detail_port>

ソート済みジョイナトランスフォーメーションの条件では、等号演算子を使用する必要が

あります。

未ソートのジョイナトランスフォーメーションの条件では、=、!=、>、>=、<、<=のどれで

も使用できます。

194 章 17: ジョイナトランスフォーメーション

Page 216: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

例えば、テーブルを含む2つのソース、EMPLOYEE_AGEとEMPLOYEE_POSITIONがあり、どちら

にも従業員ID番号が含まれる場合、以下の条件は両方のソースに含まれる従業員の行に一

致します。

EMP_ID1 = EMP_ID2

Developerツールは、単純条件のデータタイプを検証します。条件の両方のポートは、同じ

データタイプを持つ必要があります。データタイプが一致しない2つのポートを条件で使用

しなければならない場合、データタイプが一致するように変換します。

詳細条件タイプ

未ソートジョイナトランスフォーメーションの詳細な条件タイプを定義します。

詳細条件には、ブール値または数値を評価するための式を含めることができます。演算子

=、!=、>、>=、<、<=を使用できます。

結合条件に式を入力するには、[結合]タブで詳細条件タイプを選択します。式エディタ

を使用して、式、ポート、および演算子を条件に含めます。

例えば、従業員のフルネームで一致させてソースを結合する場合、マスターソースに

FirstNameポートとLastNameポートを含めます。明細ソースにはFullNameポートを含めま

す。マスターポートを連結し、両方のソースのフルネームを一致させるには、次の条件を

定義します。

CONCAT(FirstName, LastName) = FullName

結合タイプジョイナトランスフォーメーションでは、さまざまなタイプのソースから結合を生成する

ことができます。

ジョイナトランスフォーメーションは、以下の結合タイプをサポートしています。

¨ ノーマル

¨ マスタ外部

¨ 明細外部

¨ 完全外部

注: ノーマルまたはマスタ外部結合は、完全外部や明細外部結合よりも高速に動作しま

す。

どちらのソースのデータも含まないフィールドが結果セットにある場合、ジョイナトラン

スフォーメーションは空のフィールドをNULL値で埋めます。あるフィールドがNULLを返す

ことが分かっていて、NULLをターゲットに挿入したくない場合は、対応するポートにデフ

ォルト値を設定できます。

ノーマル結合

ノーマル結合の場合、Data Integration Serviceは条件に基づいて、一致しないマスタソ

ースおよび明細ソースのデータの行をすべて破棄します。

結合タイプ 195

Page 217: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

例えば、PARTS_SIZEおよびPARTS_COLORという、自動車部品に関する2つのデータソースが

あるとします。

PARTS_SIZEデータソースはマスタソースで、次のデータが格納されています。

PART_ID1 DESCRIPTION SIZE1 Seat Cover Large2 Ash Tray Small3 Floor Mat Medium

PARTS_COLORデータソースは明細ソースで、次のデータが格納されています。

PART_ID2 DESCRIPTION COLOR1 Seat Cover Blue3 Floor Mat Black4 Fuzzy Dice Yellow

両方のPART_IDを照合して2つのテーブルを結合するには、次のように条件を設定します。

PART_ID1 = PART_ID2

これらのテーブルに対してノーマル結合を実行すると、結果セットには以下のデータが含

まれます。

PART_ID DESCRIPTION SIZE COLOR1 Seat Cover Large Blue3 Floor Mat Medium Black

次の例は、相当するSQL文を示しています。

SELECT * FROM PARTS_SIZE, PARTS_COLOR WHERE PARTS_SIZE.PART_ID1 = PARTS_COLOR.PART_ID2

マスタ外部結合

マスタ外部結合は、明細ソースのデータのすべての行およびマスタソースの一致する行を

すべて保持します。一致しないマスタソースの行は無視されます。

サンプルのテーブルに対して同じ条件でマスタ外部結合を実行すると、結果セットには以

下のデータが含まれます。

PART_ID DESCRIPTION SIZE COLOR1 Seat Cover Large Blue3 Floor Mat Medium Black4 Fuzzy Dice NULL Yellow

Fuzzy Diceにはサイズが指定されていないため、Data Integration Serviceはフィールド

にNULLを入力します。

以下の例は、相当するSQL文を示しています。

SELECT * FROM PARTS_SIZE RIGHT OUTER JOIN PARTS_COLOR ON (PARTS_COLOR.PART_ID2 = PARTS_SIZE.PART_ID1)

明細外部結合

明細外部結合は、マスタソースのデータのすべての行および明細ソースの一致する行をす

べて保持します。一致しない明細ソースの行は無視されます。

サンプルのテーブルに対して同じ条件で明細外部結合を実行すると、結果セットには以下

のデータが含まれます。

PART_ID DESCRIPTION SIZE COLOR1 Seat Cover Large Blue2 Ash Tray Small NULL

196 章 17: ジョイナトランスフォーメーション

Page 218: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

PART_ID DESCRIPTION SIZE COLOR3 Floor Mat Medium Black

Ash Trayで色が指定されていないため、Data Integration ServiceはフィールドにNULLを

入力します。

以下の例は、相当するSQL文を示しています。

SELECT * FROM PARTS_SIZE LEFT OUTER JOIN PARTS_COLOR ON (PARTS_SIZE.PART_ID1 = PARTS_COLOR.PART_ID2)

完全外部結合

完全外部結合では、マスタソースと明細ソースの両方のデータのすべての行が保持されま

す。

サンプルのテーブルに対して同じ条件で完全外部結合を実行すると、結果セットには以下

のデータが含まれます。

PARTED DESCRIPTION SIZE Color1 Seat Cover Large Blue2 Ash Tray Small NULL3 Floor Mat Medium Black4 Fuzzy Dice NULL Yellow

Ash Trayでは色が、Fuzzy Diceではサイズが指定されていないため、Data Integration

ServiceはフィールドにNULLを入力します。

以下の例は、相当するSQL文を示しています。

SELECT * FROM PARTS_SIZE FULL OUTER JOIN PARTS_COLOR ON (PARTS_SIZE.PART_ID1 = PARTS_COLOR.PART_ID2)

ジョイナトランスフォーメーションでのソート済み入力

[ソート済み入力]オプションを使用して、ジョイナトランスフォーメーションのパフォ

ーマンスを向上させることができます。 データがソートされているときは、ソート済み入

力を使用します。

ジョイナトランスフォーメーションでソート済みデータを使うように設定すると、Data

Integration Serviceはディスクの入出力を 小化してパフォーマンスを向上させます。

大量のデータセットを扱う場合に、パフォーマンスを 大限に向上させることができま

す。

ソート済みデータを使用するようにマッピングを設定するには、Data Integration

Serviceがジョイナトランスフォーメーションを処理する場合にソート済みデータを使用で

きるように、マッピング内でソート順を確立して維持します。 以下の手順を実行して、マ

ッピングの設定を行います。

1. 結合するデータのソート順を設定します。

2. ソート済みデータのソート順を維持するトランスフォーメーションを追加します。

3. ソート済みデータを使用するようにジョイナトランスフォーメーションを設定し、ソ

ートの基点ポートを使用するように結合条件を設定します。 ソートの基点は、ソート

済みデータのソースを表します。

ジョイナトランスフォーメーションでのソート済み入力 197

Page 219: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ソート順の設定

ソート順は、Data Integration Serviceからソート済みデータがジョイナトランスフォー

メーションに確実に渡されるように設定します。

ソート順を設定するには、以下のいずれかの方法を使用します。

¨ ソート済みフラットファイルを使用する。ソート済みデータがフラットファイルに入っ

ている場合は、ソートカラムの順序が各ソースファイル内で一致していることを確認し

ます。

¨ ソート済みリレーショナルデータを使用する。リレーショナルデータオブジェクト内の

ソート済みポートを使用して、ソースデータベースのカラムをソートします。 各リレ

ーショナルデータオブジェクト内のソート済みポートの順序は同一に設定してくださ

い。

¨ ソータートランスフォーメーションを使用して、リレーショナルデータまたはフラット

ファイルデータをソートします。ソータートランスフォーメーションをマスタおよび明

細パイプラインに配置します。各ソータートランスフォーメーションで、同じ順のソー

トキーポートおよび同じソート順方向を使用するよう設定します。

未ソートデータまたは正しくソートされていないデータを、ソート済みデータを使用する

ように設定されているジョイナトランスフォーメーションに渡すと、マッピングの実行が

失敗します。 Data Integration Serviceは、ログファイルにエラーを記録します。

マッピングへのトランスフォーメーションの追加

ジョイナトランスフォーメーションでソート済みデータのソート順を維持するトランスフ

ォーメーションをマッピングに追加します。

ジョイナトランスフォーメーションをソートの基点のすぐ後に置くことで、ソート済みデ

ータを維持できます。

ソートの基点とジョイナトランスフォーメーションの間にトランスフォーメーションを追

加する場合は、以下のガイドラインに従って、ソート済みデータを維持します。

¨ ソートの基点とジョイナトランスフォーメーションの間に、以下のトランスフォーメー

ションは配置しないでください。

-ランク

-共有体

-未ソートアグリゲータ

-前のトランスフォーメーションが1つ含まれるマプレット

¨ 以下のガイドラインに従うのであれば、ソートの基点とジョイナトランスフォーメーシ

ョンの間にソート済みアグリゲータトランスフォーメーションを配置することができま

す。

-アグリゲータトランスフォーメーションをソート済み入力に合わせて設定します。

-アグリゲータトランスフォーメーション内のカラムのグループのポートは、ソートの

基点でのポートと同じものを使用してください。

-ポートのグループは、ソートの基点でのポートと同じ順序である必要があります。

198 章 17: ジョイナトランスフォーメーション

Page 220: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ 別のパイプラインを持つジョイナトランスフォーメーションの結果セットを結合する場

合は、 初のジョイナトランスフォーメーションからの出力されるデータがソート済み

であることを確認してください。

結合条件のルールとガイドライン

ソート済みジョイナトランスフォーメーションの結合条件を作成する場合、特定のルール

とガイドラインが適用されます。

結合条件条件を作成するときには、以下のガイドラインに従ってください。

¨ 等号演算子を使用する単純な条件タイプを定義する必要があります。

¨ ソートの基点とジョイナトランスフォーメーションの間でソート済みアグリゲータトラ

ンスフォーメーションを使用する場合は、そのソート済みアグリゲータトランスフォー

メーションを、結合条件を定義するときのソートの基点として扱います。

¨ 結合条件で使用するポートは、ソートの基点でのポートと一致している必要がありま

す。

¨ 複数の結合条件を設定する場合、 初の結合条件内のポートは、ソートの基点での 初

のポートと一致している必要があります。

¨ 複数の条件を設定する場合、条件の順序は、ソートの基点でのポートの順序と一致して

いる必要があり、またどのポートもスキップしてはなりません。

¨ ソートの基点でのソート済みポートの数は、ジョイン条件でのポートの数以上にするこ

とができます。

¨ Decimalデータ型のポートを結合する場合、各ポートの精度は同じ精度範囲に収まって

いる必要があります。有効な精度範囲は以下のとおりです。

- Decimal 0~18

- Decimal 19~28

- Decimal 29以上

例えば、条件DecimalA = DecimalBを定義し、DecimalAが精度15でDecimalBが25の場合、こ

の条件は有効ではありません。

結合条件とソート順の例

この例では、ソート済みポートを含むマスタパイプラインと明細パイプラインを結合する

ジョイナトランスフォーメーションを示します。

以下のソート済みポートを含むマスタパイプラインと明細パイプラインでソータートラン

スフォーメーションを設定します。

¨ ITEM_NO

¨ ITEM_NAME

¨ PRICE

結合条件を設定するときには、以下のガイドラインを使ってソート順を維持します。

¨ 初の結合条件でITEM_NOを使用する必要があります。

¨ 2番目の結合条件を追加する場合は、ITEM_NAMEを使用する必要があります。

ジョイナトランスフォーメーションでのソート済み入力 199

Page 221: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ 結合条件でPRICEを使用したい場合、2番目の結合条件でもITEM_NAMEを使用する必要が

あります。

ITEM_NAMEをスキップしてITEM_NOとPRICEを結合すると、ソート順が失われ、Data

Integration Serviceはマッピングの実行に失敗します。

ジョイナトランスフォーメーションを使ってマスタパイプラインと明細パイプランを結合

する場合、次の結合条件のうちどれか1つを設定できます。

ITEM_NO = ITEM_NO

または

ITEM_NO = ITEM_NO1

ITEM_NAME = ITEM_NAME1

または

ITEM_NO = ITEM_NO1

ITEM_NAME = ITEM_NAME1

PRICE = PRICE1

同じソースのデータの結合データの一部に対して計算を実行し、トランスフォーメーションが実行されたデータと元

のデータを結合する場合、同じソースのデータを結合できます。

同じソースのデータを結合する場合は、1つのマッピング内で元のデータを維持しながら元

データの一部にトランスフォーメーションを行うことができます。 次の方法で同じソース

のデータを結合できます。

¨ 同じパイプラインの2つのブランチを結合します。

¨ 同じソースの2つのインスタンスを結合します。

同じパイプラインの2つのブランチの結合

同じソースのデータを結合するときには、パイプラインの2つのブランチを作成します。

パイプラインをブランチに分岐する場合は、パイプラインの少なくとも片方のブランチ

の、マッピング入力とジョイナトランスフォーメーションの間にトランスフォーメーショ

ンを追加する必要があります。 ソート済みデータを結合し、ジョイナトランスフォーメー

ションをソート済み入力用に設定する必要があります。

たとえば、以下のポートを含むソースがあるとします。

¨ Employee

¨ Department

¨ Total Sales

200 章 17: ジョイナトランスフォーメーション

Page 222: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ターゲットに、所属する部署の平均売上を超える売上を実現した従業員を表示するとしま

す。そのためには、以下のトランスフォーメーションを含むマッピングを作成します。

¨ ソータートランスフォーメーション。データをソートします。

¨ ソート済みアグリゲータトランスフォーメーション。 売上データの平均を算出し、部

署ごとにグループ化します。この集計を実行すると、個々の従業員のデータは失われま

す。従業員データを維持するには、パイプラインのブランチをアグリゲータトランスフ

ォーメーションに渡し、同じデータのブランチをジョイナトランスフォーメーションに

渡して元のデータを維持する必要があります。パイプラインの両方のブランチを結合す

ると、集計済みデータと元のデータを結合することになります。

¨ ソート済みジョイナトランスフォーメーション。 集計されたソート済みデータを元の

データと結合します。

¨ フィルタトランスフォーメーション。平均売上データと各従業員の売上データを比較

し、平均売上に達していない従業員をフィルタで除外します。

ジョイナトランスフォーメーションが一方のブランチのデータを受け取るのが、もう一方

のブランチより大きく遅れる場合、2つのブランチの結合によってパフォーマンスが低下す

ることがあります。 ジョイナトランスフォーメーションは、 初のブランチのすべてのデ

ータをキャッシュに格納し、キャッシュがいっぱいになるとキャッシュをディスクに書き

込みます。 次にジョイナトランスフォーメーションが2番目のブランチからデータを受け

取るときに、ディスクからデータを読み込む必要があります。

同じソースの2つのインスタンスの結合

ソースの2つ目のインスタンスを作成することによって、同じソースのデータを結合できま

す。

2つ目のソースインスタンスを作成すると、2つのソースインスタンスからのパイプライン

を結合できます。未ソートデータを結合する場合は、同じソースのインスタンスを2つ作成

して、パイプラインを結合する必要があります。

同じソースの2つのインスタンスを結合すると、Data Integration Serviceは各ソースイ

ンスタンスのソースデータを読み込みます。 パフォーマンスはパイプラインの2つのブラ

ンチを結合する場合よりも低下します。

同じソースのデータ結合のガイドライン

パイプラインのブランチを結合するか、ソースの2つのインスタンスを結合するかの判断に

は、特定のガイドラインが適用されます。

パイプラインのブランチを結合するか、ソースの2つのインスタンスを結合するかを判断す

るときは、以下のガイドラインに従ってください。

¨ ソースが大きい場合、あるいはソースデータを1回しか読み込まない場合は、パイプラ

インの2つのブランチを結合します。

¨ ソート済みデータを使う場合は、パイプラインの2つのブランチを結合します。ソース

データが未ソートデータで、ソータートランスフォーメーションを使ってデータをソー

トする場合には、データのソート後にパイプラインをブランチに分岐します。

¨ ソースとジョイナトランスフォーメーションの間のパイプラインにブロッキングトラン

スフォーメーションを追加する必要がある場合は、ソースの2つのインスタンスを結合

します。

同じソースのデータの結合 201

Page 223: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ 一方のパイプラインの処理がもう一方のパイプラインよりも遅い場合は、ソースの2つ

のインスタンスを結合します。

¨ 未ソートのデータを結合する必要がある場合、ソースの2つのインスタンスを結合しま

す。

ソースパイプラインのブロックジョイナトランスフォーメーションを含むマッピングを実行すると、Data Integration

Serviceはマッピングの設定とジョイナトランスフォーメーションがソート済み入力用に設

定されているかどうかによって、ソースデータのブロックとブロック解除を行います。

未ソートジョイナトランスフォーメーション

Data Integration Serviceは未ソートジョイナトランスフォーメーションを処理すると

き、明細行を読み込む前にマスタ行をすべて読み込みます。 Data Integration Service

は、マスタソースの行をキャッシュに格納する間、明細ソースをブロックします。

Data Integration Serviceがマスタ行をすべて読み込んでキャッシュに格納した後、明細

ソースのブロックを解除して明細行を読み込みます。 未ソートジョイナトランスフォーメ

ーションを含むマッピングは、データフロー検証に違反する場合があります。

ソート済みジョイナトランスフォーメーション

Data Integration Serviceは、ソート済みのジョイナトランスフォーメーションを処理す

るとき、マッピングの設定に基づいてデータをブロックします。 ジョイナトランスフォー

メーションへのマスタおよび明細入力が異なるソースから生じている場合、ブロックロジ

ックが可能になります。

ターゲットロード順グループのすべてのソースを同時にブロックせずにジョイナトランス

フォーメーションを処理できる場合、Data Integration Serviceはブロックロジックを使

用してジョイナトランスフォーメーションを処理します。 それ以外の場合、ブロックロジ

ックは使用しません。その代わりに、より多くの行をキャッシュに格納します。

ブロックロジックを使用してジョイナトランスフォーメーションを処理できる場合、Data

Integration Serviceがキャッシュに格納する行は少なくなり、パフォーマンスが向上しま

す。

マスタ行のキャッシュ

Data Integration Serviceは、ジョイナトランスフォーメーションを処理する場合、両方

のソースから同時に行を読み込み、マスタ行に基づいてインデックスキャッシュおよびデ

ータキャッシュを作成します。

Data Integration Serviceは次に、明細ソースデータとキャッシュデータに基づいて結合

を実行します。 Data Integration Serviceがキャッシュに格納する行数は、ソースデー

タ、およびジョイナトランスフォーメーションがソート済み入力用に設定されているかど

うかによって異なります。

202 章 17: ジョイナトランスフォーメーション

Page 224: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

未ソートジョイナトランスフォーメーションのパフォーマンスを向上させるには、行の比

較的少ないソースをマスタソースとして使用します。 ソート済みジョイナトランスフォー

メーションのパフォーマンスを向上させるには、重複キー値の少ないソースをマスタとし

て使用します。

ジョイナトランスフォーメーションのパフォーマンスのヒント

ジョイナトランスフォーメーションのパフォーマンスを向上させるためのヒントを紹介し

ます。

ジョイナトランスフォーメーションでは、中間結果を格納するための追加領域を実行時に

必要とするため、パフォーマンスが低下することがあります。ジョイナトランスフォーメ

ーションを 適化する必要があるかどうかを判断するには、ジョイナパフォーマンスカウ

ンタの情報を表示します。以下のヒントを使用して、ジョイナトランスフォーメーション

のパフォーマンスを向上させることができます。

重複キー値が少ない方のソースをマスタとして指定します。

Data Integration Serviceは、ソート済みジョイナトランスフォーメーションを処理

するときに、一度に100個の一意なキーの行をキャッシュに格納します。 マスタソー

スに同じキー値を持つ多数の行が含まれる場合、Data Integration Serviceはより多

くの行をキャッシュに格納する必要があり、それによってパフォーマンスが低下する

ことがあります。

行数が少ない方のソースをマスタとして指定します。

ジョイナトランスフォーメーションは詳細ソースの各行をマスタソースと比較しま

す。 マスタ内の行が少なければ、結合のための比較が繰り返される回数も少なくな

り、その結果、結合プロセスが高速になります。

可能な場合は、データベース内で結合を実行します。

データベース内で結合を実行すると、マッピングの実行中に実行する場合よりも処理

が高速になります。 パフォーマンスは、使用するデータベース結合の種類によっても

変わってきます。ノーマル結合は、外部結合よりも高速で、結果的にレコード数が少

なくて済みます。場合によっては、例えば2つの異なるデータベースまたはフラットフ

ァイルシステムとテーブルを結合する場合は、これが不可能なこともあります。

可能な場合は、ソート済みデータを結合します。

ソート済み入力を使用するようにジョイナトランスフォーメーションを設定してくだ

さい。 Data Integration Serviceは、ディスクの入出力を 小化することによって

パフォーマンスを向上させます。 大量のデータセットを扱う場合に、パフォーマンス

を 大限に向上させることができます。 未ソートジョイナトランスフォーメーション

の場合、行の比較的少ないソースをマスタソースとして指定します。

ジョイナトランスフォーメーションのパフォーマンスのヒント 203

Page 225: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ジョイナトランスフォーメーションのルールとガイドライン

ジョイナトランスフォーメーションを使用するときは、特定のルールとガイドラインが適

用されます。

ジョイナトランスフォーメーションは、ほとんどのトランスフォーメーションからの入力

を受け付けます。 ただし、いずれかの入力パイプラインにアップデートストラテジトラン

スフォーメーションが含まれている場合、ジョイナトランスフォーメーションは使用でき

ません。

204 章 17: ジョイナトランスフォーメーション

Page 226: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 8 章

キージェネレータトランスフォーメーション

この章では、以下の項目について説明します。

¨ キージェネレータトランスフォーメーションの概要, 205 ページ

¨ Soundexストラテジ, 206 ページ

¨ 文字列ストラテジ, 207 ページ

¨ NYSIISストラテジ, 207 ページ

¨ キージェネレータの出力ポート, 208 ページ

¨ グループ化ストラテジの設定, 208 ページ

¨ キー作成のプロパティ, 209 ページ

キージェネレータトランスフォーメーションの概要

キージェネレータトランスフォーメーションは、選択されたカラムのデータ値に基づいて

レコードをグループに整理するアクティブなトランスフォーメーションです。 このトラン

スフォーメーションを使用して、一致トランスフォーメーションに渡す前にレコードをソ

ートします。

キージェネレータトランスフォーメーションでは、選択されたカラムのグループキーの作

成にグループ化ストラテジが使用されます。 ストラテジとしては、文字列、Soundex、お

よびNYSIISがあります。 選択されたフィールドの値が同じレコードには、同じグループキ

ーが割り当てられます。 一致トランスフォーメーションは、グループキー値が同じレコー

ドをまとめて処理します。 その結果、一致トランスフォーメーション内の重複分析がスピ

ードアップします。

一致トランスフォーメーションが実行する必要のある比較処理の数は、データセット内の

レコード数に応じて急激に増加します。 この急激な増加により、大量のコンピューティン

グリソースが消費される可能性があります。 キージェネレータトランスフォーメーション

は、グループキーを作成することによって、一致トランスフォーメーションがより小さい

グループでレコードを比較できるようにし、その結果、処理時間が短縮されます。

205

Page 227: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

フィールド一致を実行する場合は、グループキー生成のカラムに、一致ニーズに対して有

用なグループを提供する可能性の高いカラムを選択します。 たとえば、姓のカラムは、名

のカラムよりも有用なグループキーデータを提供する可能性があります。 ただし、一致ト

ランスフォーメーションの重複分析では、姓カラムを使用しないでください。

キージェネレータトランスフォーメーションでは、各レコードに一意のIDを作成すること

もできます。 一致トランスフォーメーションに渡す各レコードには、一意のIDが含まれて

いる必要があります。 データにIDが存在しない場合は、キージェネレータトランスフォー

メーションを使用して作成します。

SoundexストラテジSoundexストラテジは、単語を分析し、単語の発音を表すコードからグループキーを作成し

ます。

Soundexコードは単語の1文字目で始まり、後に続く子音を表す一連の数字が続きます。

Soundexストラテジを使用して、音が似た単語に同じコードを割り当てます。 ストラテジ

が返す英数字の数を定義するには、Soundex深度を設定します。

このストラテジは、単語のスペルではなく音に焦点を当て、代替のスペルやスペルの小さ

な差異をグループ化することができます。 例えば、SmythとSmithのSoundexコードは同じで

す。

Soundexストラテジは、発音の間違った単語をグループ化することもできます。 例えば、

名前EdmontonとEdmonsonのSoundexコードは同じです。

Soundexストラテジのプロパティ

キージェネレータトランスフォーメーションでグループキーの作成に使用されるSoundex設

定を決定するには、Soundexストラテジのプロパティを設定します。

以下の表に、Soundexストラテジのプロパティを示します。

プロパティ 説明

Soundex深度 Soundexストラテジによって返される英数字の数を決定します。

デフォルトの深度は3です。 この深度では、文字列の 初の文字

と次の2つの子音を表す2つの数字で構成されるSoundexコードが

作成されます。

関連項目:

¨ 「文字列ストラテジのプロパティ」 (207ページの)

¨ 「キー作成のプロパティ」 (209ページの)

¨ 「 グループ化ストラテジの設定」 (208ページの)

206 章 18: キージェネレータトランスフォーメーション

Page 228: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

文字列ストラテジ文字列ストラテジは、入力データのサブ文字列からグループキーを作成します。

入力カラム内のサブ文字列の長さと場所を指定できます。 例えば、入力文字列の 初の4

文字からキーを作成するようにこのストラテジを設定することができます。

文字列ストラテジのプロパティ

キージェネレータトランスフォーメーションでグループキーの作成に使用されるサブ文字

列を決定するには、文字列ストラテジのプロパティを設定します。

以下の表に、文字列ストラテジのプロパティを示します。

プロパテ

説明

左から開

左から右に入力フィールドを読み取るようにトランスフォーメーシ

ョンを設定します。

右から開

右から左に入力フィールドを読み取るようにトランスフォーメーシ

ョンを設定します。

開始位置 スキップする文字数を指定します。 例えば、[開始位置]に3と入

力した場合、サブ文字列は入力フィールドの指定された側から4文

字目から始まります。

長さ グループキーとして使用する文字列の長さを指定します。 入力フ

ィールドすべてを使用するには、0と入力します。

関連項目:

¨ 「Soundexストラテジのプロパティ」 (206ページの)

¨ 「キー作成のプロパティ」 (209ページの)

¨ 「 グループ化ストラテジの設定」 (208ページの)

NYSIISストラテジNYSIISストラテジは、単語を分析し、単語の発音を表す文字からグループキーを作成しま

す。

Soundexストラテジが文字列の 初の母音のみを考慮するのに対し、NYSIISストラテジは文

字列全体の母音を分析します。 NYSIISストラテジは、すべての文字を6つの文字のいずれ

かに変換し、ほとんどの母音を文字Aに変換します。

文字列ストラテジ 207

Page 229: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

キージェネレータの出力ポートキージェネレータトランスフォーメーションの出力ポートは、一致トランスフォーメーシ

ョンがレコードの処理に使用するIDとグループキーを作成します。

以下の表に、キージェネレータトランスフォーメーションの出力ポートを示します。

プロパティ 説明

SequenceID ソースデータセット内の各レコードを特定するIDを作成します。

GroupKey 一致トランスフォーメーションでレコードの処理に使用されるグ

ループキーを作成します。

グループ化ストラテジの設定グループ化ストラテジを設定するには、[ストラテジ]ビューでプロパティを編集しま

す。

キージェネレータストラテジを設定する前に、キージェネレータトランスフォーメーショ

ンに入力ポートを追加します。

1. [ストラテジ]ビューを選択します。

2. [新規]ボタンをクリックします。

3. グループ化ストラテジを選択します。

4. [OK]をクリックします。

5. [入力]カラムで、入力ポートを選択します。

6. プロパティフィールドで選択矢印をクリックして、ストラテジのプロパティを設定し

ます。

7. キー作成のプロパティを設定します。

関連項目:

¨ 「Soundexストラテジのプロパティ」 (206ページの)

¨ 「文字列ストラテジのプロパティ」 (207ページの)

¨ 「キー作成のプロパティ」 (209ページの)

208 章 18: キージェネレータトランスフォーメーション

Page 230: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

キー作成のプロパティ分析するデータに適したキー作成プロパティを設定します。

以下の表にキー作成プロパティを示します。

プロパティ 説明

ソート結果 [GroupKey]フィールドを使用して、キージェネレータトラ

ンスフォーメーションの出力をソートします。 フィールド一

致操作では、このオプションを選択するか、一致トランスフ

ォーメーションにソート済みデータを提供していることを確

認する必要があります。 このオプションはID一致操作では選

択しないでください。

シーケンスキ

ーを自動的に

生成

入力データの順序を使用してシーケンスキーフィールドを生

成します。

フィールドを

シーケンスキ

ーとして使用

指定されたカラムに対してシーケンスフィールドを生成しま

す。

シーケンスキ

ーフィールド

シーケンスキーフィールドの名前を指定します。

関連項目:

¨ 「Soundexストラテジのプロパティ」 (206ページの)

¨ 「文字列ストラテジのプロパティ」 (207ページの)

¨ 「 グループ化ストラテジの設定」 (208ページの)

キー作成のプロパティ 209

Page 231: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 1 9 章

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

この章では、以下の項目について説明します。

¨ ラベラトランスフォーメーションの概要, 210 ページ

¨ ラベラトランスフォーメーションのストラテジ, 211 ページ

¨ ラベラトランスフォーメーションのポート, 211 ページ

¨ 文字ラベル適用操作, 212 ページ

¨ トークンラベル適用操作, 213 ページ

¨ ラベル適用ストラテジの設定, 216 ページ

ラベラトランスフォーメーションの概要ラベラトランスフォーメーションは、入力フィールドを調べ、各フィールドの文字または

文字列のタイプを示すラベルを作成するパッシブトランスフォーメーションです。

ラベラトランスフォーメーションを使用して、以下のタイプのラベル処理を実行できま

す。

文字ラベル適用

入力データで識別された各文字のラベルを作成します。 例えば、ラベラトランスフォ

ーメーションで郵便番号10028に"nnnnn"("n"は数字)というラベルを適用できま

す。

トークンラベル適用

入力データで識別された各トークンのラベルを作成します。 トークンとは、意味を成

す論理的な単位です。 例えば、文字列"John J. Smith"にトークン"Word Init

Word"を使用してラベルを適用するようにラベラトランスフォーメーションを設定でき

ます。

ラベル適用操作を実行するには、参照テーブルまたはコンテンツ式を選択します。 コンテ

ンツ式とは、ラベラトランスフォーメーションやパーサートランスフォーメーションでデ

ータを識別するために使用できる式です。

210

Page 232: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ラベラトランスフォーメーションでは、以下のタイプのコンテンツ式を使用できます。

¨ 文字セット

¨ トークンセット

コンテンツ式は、システム定義のものとユーザー定義のものがあります。 ユーザー定義の

コンテンツ式は、再利用可能にすることも再利用不可にすることもできます。

ラベラトランスフォーメーションのストラテジ

入力データにラベルを割り当てるには、ラベル適用ストラテジを使用します。

ラベル適用ストラテジを作成するときは、操作を1つ以上追加し、 操作ごとに特定のラベ

ル適用タスクを実装します。

ラベラトランスフォーメーションには、ストラテジを作成するためのウィザードが用意さ

れています。 ラベル適用ストラテジを作成するときは、文字ラベル適用またはトークンラ

ベル適用のいずれかのモードを選択します。 その後、そのラベル適用モードに固有の操作

を追加します。

重要: 操作やストラテジの順序は変更が可能です。 各操作で前の操作の結果を読み取る

ため、ストラテジ内の操作の順序によってストラテジの出力が変わることがあります。

ラベラトランスフォーメーションのポートラベラトランスフォーメーションには、入力ポートとラベル適用後の出力ポートがありま

す。 さらに、トークンラベル適用モードのラベラトランスフォーメーションには、トーク

ン化されたデータの出力も含まれます。

ラベラトランスフォーメーションでは、以下のポートタイプを使用します。

入力ポート

アップストリームオブジェクトから文字列の入力を受け取ります。

ラベル適用後の出力ポート

トランスフォーメーションのストラテジで定義されたラベルを出力します。

トークン化されたデータの出力ポート

出力の各ラベルに対応する入力文字列を渡します。 このトークンポートは、パーサー

トランスフォーメーションをパターンベースの解析モードで実行する場合に入力とし

て必要になります。

ラベラトランスフォーメーションのストラテジ 211

Page 233: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

文字ラベル適用操作文字ラベル適用操作は、データの文字パターンを示すラベルを作成する場合に使用しま

す。

文字ラベル適用ストラテジには、以下のタイプの操作を追加できます。

文字セットを使用して文字にラベルを適用する

定義済みの文字セット(数字や英文字など)を使用して文字にラベルを適用します。

Unicode文字セットとUnicode以外の文字セットを選択できます。

参照テーブルを使用して文字にラベルを適用する

参照テーブルにあるカスタムラベルを使用して文字にラベルを適用します。

文字セット

文字セットには、特定の文字および文字範囲を識別する式が含まれます。 文字セットは、

ラベラトランスフォーメーション、およびトークン解析モードを使用するパーサートラン

スフォーメーションで使用できます。

文字範囲は、連続する文字コードの範囲を指定します。 例えば、文字範囲"[A-C]"は大文

字の"A"、"B"、および"C"に一致します。この文字範囲は、小文字の"a"、"b"、また

は"c"には一致しません。

文字セットを使用すると、トークン解析操作やラベル適用操作の一部として特定の文字ま

たは文字範囲を識別できます。 例えば、電話番号が格納されたカラムのすべての数字にラ

ベルを適用することができます。 数字にラベルを適用した後、パーサートランスフォーメ

ーションでパターンを識別し、問題のあるパターンを別の出力に書き込むことができま

す。

文字ラベル適用のプロパティ

文字ラベル適用操作のプロパティは、ラベラトランスフォーメーションの[ストラテジ]

ビューで設定します。

以下のタイプの文字ラベル適用操作を設定できます。

文字セットラベル適用操作

文字セットのプロパティを設定するには、[文字セットを使用して文字にラベルを適

用する]を選択します。 以下のプロパティを確認して編集します。

¨ 文字セットの選択。 文字列へのラベルの適用に使用する文字セットを指定しま

す。

¨ ラベル。 文字セットに一致する入力文字列の置換テキストを指定します。 文字セ

ットを有効にすると、[ラベル]カラムの選択矢印をクリックしてカスタムの置換

テキストを入力することができます。

¨ 貼り付け元。 コンテンツセットに格納されている文字セットのコピーを作成でき

ます。 元の文字セットに対する変更は、ラベラトランスフォーメーションに格納

したコピーには反映されません。

212 章 19: ラベラトランスフォーメーション

Page 234: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ 文字セットの追加。 カスタムの文字セットを定義できます。

¨ 実行順序の指定。 トークンセットをデータに適用する順序を設定します。 上下の

矢印を使用して順序を変更できます。

参照テーブルラベル適用操作

参照テーブルラベル適用の以下のプロパティを設定するには、[参照テーブルを使用

して文字にラベルを適用する]を選択します。

¨ 参照テーブル。 文字へのラベルの適用に使用する参照テーブルを指定します。

¨ ラベル。 参照テーブルのエントリに一致する入力文字の置換テキストを指定しま

す。

¨ ストラテジ内の他のラベルをオーバーライド。 このラベル適用操作で他のラベル

適用操作をオーバーライドするかどうかを指定します。

操作を設定するときは、[テキストを無視する]ビューを選択して、文字セット操作およ

び参照テーブルラベル適用操作の例外を指定できます。 以下のプロパティを確認して編集

します。

検索用語

ラベル適用を実行する前にフィルタする文字列を指定します。 この機能を使用して、

定義したラベル適用ストラテジに対する例外を指定できます。

大文字小文字の区別

フィルタする文字列を[無視するテキスト]の文字列と照合するときに大文字と小文

字を区別するかどうかを指定します。

大文字

フィルタした文字列を大文字に変換します。

開始

フィルタする文字列の検索を開始する文字の位置を指定します。

終了

フィルタする文字列の検索を終了する文字の位置を指定します。

トークンラベル適用操作トークンラベル適用操作は、データの文字列を示すラベルを作成する場合に使用します。

ラベラトランスフォーメーションでは、入力文字列に含まれる複数のトークンを識別して

ラベルを適用することができます。 例えば、米国の電話番号と電子メールアドレスのトー

クンセットを使用するようにラベラトランスフォーメーションを設定できます。 このラベ

ラトランスフォーメーションで入力文字列"555-555-1212 [email protected]"を処理

すると、出力文字列は"USPHONE EMAIL"になります。

ラベル適用ストラテジに追加できるトークンラベル適用操作のタイプを次に示します。

トークンラベル適用操作 213

Page 235: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

参照テーブルのラベル

参照テーブルのエントリに一致する文字列にラベルを適用します。

トークンセットのラベルトークン

トークンセットを使用して文字列パターンにラベルを適用します。

トークンセット

トークンセットには、特定のトークンを識別する式が含まれます。 トークンセットは、ト

ークンラベル適用モードを使用するラベラトランスフォーメーションで使用できます。

トークンセットを使用すると、トークンラベル適用操作の一部として特定のトークンを識

別できます。 例えば、トークンセットを使用して、"AccountName@DomainName"という形

式のすべての電子メールアドレスにラベルを適用できます。 トークンにラベルを適用した

ら、パーサートランスフォーメーションを使用して、指定した出力ポートに電子メールア

ドレスを書き込むことができます。

Developerツールには、さまざまなパターンを識別するために使用できるシステム定義のト

ークンセットが用意されています。 システム定義のトークンセットの例をいくつか示しま

す。

¨ 単語

¨ 数字

¨ 電話番号

¨ 電子メールアドレス

¨ 郵便番号

¨ 国の識別番号(社会保障番号など)

¨ クレジットカード番号

正規表現

ラベル適用操作において、正規表現とは、入力データに含まれる特定の文字列の識別に使

用できる式を指します。 正規表現は、トークンラベル適用モードを使用するラベラトラン

スフォーメーションで使用できます。

ラベラトランスフォーメーションでは、正規表現を使用して入力パターンを一致させ、1つ

のラベルを作成します。 正規表現の出力が複数になる場合、複数のラベルは生成されませ

ん。

トークンラベル適用のプロパティ

トークンラベル適用のストラテジや操作のプロパティを設定するには、ラベラトランスフ

ォーメーションの[ストラテジ]ビューを選択します。

トークンラベル適用ストラテジについては、以下のプロパティを設定できます。

反転有効

入力データを右から左の順に処理します。

214 章 19: ラベラトランスフォーメーション

Page 236: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

区切り文字

入力データ内のサブ文字列を評価するときに使用する文字を指定します。

以下のタイプのトークンラベル適用操作を設定できます。

参照テーブルラベル適用操作

参照テーブルラベル適用の以下のオプションを設定するには、[参照テーブルのラベ

ル]を選択します。

¨ 参照テーブル。 トークンへのラベルの適用に使用する参照テーブルを指定しま

す。

¨ ラベル。 参照テーブルのエントリに一致する入力文字列の置換テキストを指定し

ます。

¨ 大文字小文字の区別。 入力文字列を参照テーブルのエントリと照合するときに大

文字と小文字を区別するかどうかを指定します。

¨ 有効な値で一致を置換。 ラベルが適用された文字列を参照テーブルの[有効]カ

ラムのエントリに置き換えます。

¨ 優先順位の設定。 参照テーブルラベル適用をラベル適用操作で優先するかどうか

を指定します。

¨ モード。 トークンラベル適用の方法を指定します。 参照テーブルのエントリに一

致する入力文字列にラベルを適用する場合は、[含める]を選択します。 参照テー

ブルのエントリに一致する入力文字列にラベルを適用しない場合は、[占有]を選択

します。

トークンセットラベル適用操作

トークンセットのプロパティを設定するには、[トークンセットのラベルトークン]

を選択します。 以下のプロパティを確認して編集します。

¨ トークンセットの選択。 文字列へのラベルの適用に使用するトークンセットを指

定します。

¨ ラベル。 トークンセットに一致する入力文字列の置換テキストを指定します。 ト

ークンセットを有効にすると、[ラベル]カラムの選択矢印をクリックしてカスタ

ムの置換テキストを入力することができます。

¨ 貼り付け元。 コンテンツセットに格納されているトークンセットのコピーを作成

できます。 元のトークンセットに対する変更は、ラベラトランスフォーメーショ

ンに格納したコピーには反映されません。

¨ トークンセットの追加。 カスタムのトークンセットを定義できます。

¨ 正規表現の追加。 入力パターンに一致する正規表現を定義して1つのラベルを作成

できます。

¨ 実行順序の指定。 トークンセットをデータに適用する順序を設定します。 上下の

矢印を使用して順序を変更できます。

操作を設定するときは、[カスタムラベル]ビューを選択して、特定の検索語句に対する

ラベルを作成できます。 以下のプロパティを確認して編集します。

検索用語

検索する文字列を指定します。

トークンラベル適用操作 215

Page 237: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

大文字小文字の区別

検索語句と照合するときに大文字と小文字を区別するかどうかを指定します。

カスタムラベル

適用するカスタムラベルを指定します。

ラベル適用ストラテジの設定ラベル適用ストラテジを設定するには、ラベラトランスフォーメーションの[ストラテ

ジ]ビューで設定を編集します。

1. [ストラテジ]ビューを選択します。

2. [新規]をクリックしてストラテジを作成します。

新しいストラテジウィザードが開きます。

3. [入力]フィールドと[出力]フィールドをクリックして、ストラテジのポートを選

択します。

4. ラベル適用モードを選択します。 トークンラベル適用モードを選択した場合は、トー

クンラベル適用ストラテジのプロパティを設定します。 [次へ]をクリックします。

5. 操作を選択し、[次へ]をクリックします。

6. 操作のプロパティを設定し、[次へ]をクリックします。

7. その他のオプションを設定します。

¨ 文字ラベル適用モードを選択した場合は、[テキストを無視する]のプロパティを

必要に応じて設定します。

¨ トークンラベル適用モードを選択した場合は、[カスタムラベル]のプロパティを

必要に応じて設定します。

8. 必要に応じて、[次へ]をクリックして、その他の操作をストラテジに追加します。

9. [完了]をクリックしてストラテジを保存します。

10. 必要に応じて、ストラテジや操作を処理する順序を変更します。 [ストラテジ]ビュ

ーで、ストラテジまたは操作を選択し、[上に移動]または[下に移動]をクリック

します。

11. 必要に応じて、その他のストラテジをトランスフォーメーションに追加します。

216 章 19: ラベラトランスフォーメーション

Page 238: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 0 章

ルックアップトランスフォーメーション

ルックアップトランスフォーメーションの概要

ルックアップトランスフォーメーションは、フラットファイル、リレーショナルテーブ

ル、または論理データオブジェクト内のデータをルックアップするパッシブまたはアクテ

ィブなトランスフォーメーションです。 ルックアップトランスフォーメーションは、ルッ

クアップから1行または複数の行を返すことができます。

ルックアップトランスフォーメーションを作成するときは、フラットファイル、リレーシ

ョナルテーブル、またはDeveloperツールの論理データオブジェクトからルックアップソー

スファイルをインポートします。 Developerツールは、データオブジェクトのカラムをト

ランスフォーメーションのルックアップポートとして追加します。 トランスフォーメーシ

ョンの作成後、ルックアップの結果を返すように1つ以上の出力ポートを設定します。 ル

ックアップ条件を設定し、他のルックアッププロパティを設定します。

マッピングを実行、またはデータをプレビューすると、Data Integration Serviceはルッ

クアップソースに対してクエリを実行します。 Data Integration Serviceは、トランス

フォーメーションのルックアップポート、ルックアッププロパティ、およびルックアップ

条件に基づいて、ルックアップソースに対してクエリを実行します。 ルックアップトラン

スフォーメーションは、ルックアップの結果をターゲットまたは別のトランスフォーメー

ションに返します。

接続されたまたは接続されていないルックアップトランスフォーメーションを設定できま

す。 接続されたトランスフォーメーションは、マッピング内の別のトランスフォーメーシ

ョンに接続されています。 接続されていないトランスフォーメーションは、別のトランス

フォーメーションの:LKP式から入力を受け取ります。 ルックアップトランスフォーメーシ

ョンで論理データオブジェクトに対してルックアップを実行する場合は、接続されたルッ

クアップトランスフォーメーションを設定する必要があります。 ルックアップトランスフ

ォーメーションの入力ポートをアップストリームトランスフォーメーションまたはアップ

ストリームソースに接続します。 出力ポートをダウンストリームトランスフォーメーショ

ンまたはダウンストリームターゲットに接続します。

217

Page 239: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

1つのマッピングで複数のルックアップトランスフォーメーションを使用できます。

ルックアップトランスフォーメーションでは、以下のタスクを実行できます。

¨ 関連する値を取得する。入力データの値に基づいてルックアップソースから値を取得し

ます。. 例えば、入力データに従業員IDが含まれているとします。 ルックアップ sソ

ースから従業員IDによって従業員名を取得します。

¨ ルックアップソースから複数の行を取得する。

¨ 計算を行う。ルックアップテーブルから値を取得し、その値を計算に使用します。 例

えば、消費税率を取得し、税額を計算してターゲットに返します。

¨ 式を受け付けるトランスフォーメーションの:LKP式を使用して、接続されていないルッ

クアップを実行する。 トランスフォーメーションの別の式を使用して結果をフィルタ

します。

接続されたルックアップと接続されていないルックアップ

接続されたまたは接続されていないルックアップトランスフォーメーションを設定できま

す。 接続されたルックアップトランスフォーメーションは、マッピング内の他のトランス

フォーメーションに接続する入出力ポートのあるトランスフォーメーションです。 接続さ

れていないルックアップトランスフォーメーションは、マッピングに含まれますが、他の

トランスフォーメーションに接続されていません。

接続されていないルックアップトランスフォーメーションは、トランスフォーメーション

(式トランスフォーメーションやアグリゲータトランスフォーメーションなど)の:LKP式

の結果から入力を受け取ります。 :LKP式は、ルックアップトランスフォーメーションにパ

ラメータを渡し、ルックアップから結果を受け取ります。 :LKP式は、ルックアップの結果

をトランスフォーメーションの別の式に渡して、結果をフィルタすることができます。

以下の表に、接続されたルックアップとコネクトされていないルックアップの違いを示し

ます。

接続されたルックアップ 接続されていないルックアップ

入力値をマッピングから直接受け

取ります。

入力値を別のトランスフォーメーション

の:LKP式の結果から受け取ります。

キャッシュには、ルックアップ条

件のルックアップソースカラムお

よび出力ポートとなるルックアッ

プソースカラムが含まれていま

す。

キャッシュには、ルックアップ条件のル

ックアップポートと出力ポート、および

戻りポートが含まれています。

同じ行の複数のカラムを返しま

す。 複数の行を返すことができま

す。

戻りポートを介して1行から1つのカラム

を返します。

218 章 20: ルックアップトランスフォーメーション

Page 240: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

接続されたルックアップ 接続されていないルックアップ

ルックアップ条件に一致するもの

がない場合、Data Integration

Serviceはすべての出力ポートにデ

フォルト値を返します。

ルックアップ条件に一致するものがない

場合、Data Integration ServiceはNULL

を返します。

ルックアップ条件に一致するもの

がある場合、Data Integration

Serviceはすべてのルックアップ/

出力ポートにルックアップ条件の

結果を返します。

ルックアップ条件に一致するものがある

場合、Data Integration Serviceは戻り

ポートを介してルックアップ条件の結果

を返します。

ルックアップトランスフォーメー

ションは、複数の出力値を別のト

ランスフォーメーションに渡すこ

とができます。 ルックアップポー

トを別のトランスフォーメーショ

ンにリンクします。

ルックアップは、1つの出力値を別のトラ

ンスフォーメーションに返します。 ルッ

クアップトランスフォーメーションの戻

りポートは、他のトランスフォーメーシ

ョンの:LKP式が含まれるポートに値を渡

します。

ユーザ定義デフォルト値をサポー

トします。

ユーザ定義デフォルト値をサポートしま

せん。

接続されたルックアップ

接続されたルックアップトランスフォーメーションは、マッピング内のソースまたはター

ゲットに接続しているルックアップトランスフォーメーションです。

接続されたルックアップトランスフォーメーションが含まれるマッピングを実行すると、

Data Integration Serviceは以下の手順を実行します。

1. 別のトランスフォーメーションからルックアップトランスフォーメーションの入力ポ

ートに値を渡します。

2. 各入力行に対して、トランスフォーメーションのルックアップポートおよびルックア

ップ条件に基づいてルックアップソースまたはキャッシュに対してクエリを実行しま

す。

3. トランスフォーメーションがキャッシュされていない場合、またはトランスフォーメ

ーションに静的キャッシュがある場合、ルックアップクエリから値を返します。

4. クエリからデータを返し、マッピング内の次のトランスフォーメーションに渡しま

す。

接続されていないルックアップ

接続されていないルックアップトランスフォーメーションは、マッピング内のソースまた

はターゲットに接続していないルックアップトランスフォーメーションです。 式を使用で

きるトランスフォーメーションの:LKP式を使用して、ルックアップを呼び出します。

ルックアップ式の構文は、:LKP lookup_transformation_name(argument, argument, ...)のようになり

ます。

接続されたルックアップと接続されていないルックアップ 219

Page 241: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

各引数を記述する順序は、ルックアップトランスフォーメーションのルックアップ条件の

順序と一致しなければなりません。 ルックアップトランスフォーメーションは、ルックア

ップトランスフォーメーションの戻りポートを介して、クエリの結果を返します。 ルック

アップを呼び出すトランスフォーメーションは、:LKP式が含まれるポートにルックアップ

の結果値を受け取ります。 ルックアップクエリが値を返せなかった場合、ポートはNULL値

を受け取ります。

接続されていないルックアップを実行するときは、マッピング内で同じルックアップを複

数回実行できます。 ルックアップの結果を別の式でテストし、その結果に基づいて行をフ

ィルタすることができます。

接続されていないルックアップトランスフォーメーションが含まれるマッピングを実行す

ると、Data Integration Serviceは以下の手順を実行します。

1. :LKP式からルックアップトランスフォーメーションにルックアップパラメータを渡し

ます。 式は式トランスフォーメーションやアグリゲータトランスフォーメーションな

どの別のトランスフォーメーションに含まれています。

2. ルックアップトランスフォーメーションのルックアップポートおよびルックアップ条

件に基づき、ルックアップソースまたはキャッシュに対してクエリを実行します。

3. ルックアップトランスフォーメーションの戻りポートを介して値を返します。

4. 他のトランスフォーメーションの:LKP式に戻り値を渡します。 :LKP式が含まれるポー

トが結果を受け取ります。

ルックアップトランスフォーメーションの開発

ルックアップトランスフォーメーションを開発するときは、ルックアップソースのタイプ

やルックアップ条件などの要素について考慮する必要があります。

ルックアップトランスフォーメーションを開発するときは、以下の項目について考慮して

ください。

¨ フラットファイル、, リレーショナルデータオブジェクト、または論理データオブジェ

クトのいずれからトランスフォーメーションを作成するか. ルックアップトランスフォ

ーメーションを作成する前に、ルックアップソースを作成します。 フラットファイル

またはリレーショナルデータベーステーブルを物理データオブジェクトとしてインポー

トします。 または、ルックアップソースとして使用する論理データオブジェクトを作

成します。

¨ トランスフォーメーションの出力ポート。

¨ トランスフォーメーションのルックアップ条件。

¨ Data Integration Serviceでルックアップデータをキャッシュするかどうか。 Data

Integration Serviceは、フラットファイルまたはリレーショナルデータオブジェクト

のデータをキャッシュに格納できます。

ルックアップトランスフォーメーションを作成する前に、ルックアップソースを作成しま

す。 フラットファイルまたはリレーショナルデータベーステーブルを物理データオブジェ

クトとしてインポートします。 または、ルックアップソースとして使用する論理データオ

ブジェクトを作成します。

220 章 20: ルックアップトランスフォーメーション

Page 242: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ルックアップ条件Data Integration Serviceは、ルックアップ条件でルックアップソースのデータを検索し

ます。

ルックアップ条件は、SQLクエリのWHERE句に似ています。Lookupトランスフォーメーショ

ンでルックアップ条件を設定すると、ソースデータの1つ以上のカラムの値がルックアップ

ソースまたはキャッシュの値と比較されます。

たとえば、ソースデータにemployee_numberが含まれているとします。ルックアップソース

テーブルには、employee_ID、first_name、およびlast_nameが含まれています。以下のル

ックアップ条件を設定します。

employee_ID = employee_number

Data Integration Serviceは、employee_numberごとにルックアップソースの

employee_ID、last_name、およびfirst_nameカラムを返します。

Data Integration Serviceは、ルックアップソースから複数の行を返すことができます。

以下のルックアップ条件を設定します。

employee_ID > employee_number

Data Integration Serviceは、employee_ID番号がソースの従業員番号よりも大きい行を

すべて返します。

ルックアップトランスフォーメーションの条件のルールとガイドライン

ルックアップトランスフォーメーションの条件の入力時には、特定のルールとガイドライ

ンが適用されます。

ルックアップトランスフォーメーションの条件の入力について、以下のルールとガイドラ

インを使用してください。

¨ ルックアップ条件に含めるカラムのデータ型は一致する必要があります。

¨ すべてのルックアップトランスフォーメーションにルックアップ条件を入力します。

¨ ルックアップ条件のルックアップポートごとに入力ポートを1つ使用します。同じ入力

ポートをトランスフォーメーションの複数の条件で使用します。

¨ 複数の条件を入力した場合、Data Integration Serviceはそれぞれの条件をORではなく

ANDとして評価します。 Data Integration Serviceは、設定したすべての条件に一致

する行を返します。

¨ 複数の条件を含める場合は、ルックアップのパフォーマンスを高めるために以下の順序

で条件を入力します。

-等しい(=)

-より小さい (<)、より大きい(>)、より小さいまたは等しい (<=)、より大きいまたは

等しい (>=)

-等しくない(!=)

¨ ルックアップ条件を作成する場合、以下の演算子を使用します。

- =, >, <, >=, <=, !=

ルックアップ条件 221

Page 243: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ ルックアップが値を返すためには、入力値がすべての条件を満たす必要があります。

¨ Data Integration ServiceはNULL値を一致させます。 例えば、入力ルックアップ条件

カラムがNULLの場合、Data Integration ServiceはNULLがルックアップのNULLと等し

いとみなします。

¨ ルックアップ条件のカラムのデータ型がDecimalの場合、各カラムの精度は同じ精度範

囲のものにする必要があります。有効な精度範囲は以下のとおりです。

- Decimal 0~18

- Decimal 19~28

- Decimal 29以上

例えば、条件DecimalA = DecimalBを定義し、DecimalAが精度15でDecimalBが25の場合、こ

の条件は有効ではありません。

ルックアップキャッシュルックアップソースをキャッシュに格納するようにルックアップトランスフォーメーショ

ンを設定できます。Data Integration Serviceは、キャッシュを使用するルックアップト

ランスフォーメーションのデータの 初の行を処理するときにメモリにキャッシュを構築

します。マッピングが完了すると、永続キャッシュを使用するようにルックアップトラン

スフォーメーションを設定していない限り、Data Integration Serviceはキャッシュメモ

リを解放し、キャッシュファイルを削除します。

ルックアップキャッシュはパフォーマンスを向上させます。Data Integration Service

は、各入力行に対してルックアップソースを照会する代わりにルックアップキャッシュを

照会します。ソーステーブルが大きい場合は、ルックアップソースをキャッシュに格納す

ることによってパフォーマンスが 適化されます。

Data Integration Serviceは、ルックアップトランスフォーメーションのランタイムプロ

パティで設定した量に基づいて、キャッシュにメモリを割り当てます。キャッシュがメモ

リに対して大きすぎる場合、Data Integration Serviceはキャッシュファイルを作成しま

す。デフォルトでは、Data Integration Serviceはキャッシュファイルを$PMCacheDirに

格納します。Data Integration Serviceはインデックスキャッシュに条件値を格納し、デ

ータキャッシュに出力値を格納します。

ソート済み入力用にフラットファイルルックアップを設定する場合、条件カラムがグルー

プ化されていなければData Integration Serviceはルックアップをキャッシュできませ

ん。 カラムがグループ化されていてソートされていない場合、Data Integration Service

はソート済み入力が設定されていない場合と同様にルックアップを処理します。

Data Integration Serviceがキャッシュを使用しないルックアップを処理する場合、キャ

ッシュではなくるルックアップソースを照会します。

222 章 20: ルックアップトランスフォーメーション

Page 244: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

共有キャッシュ

デフォルトでは、Data Integration Serviceは、マッピング内に互換性のあるキャッシュ

構造体を持つルックアップトランスフォーメーションのキャッシュを共有します。

同じデータまたはデータのサブセットを使ってディスクキャッシュを作成するルックアッ

プトランスフォーメーションであれば、複数のルックアップトランスフォーメーションが

ディスクキャッシュを共有できます。たとえば、マッピング内に、同じ再利用可能なルッ

クアップトランスフォーメーションの2つのインスタンスを設定し、両方のインスタンスに

同じ出力ポートを使用した場合、この2つのルックアップトランスフォーメーションはルッ

クアップキャッシュを共有します。トランスフォーメーションプロパティまたはキャッシ

ュ構造体により共有が許可されない場合、Data Integration Serviceでキャッシュは共有

されません。ルックアップキーが異なるか、ルックアップトランスフォーメーションに複

数の異なる一致条件がある場合、Data Integration Serviceでキャッシュは共有されませ

ん。

永続キャッシュ

セッションとセッションの間にルックアップソースが変更されない場合は、永続ルックア

ップキャッシュを使用するようにルックアップトランスフォーメーションを設定できま

す。Data Integration Serviceは、ルックアップソースの読み取りに必要な時間を予測し

ながら、マッピングの実行間にキャッシュファイルを保存および再利用します。

ルックアップトランスフォーメーションでキャッシュを有効にした場合、Data

Integration Serviceではデフォルトで非永続キャッシュが使用されます。 Data

Integration Serviceは、マッピングの実行の 後にキャッシュファイルを削除します。

次にマッピングを実行したときに、Data Integration Serviceはデータベースからメモリ

キャッシュを作成します。

Data Integration Serviceは、永続ルックアップキャッシュを使用して 初にセッション

を実行するときに、キャッシュファイルを削除せずにディスクに保存します。次にData

Integration Serviceがセッションを実行したときは、メモリキャッシュをキャッシュファ

イルから作成します。ルックアップテーブルが変化することがある場合は、ルックアップ

プロパティを上書きして、データベースからルックアップを再キャッシュすることができ

ます。

キャッシュファイルを保存して再使用する場合、永続キャッシュを使用するようにルック

アップトランスフォーメーションを設定できます。永続キャッシュを設定するには、ルッ

クアップトランスフォーメーションの[詳細]ビューで[ルックアップキャッシュの永続

性]プロパティを設定します。

フラットファイルまたはリレーショナルルックアップの ランタイムプロパティ

Data Integration Serviceがルックアップデータをキャッシュするかどうかを決定するに

は、ランタイムプロパティを設定します。

フラットファイルまたはリレーショナルルックアップの ランタイムプロパティ 223

Page 245: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、フラットファイルまたはリレーショナルルックアップを実行する ルックアッ

プトランスフォーメーションのランタイムプロパティを示します。:

プロパティ 説明

ルックアップキャッシュが有効 Data Integration Serviceがルックア

ップ値をキャッシュするかどうかを指

定します。

ルックアップキャッシュを有効にする

と、Data Integration Serviceはルッ

クアップソースに対してクエリを一度

実行し、値をキャッシュし、キャッシ

ュ内の値をルックアップします。 ル

ックアップ値をキャッシュに格納する

と、パフォーマンスを高めることがで

きます。

キャッシュを無効にすると、行がトラ

ンスフォーメーションを通過するたび

に、Data Integration Serviceはルッ

クアップソースにSelect文を発行して

ルックアップ値を求めます。

フラットファイルルックアップは常に

キャッシュされます。

ルックアップデータキャッシュのサイ

Data Integration Serviceがメモリ内

のデータキャッシュに割り当てるメモ

リサイズの 大値。 デフォルトは

[自動]です。

ルックアップインデックスキャッシュ

のサイズ

Data Integration Serviceがメモリ内

のインデックスに割り当てるメモリサ

イズの 大値。 デフォルトは[自

動]です。

ルックアップキャッシュの事前作成 Data Integration Serviceで、ルック

アップトランスフォーメーションがデ

ータを受け取る前に、ルックアップキ

ャッシュを作成できるようにします。

Data Integration Serviceは、複数の

ルックアップキャッシュファイルを同

時に作成してパフォーマンスを高める

ことができます。

以下のいずれかのオプションを設定し

ます。

- 自動。Data Integration Serviceで

値が決定されます。

- 常に許可。 Data Integration

Serviceで、ルックアップトランス

フォーメーションがデータを受け取

る前に、ルックアップキャッシュを

作成できるようにします。 Data

Integration Serviceは、複数のル

ックアップキャッシュファイルを同

224 章 20: ルックアップトランスフォーメーション

Page 246: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

プロパティ 説明

時に作成してパフォーマンスを高め

ることができます。

- 常に不許可。Data Integration

Serviceは、ルックアップトランス

フォーメーションが 初の行を受け

取る前に、ルックアップキャッシュ

を作成できません。

ルックアップキャッシュディレクトリ

ルックアップソースをキャッシュする

ようにルックアップトランスフォーメ

ーションが設定されている場合に、ル

ックアップキャッシュファイルを作成

するために使用されるディレクトリ。

接続 リレーショナルルックアップトランス

フォーメーションに適用されます。

ルックアップのソースです。

フラットファイルルックアップトランスフォーメーションの詳細プロパティ

永続ルックアップキャッシュや日時フォーマットなど、リレーショナルルックアップトラ

ンスフォーメーションの詳細プロパティを設定します。

以下の表に、リレーショナルルックアップトランスフォーメーションの詳細プロパティを

示します。

プロパティ 説明

ルックアップキャッシュの永続性 Data Integration Serviceが、2つ以

上のキャッシュファイルを含む永続ル

ックアップキャッシュを使用するかど

うかを示します。 ルックアップトラ

ンスフォーメーションが永続ルックア

ップキャッシュを使用するように設定

されていて、永続ルックアップキャッ

シュが存在しない場合、Data

Integration Serviceはファイルを作

成します。

大文字小文字を区別した文字列比較 Data Integration Serviceは、文字列

のカラムに対してルックアップを実行

する場合、大文字と小文字を区別した

比較を使用します。

フラットファイルルックアップトランスフォーメーションの詳細プロパティ 225

Page 247: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

プロパティ 説明

NULLの順序付け Data Integration ServiceによるNULL

値の順序付けの方法を決定します。

NULL値を昇順にソートの上位に配置す

るか(高)下位に配置するか(低)を

選択できます。デフォルトでは、Data

Integration ServiceはNULL値を上位

にソートします。 このプロパティ

は、比較演算子内のNULL値の扱いを

高、低、またはNULLとするData

Integration Serviceの設定をオーバ

ーライドします。 リレーショナルル

ックアップの場合、NULL値の順序付け

はデータベースのデフォルト値によっ

て異なります。

トレースレベル ログに表示する詳細の程度を設定しま

す。

カスタムSQLクエリ デフォルトのSQLクエリをオーバーラ

イドします。

ソースフィルタ Data Integration Serviceがクエリを

実行する行数を削減します。

日時フォーマット 日時フォーマットおよびフィールド幅

を定義します。 ミリ秒、マイクロ

秒、ナノ秒のフォーマットのフィール

ド幅は、29になります。ポートの日時

フォーマットを選択しない場合は、任

意の日時フォーマットを入力できま

す。

デフォルトはMM/DD/YYYY HH24:MI:SS

です。日時フォーマットを設定して

も、ポートのサイズは変わりません。

1000ごとの区切り 値は[なし]です。

小数点記号 値はピリオドです。

リレーショナルルックアップトランスフォーメーションの詳細プロパティ

詳細プロパティで、永続ルックアップキャッシュとpre-SQLコマンドを設定します。

226 章 20: ルックアップトランスフォーメーション

Page 248: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、リレーショナルルックアップトランスフォーメーションの詳細プロパティを

示します。

プロパティ 説明

ルックアップキャッシュの永続性 Data Integration Serviceが、2つ以

上のキャッシュファイルを含む永続ル

ックアップキャッシュを使用するかど

うかを示します。 ルックアップトラ

ンスフォーメーションが永続ルックア

ップキャッシュを使用するように設定

されていて、永続ルックアップキャッ

シュが存在しない場合、Data

Integration Serviceはファイルを作

成します。

大文字小文字を区別した文字列比較 Data Integration Serviceは、文字列

のカラムに対してルックアップを実行

する場合、大文字と小文字を区別した

比較を使用します。 大文字と小文字

を区別した比較は、データベースでサ

ポートされているかどうかによって異

なります。

NULLの順序付け Data Integration ServiceによるNULL

値の順序付けの方法を決定します。

NULL値を昇順にソートの上位に配置す

るか(高)下位に配置するか(低)を

選択できます。デフォルトでは、Data

Integration ServiceはNULL値を上位

にソートします。 このプロパティ

は、比較演算子内のNULL値の扱いを

高、低、またはNULLとするData

Integration Serviceの設定をオーバ

ーライドします。 リレーショナルル

ックアップの場合、NULL値の順序付け

はデータベースのデフォルト値によっ

て異なります。

トレースレベル ログに含める詳細の程度を設定しま

す。

カスタムSQLクエリ デフォルトのSQLクエリをオーバーラ

イドします。

ソースフィルタ Data Integration Serviceがクエリを

実行する行数を削減します。

Pre SQL Data Integration Serviceがソースか

ら読み込む前にソースデータベースに

対して実行されるSQLコマンド。

Post SQL Data Integration Serviceがターゲッ

トに書き込んだ後にソースデータベー

スに対して実行されるSQLコマンド。

リレーショナルルックアップトランスフォーメーションの詳細プロパティ 227

Page 249: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

論理データオブジェクトのルックアップトランスフォーメーションの詳細プロパティ

論理データオブジェクトのルックアップトランスフォーメーションの詳細プロパティを設

定します。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

再利用可能なルックアップトランスフォーメーションの作成

フラットファイル、リレーショナルテーブル、または論理データオブジェクト内のデータ

をルックアップするルックアップトランスフォーメーションを作成します。

1. [Object Explorer]ビューで、プロジェクトまたはフォルダを選択します。

2. [ファイル] > [新規] > [トランスフォーメーション]をクリックします。

228 章 20: ルックアップトランスフォーメーション

Page 250: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

3. ルックアップウィザードに移動します。

4. [フラットファイルルックアップ], [論理データオブジェクトルックアップ]、 ま

たは[リレーショナルルックアップ]を選択します。

5. [次へ]をクリックします。

[新しいルックアップ]ダイアログボックスが表示されます。

6. Developerツール内の物理データオブジェクトを選択します。

7. トランスフォーメーションの名前を入力します。

8. [複数の一致の検出時]で、ルックアップトランスフォーメーションがルックアップ

条件に一致する行を複数見つけたときにどの行を返すのかを設定します。

9. [完了]をクリックします。

ルックアップトランスフォーメーションがエディタに表示されます。

10. [概要]ビューの[ポート]セクションで、トランスフォーメーションに出力ポート

を追加します。

11. [ルックアップ]ビューで、1つ以上のルックアップ条件を追加します。

12. [詳細]ビューで、ルックアップの詳細プロパティを設定します。

ルックアップトランスフォーメーションをマッピングに追加する場合、[ランタイム]ビ

ューでルックアップのランタイムプロパティを設定することもできます。

再利用不可能なルックアップトランスフォーメーションの作成

マッピングまたはマプレットで再利用不可能なルックアップトランスフォーメーションを

作成します。

1. マッピングまたはマプレットで、トランスフォーメーションパレットからエディタに

ルックアップトランスフォーメーションをドラッグします。

[新しいルックアップ]ダイアログボックスが表示されます。

2. [フラットファイルルックアップ]、[論理データオブジェクトルックアップ]、ま

たは [リレーショナルルックアップ]を選択します。

3. [次へ]をクリックします。

[新しいルックアップ]ダイアログボックスが表示されます。

4. 物理データオブジェクトを選択します。

5. トランスフォーメーションの名前を入力します。

6. [複数の一致の検出時]で、ルックアップトランスフォーメーションがルックアップ

条件に一致する行を複数見つけたときにどの行を返すのかを設定します。

7. [完了]をクリックします。

ルックアップトランスフォーメーションがエディタに表示されます。

8. [ポート]ビューで、トランスフォーメーションに出力ポートを追加します。

再利用不可能なルックアップトランスフォーメーションの作成 229

Page 251: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

9. [ランタイム]ビューで、ランタイムプロパティを設定します。

10. [ルックアップ]ビューで、1つ以上のルックアップ条件を追加します。

11. [詳細]ビューで、ルックアップの詳細プロパティを設定します。

接続されていないルックアップトランスレーションの作成

式からルックアップを実行するときは、接続されていないルックアップトランスフォーメ

ーションを作成します。 再利用可能または再利用不可能な接続されていないルックアップ

トランスフォーメーションを作成できます。

接続されていないルックアップトランスフォーメーションを作成する前に、ルックアップ

ソースを作成します。 フラットファイルまたはリレーショナルデータベーステーブルを物

理データオブジェクトとしてインポートします。

1. [Object Explorer]ビューで、プロジェクトまたはフォルダを選択します。

2. [ファイル] > [新規] > [トランスフォーメーション]をクリックします。

3. ルックアップウィザードに移動します。

4. [フラットファイルルックアップ]または[リレーショナルルックアップ]を選択し

ます。

5. [次へ]をクリックします。

[新しいルックアップ]ダイアログボックスが表示されます。

6. Developerツール内の物理データオブジェクトを選択します。

7. トランスフォーメーションの名前を入力します。

8. [複数の一致の検出時]で、ルックアップトランスフォーメーションがルックアップ

条件に一致する行を複数見つけたときにどの行を返すのかを設定します。 接続されて

いないルックアップでは、[すべてを返す]は選択しないでください。

9. [完了]をクリックします。

ルックアップトランスフォーメーションがエディタに表示されます。

10. [概要]ビューの[ポート]セクションで、トランスフォーメーションに出力ポート

を追加します。

:LKP式の各引数について入力ポートを作成します。作成する各ルックアップ条件につ

いて入力ポートを作成します。 1つの入力ポートを複数の条件で使用できます。

11. [概要]ビューの[ポート]セクションで、1つのポートを戻りポートとして設定しま

す。

12. [ルックアップ]ビューで、1つ以上のルックアップ条件を追加して、トランスフォー

メーションの入力値をルックアップソースまたはキャッシュの値と比較します。

条件がTrueの場合、ルックアップは戻りポートの値を返します。 ルックアップ条件が

Falseの場合、ルックアップはNULLを返します。

230 章 20: ルックアップトランスフォーメーション

Page 252: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

13. アグリゲータトランスフォーメーション、式トランスフォーメーション、アップデー

トストラテジトランスフォーメーションなど、式を使用できるトランスフォーメーシ

ョンのポートに対して:LKP式を作成します。

14. マッピングを作成するときは、接続されていないルックアップトランスフォーメーシ

ョンをエディタ内のマッピングに追加しますが、ポートをマッピング内の他のトラン

スフォーメーションに接続しないでください。

接続されていないルックアップの例カリフォルニアの小売店が、州内の顧客に販売する商品の各価格に州の消費税を追加しま

す。 税額は、顧客が居住する郡によって異なります。 消費税を取得するために、郡名を

受け取ってその郡の消費税額を返すルックアップトランスフォーメーションを作成しま

す。 その郡が消費税を課さない場合、ルックアップトランスフォーメーションはNULLを返

します。 ルックアップは式トランスフォーメーションから呼び出します。

郡別の消費税の接続されていないルックアップトランスフォーメーションを設定するに

は、以下の手順に従ってください。

1. 郡別の消費税額を含む、フラットファイルの物理データオブジェクトをインポートし

ます。

2. 接続されていないルックアップトランスレーションを作成します。

3. ルックアップトランスフォーメーションに入力ポートを追加します。

4. 戻りポートを定義します。

5. ルックアップ条件を作成します。

6. ルックアップは式トランスフォーメーションから呼び出します。

手順1. 消費税ルックアップソースのモデルリポジトリへのインポート

ルックアップトランスフォーメーションを作成する前に、消費税ファイルがモデルリポジ

トリに含まれている必要があります。 このシナリオでは、消費税ファイルには

Sales_CountyとCounty_SalesTaxの2つのフィールドが含まれています。 Sales_Countyは

郡名を含む文字列です。 County_SalesTaxは、その郡の税率を含むdecimalフィールドで

す。 消費税率ファイルがルックアップソースです。

手順2. 接続されていないルックアップトランスレーションの作成

消費税フラットファイルのデータオブジェクトが含まれる、再利用可能なフラットファイ

ルルックアップトランスフォーメーションを作成します。 このシナリオでは、トランスフ

ォーメーション名はSales_Tax_Lookupです。 [複数一致]で[ 初の行を返す]を選択し

ます。

接続されていないルックアップの例 231

Page 253: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

手順3. ルックアップトランスフォーメーションのポートの定義

[概要]タブの[ポート]ビューで、ルックアップトランスフォーメーションのポートを

定義します。

ポートタイプ 名前 タイプ 長さ スケール

入力 In_County String 25

出力 SalesTax Decimal 3 3

手順4. ルックアップトランスフォーメーションの戻りポートの設定

戻りポートは、ルックアップが取得するフラットファイル内のフィールドです。 [カラ

ム]ビューのCounty_SalesTaxカラムが戻りポートです。

ルックアップがTrueの場合、Data Integration Serviceはフラットファイルソースで郡を

検索します。 Data Integration Serviceは、戻りポートに消費税の値を返します。 郡が

見つからない場合、ルックアップの結果はFalseとなり、戻りポートにNULLが返されます。

手順5. ルックアップ条件の定義

[ルックアップ]ビューで、ルックアップ条件を定義して、入力値をルックアップソース

の値と比較します。

ルックアップ条件を追加するには、[ルックアップカラム]をクリックします。

ルックアップ条件の構文は次のとおりです。

SALES_COUNTY = IN_COUNTY

手順6. 式トランスフォーメーションの作成

フラットファイルから販売レコードを受け取る式トランスフォーメーションを作成しま

す。 式トランスフォーメーションは、顧客番号、販売額、および販売した郡を受け取りま

す。 式トランスフォーメーションは、顧客番号、販売額、および消費税を返します。

式トランスフォーメーションは、以下のポートを備えています。

ポートタイプ 名前 タイプ 長さ 精度 デフォルト値

入力 County String 25 10

パススルー Customer String 10

パススルー SalesAmt Decimal 10 2

出力 SalesTax Decimal 10 2 0

SalesTaxポートには:LKP式が含まれています。 式は、Sales_Tax_Lookupトランスフォー

メーションを呼び出し、郡名をパラメータとして渡します。 Sales_Tax_Lookupトランスフ

ォーメーションは、消費税率を式に返します。 式トランスフォーメーションは、税率に販

売額を掛けます。

SalesTaxポートに以下の式を入力します。

(:LKP.Sales_Tax_Lookup(County) * SalesAmt)

SalesTaxポートには式の結果が含まれています。 ルックアップが失敗すると、ルックアッ

プトランスフォーメーションはNULLを返し、SalesTaxポートにはNULL値が含まれます。

SalesTaxポートにNULL値が含まれるかどうかを確認する式を追加できます。 SalesTaxが

NULLの場合はゼロを返すように、SalesTaxポートを設定できます。 NULL値が含まれるかど

うかを確認してゼロを返すには、以下のルックアップ式を追加します。

232 章 20: ルックアップトランスフォーメーション

Page 254: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

IIF(ISNULL(:LKP.Sales_Tax_Lookup(County) * SalesAmt),0, SalesTax)

接続されていないルックアップの例 233

Page 255: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 1 章

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

この章では、以下の項目について説明します。

¨ 一致トランスフォーメーションの概要, 234 ページ

¨ 重複分析の実行 , 235 ページ

¨ 一致トランスフォーメーションのプロセス, 236 ページ

¨ 一致トランスフォーメーションのコンポーネント, 237 ページ

¨ フィールド一致, 239 ページ

¨ ID一致, 244 ページ

¨ 一致マプレット, 249 ページ

¨ 一致操作の設定, 250 ページ

一致トランスフォーメーションの概要一致トランスフォーメーションは、入力レコード間の類似度を計算し、これらの計算の出

力データを生成するアクティブなトランスフォーメーションです。

レコード間の類似性の処理は、重複分析と呼ばれます。 一致トランスフォーメーションを

使用して、以下のタイプの重複分析を設定します。

フィールド一致

2つ以上のレコード内の類似データまたは重複データを検索します。

ID一致

複数のレコードで共有されるIDを検索します。

以下のタイプのデータプロジェクトでは、重複分析が必要な場合があります。

CRMプロジェクト

例えば、ある店舗が顧客に郵便物を発送する計画があり、重複する顧客レコードがな

いか顧客データベースを確認する必要があるとき。

234

Page 256: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

合併または買収

例えば、ある銀行が地域内の別の銀行を買収し、2つの銀行に共通の顧客がいるとき。

規制の準拠

例えば、すべてのデータシステムに重複レコードがないことを要求する、政府や業界

の規制下で事業が運営されているとき。

注: ID一致操作は、さまざまなタイプのIDを定義した、ポピュレーションと呼ばれる参照

データファイルを読み取ります。 これらのファイルは、Informaticaアプリケーションと

一緒にインストールされません。 ポピュレーションデータファイルをダウンロードし、

Data Qualityコンテンツインストーラを使用してインストールする必要があります。 使用

しているシステムで利用可能なポピュレーションについては、Informatica管理者にお問い

合わせください。

重複分析の実行重複分析処理の複雑さは、データセットのサイズと構造、およびプロジェクトの目的によ

って異なります。 個別のフィールドとIDのどちらを選択するかどうかによっても異なりま

す。

一致トランスフォーメーションを単独で使用するプロセス、またはいくつかのトランスフ

ォーメーションを使用するプロセスを定義できます。 プロセスのすべての側面に対応する

ために、1つ以上のマプレットまたはマッピングを作成できます。

一致トランスフォーメーションに一致マプレットを埋め込むこともできます。 一致マプレ

ットでは、一致トランスフォーメーションの代わりに比較トランスフォーメーションおよ

び加重平均トランスフォーメーションを使用します。 一致トランスフォーメーションにマ

プレットを埋め込む前に、そのマプレットを検証する必要があります。

プロセスには、以下の作業の一部またはすべてを含める必要があります。

¨ データセットをレコードのグループに整理します。 これにより、大きなデータセット

の処理時間が短縮されます。

これらのグループを定義するには、キージェネレータトランスフォーメーションを使用

します。 キージェネレータでは、グループごとにグループのキー値が作成されます。

データにシーケンスIDが存在しない場合は、キージェネレータトランスフォーメーショ

ンを使用して作成します。

¨ 比較するカラムを選択し、そのカラムに1つ以上の重複分析ストラテジを割り当てま

す。 これは、一致トランスフォーメーションまたは比較トランスフォーメーションで

行うことができます。 各一致操作のトランスフォーメーションを含む一致ルールを作

成する場合は、比較トランスフォーメーションを使用します。 1つのトランスフォーメ

ーションの一致操作を定義するには、一致トランスフォーメーションを使用します。

フィールド一致では、各ペアを個別に選択します。 ID一致では、選択したID一致スト

ラテジによって、使用可能なフィールドのペアが定義されます。

¨ 一致しきい値を設定し、一致ストラテジの結果の一致スコアを計算します。 これは、

一致トランスフォーメーションまたは加重平均トランスフォーメーションで行うことが

重複分析の実行 235

Page 257: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

できます。 一致マプレットを作成する場合は、加重平均トランスフォーメーションを

使用します。

¨ 一致分析結果表示方法を選択します。 [照合出力]ビューで[クラスタ]、[一致ペ

ア]、または[ 良の一致]を選択します。

一致トランスフォーメーションのプロセス一致プロセスを定義し、それを入力データに適用するには、実行する一致操作のタイプの

選択、一致ストラテジの設定、分析するデータカラムの選択、および出力の定義を行いま

す。

一致プロセスを定義するときは、以下の点について考慮してください。

¨ レコードは、1つのデータセット内、または2つのデータセットにわたって分析できま

す。 一致トランスフォーメーションは、各入力カラムのコピーを2つ作成することでこ

の処理を可能にします。 1つのデータセット内の重複を検索するには、カラムの複製さ

れたコピーを選択します。 2つのデータセットにわたって重複を検索するには、各デー

タセットから一意のカラムを選択します。 一致トランスフォーメーションでは複数の

ペアを照合することができます。

¨ 一致トランスフォーメーションには、さまざまな方法で値を比較する比較ストラテジの

セットが含まれます。 比較するフィールドとそのフィールドに適用するストラテジの

タイプを選択します。

¨ 一致ストラテジは、1つのカラム内のすべての値を別のカラム内のすべての値と比較

し、それぞれの値のペア間の類似度を0~1の数値で算出します。 これが一致スコアで

す。 スコアは小数値で、スコア1は値が完全に一致することを示します。

注: 一致トランスフォーメーションには、ストラテジの定義に使用するウィザードが用

意されています。

¨ 定義したすべての一致ストラテジが一致スコアを生成します。つまり、一致トランスフ

ォーメーションでは、1つのレコードの値に関連する複数のスコアを生成できます。 一

致トランスフォーメーションは異なるレコード間の類似度を示す平均一致スコアを計算

し、これによって も類似しているレコードを特定できます。

¨ 一致トランスフォーメーションが一致スコアを計算する方法を変更するには、各カラム

ペアからの出力に数値の加重を適用します。 例えば、重複する姓は重複する名よりも

関連性が高いと判断し、それに従って一致スコアを増減することができます。

¨ 一致スコアの一致しきい値を設定するには、一致トランスフォーメーションを使用しま

す。 一致しきい値は、2つのレコードを重複候補と判断するために必要な 小類似度で

す。

236 章 21: 一致トランスフォーメーション

Page 258: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

一致トランスフォーメーションのコンポーネント

一致トランスフォーメーションのコンポーネントにはビューとポートがあります。 ビュー

とポートを設定して、一致操作を定義します。

一致トランスフォーメーションのビュー

一致操作を設定するには、一致トランスフォーメーションのビューを使用します。

一致操作の設定時には、以下のビューを設定できます。

一致タイプ

トランスフォーメーションが実行する重複分析のタイプを選択します。 1つまたは2つ

のデータセットのフィールド一致またはID一致を選択できます。

ストラテジ

一致させるデータカラムを選択し、カラムに適用する一致ストラテジを設定します。

照合出力

重複分析結果の形式を設定します。

詳細

トランスフォーメーションがセッションログに書き込む詳細度を設定します。

ランタイム中にID一致操作が使用するプロセス数を設定します。

一致トランスフォーメーションのポート

一致トランスフォーメーションには、一致操作に関連するデータの定義済み入出力ポート

が含まれています。

入力ポート

一致トランスフォーメーションの入力ポートは、トランスフォーメーションが一致操作に

必要とするデータを提供します。 一致トランスフォーメーションの作成後、以下の入力ポ

ートを設定できます。

SequenceId

ソースデータセット内の各レコードを一意に特定するIDを指定します。 データセット

に一意のIDが存在しない場合は、キージェネレータトランスフォーメーションを使用

して作成します。

GroupKey

一致トランスフォーメーションがレコードの処理に使用するグループキーを指定しま

す。 ID一致およびフィールド一致ではグループキーを使用できます。 グループキー

とシーケンスIDのフィールドは、必ず同じトランスフォーメーションから選択しま

す。

注: 一致速度を向上させるには、GroupKey入力ポートと、それに接続するGroupKey出

力ポートの両方に同じ[精度]を設定します。

一致トランスフォーメーションのコンポーネント 237

Page 259: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

出力ポート

一致トランスフォーメーションの出力ポートは、トランスフォーメーションが実行する重

複分析に関する情報を提供します。 一致トランスフォーメーションの作成後、以下の出力

ポートを設定できます。

ClusterId

レコードが属しているクラスタのID。 [クラスタ]照合出力で使用されます。

グループキー

レコードのグループキー。

ClusterSize

レコードが属しているクラスタ内のレコード数。 他のレコードと一致しないレコード

のクラスタサイズは1です。 [クラスタ]照合出力で使用されます。

RowIdおよびRowId1

レコードの一意な行ID。 このIDは一致トランスフォーメーションによって作成されま

す。 このIDは、入力データ内の行番号と一致しない場合があります。

DriverId

クラスタ内のドライバレコードの行ID。 ドライバレコードは、クラスタに追加される

終レコードです。 [クラスタ]照合出力で使用されます。

DriverScore

レコードとそのクラスタ内のドライバレコード間の一致スコア。

LinkId

現在のレコードと一致し、現在のレコードをクラスタに追加したレコードの行ID。

[クラスタ]照合出力で使用されます。

LinkScore

クラスタの作成またはクラスタへのレコードの追加を行う2つのレコード間の一致スコ

ア。 [クラスタ]照合出力で使用されます。

注: 一致プロセスは、定義したストラテジごとにスコアを1セット生成します。

DriverScoreおよびLinkScoreの値は、異なるレコードペア間の類似度を表し、さまざまな

タイプの情報を提供します。

LinkScoreは、クラスタのコンテンツを定義します。 LinkScoreは、一致しきい値を超えて

いる必要があります。

DriverScoreはLinkScoreよりも高い場合と低い場合があり、一致しきい値を下回る場合が

あります。

238 章 21: 一致トランスフォーメーション

Page 260: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

フィールド一致2つ以上のレコード内の類似データまたは重複データを検索するには、フィールド一致を使

用します。

フィールド一致操作は、2つのデータフィールドの値を比較し、それらの類似性を計算しま

す。 フィールド一致に対して一致トランスフォーメーションを設定するときは、入力デー

タから2つ以上のカラムペアを選択します。

フィールド一致ストラテジ

一致トランスフォーメーションには、データ値のペアを比較する定義済みのフィールド一

致ストラテジが含まれます。

バイグラム

バイグラムストラテジは、郵便アドレスが1つのフィールドに入力されている場合など、長

いテキスト文字列を比較する場合に使用します。

バイグラムアルゴリズムでは、2つのデータ文字列の一致スコアを、両方の文字列に含まれ

る連続した文字に基づいて計算します。 両方の文字列に共通する連続した文字のペアを探

し、一致する文字のペアの数を文字のペアの総数で割ります。

バイグラムの例

次の文字列について考えてみます。

¨ larder

¨ lerder

これらの文字列をバイグラムのグループに分けると次のようになります。

l a, a r, r d, d e, e r

l e, e r, r d, d e, e r

文字列"lerder"の2つ目の"e r"は一致と見なされません。文字列"larder"には文字列"e r"が1

つしかなく、2つ目に対応するものはないからです。

バイグラムの一致スコアを計算するには、一致するペアの数(6)を両方の文字列のペアの

総数(10)で割ります。 この例では、文字列の類似度は60%で、一致スコアは0.60になりま

す。

ハミング距離

ハミング距離ストラテジは、電話番号、郵便番号、製品コードなどの数値フィールドやコ

ードフィールドのように、データ文字の位置が重要な要素である場合に使用します。

ハミング距離アルゴリズムでは、2つのデータ文字列の一致スコアを、データ文字列間で文

字が異なる位置の数に基づいて計算します。 長さが異なる文字列の場合、長い方の文字列

にしかない各文字は文字列間の相違としてカウントされます。

フィールド一致 239

Page 261: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ハミング距離の例

次の文字列について考えてみます。

¨ Morlow

¨ Marlowes

強調表示された文字は、ハミングストラテジで相違と見なされる位置を示しています。

ハミングの一致スコアを計算するには、一致する文字の数(5)を長い方の文字列の文字数

(8)で割ります。 この例では、文字列の類似度は62.5%で、一致スコアは0.625になりま

す。

エディット距離

エディット距離ストラテジは、単語や短いテキスト文字列(名前など)を比較する場合に

使用します。

エディット距離アルゴリズムでは、文字列を別の文字列に変換するために文字の挿入、削

除、または置き換えが必要な 小限の「コスト」を計算します。

エディット距離の例

次の文字列について考えてみます。

¨ Levenston

¨ Levenshtein

強調表示された文字は、文字列をもう一方の文字列に変換するために処理が必要な部分を

示しています。

エディット距離アルゴリズムでは、変更されない文字の数(8)を長い方の文字列の文字数

(11)で割ります。 この例では、文字列の類似度は72.7%で、一致スコアは0.727になりま

す。

Jaro距離

Jaro距離ストラテジは、2つの文字列を比較するときに、文字列内の 初の文字の類似度を

優先する場合に使用します。

Jaro距離の一致スコアには、両方の文字列の 初の4文字の一致度、および識別された文字

の転置の数が反映されます。 初の4文字の一致の重要度に、[ペナルティ]プロパティ

に入力した値を使用して重みが設定されます。

Jaro距離のプロパティ

Jaro距離ストラテジを設定するときは、次のプロパティを設定できます。

ペナルティ

比較する2つの文字列内の 初の4文字が同一でない場合の一致スコアのペナルティを

指定します。 初の文字が一致しない場合は、ペナルティの値がそのまま減算されま

す。 それ以外の文字が異なる場合は、その位置に基づいてペナルティの端数が減算さ

れます。 デフォルトのペナルティ値は0.20です。

240 章 21: 一致トランスフォーメーション

Page 262: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

大文字小文字の区別

Jaro距離ストラテジで一致を行うときに大文字と小文字を区別するかどうかを指定し

ます。

Jaro距離の例

次の文字列について考えてみます。

¨ 391859

¨ 813995

デフォルトのペナルティ値である0.20を使用してこれらの文字列を分析した場合、Jaro距離

ストラテジで返される一致スコアは0.513になり、 文字列の類似度は51.3%となります。

ハミング距離の反転

ハミング距離の反転ストラテジは、2つの文字列間で文字が異なる位置の割合を、文字を右

から左の順に読み取って計算する場合に使用します。

ハミング距離アルゴリズムでは、2つのデータ文字列の一致スコアを、データ文字列間で文

字が異なる位置の数に基づいて計算します。 長さが異なる文字列の場合、長い方の文字列

にしかない各文字は文字列間の相違としてカウントされます。

ハミング距離の反転の例

次の文字列について考えてみます。この文字列では、ハミングの反転ストラテジについて

説明するために右から左の順に文字を配置しています。

¨ 1-999-9999

¨ 011-01-999-9991

強調表示された文字は、ハミング距離の反転ストラテジで相違と見なされる位置を示して

います。

ハミングの反転の一致スコアを計算するには、一致する文字の数(9)を長い方の文字列の

文字数(15)で割ります。 この例では、一致スコアは0.6になり、文字列の類似度は60%と

なります。

フィールド一致ストラテジのプロパティ

各フィールド一致ストラテジに対してプロパティを設定します。

フィールド一致ストラテジの設定時には、以下のプロパティを設定できます。

NULL一致

一方の入力値がNullであるときの一致スコアを決定します。

両方のNULL一致

両方の入力値がNullであるときの一致スコアを決定します。

フィールド一致 241

Page 263: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

フィールド一致出力のプロパティ

[照合出力]のプロパティを設定して、フィールド一致操作の出力を制御します。

フィールド一致の設定時には、[照合出力のタイプ]および[プロパティ]領域の設定を

構成できます。

[照合出力のタイプ]の設定

以下のいずれかの照合出力タイプを選択します。

クラスタ

クラスタ内の一致ペアを出力します。

一致ペア

一致しきい値を超えるすべての出力ペアを出力します。

良の一致(デュアルソース照合)

マスタデータセット内の各行に対して 良の一致を出力します。

プロパティの設定

照合出力タイプの選択後、以下のプロパティを設定できます。

キャッシュディレクトリ

フィールド一致キャッシュを格納するディレクトリを指定します。 Data

Integration serviceにこのディレクトリへの書き込み権限がある必要がありま

す。 マッピングの実行前に、このディレクトリがディレクトリ構造に存在してい

る必要があります。

キャッシュサイズ

一致トランスフォーメーションが一致操作の処理に使用できるシステムメモリの

量をバイト単位で割り当てます。 一致トランスフォーメーションは、可能なかぎ

りシステムメモリを使用して処理を実行します。 システムメモリのキャッシュが

一杯になると、トランスフォーメーションは指定されたキャッシュディレクトリ

に書き込みます。

しきい値

一致トランスフォーメーションでレコードをクラスタに整理するために使用する

小一致率を設定します。あるレコードがあるクラスタに入るためには、そのレ

コードがクラスタ内の少なくとも1つのレコードに、しきい値以上の一致スコアで

リンクしている必要があります。

スコアリング方法

トランスフォーメーション出力に表示される一致スコアタイプを決定します。 ク

ラスタ一致出力にのみ使用されます。 このプロパティのデフォルト設定は、[リ

ンクスコア]です。 [ドライバスコア]または[両方]のいずれかを選択した場合は、処

理時間が大幅に増える可能性があります。

242 章 21: 一致トランスフォーメーション

Page 264: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

デュアルソースのフィールド一致プロパティ

デュアルソースのフィールド一致操作では、[一致タイプ]ビューで[マスターデータセ

ット]プロパティを設定します。

2つのデータソースを使用するときは、一方のデータソースをマスタデータセットとして選

択する必要があります。 どちらのデータソースもマスタデータセットでない場合は、どち

らのデータソースをマスタとして選択してもかまいません。

フィールド一致の詳細プロパティ

Data Integration Serviceで一致トランスフォーメーションのデータがどのように処理さ

れるかを特定するためのプロパティを設定します。

[詳細]ビューでは、以下のプロパティを設定します。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

フィールド一致 243

Page 265: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ID一致複数のレコードで共有されるIDを検索するには、ID一致を使用します。

IDは、複数の値の組み合わせで個人または組織の識別に十分な情報を提供する、レコード

内のデータ値の集まりです。レコードの重複を示すID一致もあれば、 共有される家族IDや

共有される従業員IDなど、レコード間のつながりを示すID一致もあります。

ID一致に対して一致トランスフォーメーションを設定する場合、IDストラテジで入力ポー

トをすべてのプライマリ必須フィールドに接続する必要があります。ほとんどのIDストラ

テジにはプライマリ必須フィールドが含まれます。家族および個人IDストラテジには、セ

カンダリ必須フィールドも含まれます。入力ポートを少なくとも1つのセカンダリ必須フィ

ールドに接続する必要があります。

ID一致タイプのプロパティ

ID一致タイプのプロパティを設定し、レコードを分析してIDの一致を検出します。

ID一致タイプの設定時には、以下のプロパティを設定できます。

ポピュレーション

ロケールおよび言語用にカスタマイズされたキー構築アルゴリズムを含む参照データ

ファイルを決定します。

キーレベル

ID一致アルゴリズムによって生成されるキーの数を決定します。デフォルトの設定は

[標準]です。 [限定]設定を選択すると、キーの数が減って精度が高くなります

が、処理時間は長くなります。 [拡張]設定を選択すると、キーの数が増えて精度は

低くなりますが、処理時間は短くなります。

キータイプ

キーフィールドに含まれるデータのカテゴリを表します。ID一致では、個人名、組

織、および住所のキーを生成できます。 [キーフィールド]プロパティに選択したカ

ラムを もよく表すキータイプを選択します。

検索レベル

検索品質と検索速度のバランスを示します。検査速度は、返される一致数に反比例し

ます。 例えば、[高]オプションが返す一致は少なくなります。

キーフィールド

一致トランスフォーメーションでグループキーの生成に使用するカラムを指定しま

す。選択したカラムに[キータイプ]オプションで指定した種類のデータが含まれる

ことを確認してください。

インデックスフォルダ

一致トランスフォーメーションがIDキーインデックスを書き込むディレクトリを指定

します。 Data Integration serviceにこのディレクトリへの書き込み権限がある必

要があります。

244 章 21: 一致トランスフォーメーション

Page 266: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

注: このプロパティは、[インデックスフォルダ]の親ディレクトリへのパスを指定

します。 ID一致プロセスは、このパスにディレクトリを作成してインデックスファイ

ルを書き込み、マッピングの完了時にディレクトリを削除します。

キャッシュディレクトリ

ID一致キャッシュを格納するディレクトリを指定します。Data Integration service

にこのディレクトリへの書き込み権限がある必要があります。

注: マッピングの実行前に、このディレクトリがディレクトリ構造に存在している必

要があります。

マスターデータセット

マスタデータを含むデータソースを指定します。デュアルソース一致で使用されま

す。

IDマッチングストラテジ

一致トランスフォーメーションには、データ値のペアを比較する定義済みのID一致ストラ

テジが含まれます。

以下の表に、各ID一致ストラテジの一致操作と必要な入力項目を示します。

ID一致

ストラ

テジ

一致操作 プライマリ必須入力 セカンダリ必須

入力

(1つ以上選

択)

住所 住所を共有するレコード

を特定します。

住所

担当者 1つの組織の場所にいる担

当者を共有するレコード

を特定します。

Person_Name

Organization_Name

Address_Part1

法人 組織データを共有するレ

コードを特定します。 必

要に応じて、住所と電話

番号のデータを分析する

ようにこのストラテジを

設定します。

Organization_Name

除算 特定の住所にある組織の

オフィスを共有するレコ

ードを特定します。

Organization_Name

Address_Part1

家族 名前、住所、および電話

番号のデータを分析する

ことによって、ある家族

のメンバーを特定しま

す。

Person_Name Address_Part1

Telephone

Number

ID一致 245

Page 267: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ID一致

ストラ

テジ

一致操作 プライマリ必須入力 セカンダリ必須

入力

(1つ以上選

択)

フィー

ルド

選択したカスタムフィー

ルドのデータを共有する

レコードを特定します。

該当なし

世帯 名前データと住所データ

を分析することによっ

て、ある世帯の構成員を

特定します。

Person_Name

Address_Part1

個人 名前、誕生日、およびID

データを分析することに

よって、重複する個人を

特定します。 IDの例とし

ては、社会保障番号、口

座番号、車両ID番号など

があります。

Person_Name Date

ID

組織 組織データを共有するレ

コードを特定します。

Organization_Name

個人名 名前データを分析するこ

とによって、重複する個

人を特定します。

Person_Name

住居 ある住所の重複する個人

を特定します。 必要に応

じて、ID情報を分析する

ようにこのストラテジを

設定します。

Person_Name

Address_Part1

担当者

(広

域)

ある組織の担当者を共有

するレコードを特定しま

す。

Person_Name

Organization_Name

世帯

(広

域)

同じ世帯に属する個人を

特定します。

Address_Part1

ID一致ストラテジのプロパティ

各IDストラテジのプロパティを設定します。

ID一致ストラテジの設定時には、以下のストラテジプロパティを設定できます。

ポピュレーション

ID一致に適用するポピュレーションを決定します。 ポピュレーションには、特定のロ

ケールと言語のキー構築アルゴリズムが含まれます。

246 章 21: 一致トランスフォーメーション

Page 268: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

照合レベル

検索品質と検索速度のバランスを決定します。 検査速度は、返される一致数に反比例

します。 [ルーズ]設定が使用される検索が返す一致は少ないのに対して、[保守的]設

定が使用される検索が返す一致は多くなります。

ID一致出力のプロパティ

[照合出力]のプロパティを設定して、ID一致操作の出力を制御します。

ID一致の設定時には、[照合出力のタイプ]および[プロパティ]領域の設定を構成でき

ます。

[照合出力のタイプ]の設定

以下のいずれかの照合出力タイプを選択します。

クラスタ

ID一致クラスタを出力します。

一致ペア

一致しきい値を超えるすべての出力ペアを出力します。

良の一致(デュアルソース照合のみ)

マスタデータセット内の各行に対して 良の一致を出力します。

プロパティの設定

照合出力タイプの選択後、以下のプロパティを設定できます。

キャッシュディレクトリ

一致トランスフォーメーションが一時ファイルを書き込むディレクトリを決定し

ます。

キャッシュサイズ

一致トランスフォーメーションが一致操作の処理に使用できるシステムメモリの

量をバイト単位で割り当てます。 一致トランスフォーメーションは、可能なかぎ

りシステムメモリを使用して処理を実行します。 システムメモリのキャッシュが

一杯になると、トランスフォーメーションは指定されたキャッシュディレクトリ

に書き込みます。

しきい値

一致トランスフォーメーションでレコードをクラスタに整理するために使用する

小一致率を設定します。あるレコードがあるクラスタに入るためには、そのレ

コードがクラスタ内の少なくとも1つのレコードに、しきい値以上の一致スコアで

リンクしている必要があります。

IDマッチングの詳細プロパティ

Data Integration Serviceで一致トランスフォーメーションのデータがどのように処理さ

れるかを特定するためのプロパティを設定します。

[詳細]ビューでは、以下のプロパティを設定します。

ID一致 247

Page 269: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

実行インスタンス数

トランスフォーメーションで実行時に使用するスレッド数を決定します。実行インス

タンス数の値を増やすと、一致のパフォーマンスが向上します。同時一致マッピング

を実行する必要がある場合、またはIntegration Serviceの負荷が高い場合は、この

プロパティを編集します。実行インスタンス数の値は、CPUコアの数より少なくしま

す。デフォルトは1です。

一致トランスフォーメーションをPowerCenterにエクスポートする場合、Developerツ

ールは実行インスタンスプロパティで設定した値に従って、一致トランスフォーメー

ションを複数のトランスフォーメーションに分割します。Developerツールは一致トラ

ンスフォーメーションごとに実行ポイントトランスフォーメーションも作成します。

グリッドに対して一致トランスフォーメーションを実行するには、パーティションポ

イントを実行ポイントトランスフォーメーションに設定します。

248 章 21: 一致トランスフォーメーション

Page 270: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

一致マプレット一致マプレットは、一致トランスフォーメーション内で作成して一致トランスフォーメー

ションに埋め込むことができるマプレットのタイプです。

一致マプレットを作成するには、一致トランスフォーメーションの設定を一致マプレット

として保存します。 一致マプレットを作成する場合は、一致トランスフォーメーションの

設定を比較トランスフォーメーションおよび加重平均トランスフォーメーションに変換し

ます。

一致マプレットの作成後、トランスフォーメーションを追加して一致プロセスをカスタマ

イズできます。 例えば、2つのストラテジのリンクスコアを評価する式トランスフォーメ

ーションを追加し、一番高いスコアを選択することができます。

一致トランスフォーメーションと違って一致マプレットはパッシブで、Analystツール内の

ルールとして使用できます。 Analystツールで一致マプレットを使用し、データプロファ

イリングプロセスの一部としてレコードを一致させます。

一致トランスフォーメーションは、一致トランスフォーメーション内から作成された一致

マプレットのみを読み取ることができます。

一致マプレットの作成

一致マプレットを作成して、複数の一致トランスフォーメーションおよびマッピング内で

一致操作を再利用します。

1. エディタで一致トランスフォーメーションを開き、[ストラテジ]ビューを選択しま

す。

2. [照合ルールを使用]を選択します。

3. [名前]フィールドで、[新規作成]を選択します。

[新しいマプレット]ウィンドウが開きます。

4. [新しいマプレット]ウィンドウで、マプレットの名前を入力し、マプレットを保存

する場所を選択します。

5. 必要に応じて[一致トランスフォーメーションのストラテジを再利用]を選択し、入

力、一致ストラテジ、および加重を現在の一致トランスフォーメーションから一致マ

プレットにコピーします。

注: この設定の使用して、一致トランスフォーメーションに現在定義されている一致

機能を複製する一致マプレットを短時間で作成することをお勧めします。

6. [完了]をクリックします。

一致マプレットがエディタに表示されます。

7. 必要に応じて、一致マプレット内で比較トランスフォーメーションと加重平均トラン

スフォーメーションを追加および設定することによって、一致操作を作成します。

8. [ファイル] > [保存]をクリックして、マッピングを保存します。

9. マプレットを閉じ、一致トランスフォーメーションを含むエディタを選択します。 作

成したマプレットが[名前]フィールドに表示されていることを確認します。

10. 必要に応じて、[照合フィールド]ボタンをクリックしてマプレット内の照合フィー

ルドを設定します。

一致マプレット 249

Page 271: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

[照合ルールの設定]ウィンドウが開きます。

11. [入力フィールド]および[使用可能な入力]カラム内のフィルードをダブルクリッ

クして、入力ポートを一致入力に割り当てます。

12. [ファイル] > [保存]をクリックして、トランスフォーメーションを保存しま

す。

一致マプレットの使用

以前に定義された一致マプレットを一致トランスフォーメーションで選択および設定でき

ます。

1. エディタで一致トランスフォーメーションを開き、[ストラテジ]ビューを選択しま

す。

2. [照合ルールを使用]を選択します。

3. [名前]フィールドで、[既存を使用]を選択します。

[照合ルールの設定]ウィンドウが開きます。

4. [参照]をクリックして、リポジトリ内の一致マプレットを探します。

重要: 選択できるのは、一致トランスフォーメーションによって作成されたマプレッ

トのみです。

[照合マプレットの選択]ウィンドウが開きます。

5. 一致マプレットを選択し、[OK]をクリックします。

6. [入力フィールド]および[使用可能な入力]カラム内のフィルードをダブルクリッ

クして、入力ポートを一致入力に割り当てます。

7. [OK]をクリックします。

[照合ルールの設定]ウィンドウが閉じます。

8. [ファイル] > [保存]をクリックして、一致トランスフォーメーションを保存し

ます。

一致操作の設定一致操作を設定するには、ソースデータを一致トランスフォーメーションに接続し、トラ

ンスフォーメーションのビューでプロパティを編集します。

1. 一致トランスフォーメーションを作成し、ソースデータをトランスフォーメーション

に接続します。

2. [一致タイプ]ビューを選択し、一致タイプを選択します。

3. 選択した一致プロセスのタイプのプロパティを設定します。

デュアルソース一致タイプを選択した場合は、[マスターデータセット]プロパティ

を設定します。

4. [ストラテジ]ビューを選択し、[照合ストラテジの定義]を選択します。

250 章 21: 一致トランスフォーメーション

Page 272: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

5. [新規]をクリックします。

新しい照合ストラテジウィザードが開きます。

6. 一致ストラテジを選択し、[次へ]をクリックします。

7. 必要に応じて、[ウェイト]、[NULL一致]、および[両方のNULL一致]の設定を編

集します。 [次へ]をクリックします。

8. [使用可能]カラムのセルをダブルクリックして、分析する入力ポートを選択しま

す。

[次へ]をクリックして別のストラテジを設定するか、[完了]をクリックしてウィ

ザードを終了します。

注: ストラテジの設定を編集するには、[ストラテジ]ビューでそのストラテジのセ

ル内の矢印をクリックします。

9. [照合出力]ビューを選択します。

照合出力タイプを選択し、そのプロパティを設定します。

注: [ストラテジ]ビューで一致マプレットを選択または編集することによって、一致ス

トラテジを設定することもできます。 一致マプレットは、一致トランスフォーメーション

に埋め込むことができるマプレットのタイプです。

一致操作の設定 251

Page 273: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 2 章

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

この章では、以下の項目について説明します。

¨ マージトランスフォーメーションの概要, 252 ページ

¨ マージストラテジの設定, 252 ページ

マージトランスフォーメーションの概要マージトランスフォーメーションは、複数の入力カラムからデータ値を読み取り、1つの出

力カラムを作成するパッシブトランスフォーメーションです。

マージトランスフォーメーションを使用して、望ましい形式でデータを作成します。 例え

ば、Customer_FirstnameフィールドとCustomer_Surnameフィールドを結合して、

Customer_FullNameというフィールドを作成できます。

マージトランスフォーメーション内では、複数の統合ストラテジを作成できます。 マージ

トランスフォーメーションには、ストラテジの作成に使用するウィザードが用意されてい

ます。

マージストラテジの設定マージストラテジを設定するには、マージトランスフォーメーションの[ストラテジ]ビ

ューで設定を編集します。

1. [ストラテジ]ビューを選択します。

2. [新規]をクリックします。

新しいストラテジ ウィザードが開きます。

3. [入力]フィールドをクリックして、ストラテジの入力ポートを選択します。

252

Page 274: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

4. マージされた項目間に配置するマージ文字を定義するには、[選択]をクリックしま

す。 マージ文字を選択しなかった場合は、デフォルトでスペース文字が使用されま

す。

5. 必要に応じて、[マージされた出力に空の文字列を含める]を選択して、出力に空の

入力文字列を含めます。

6. [完了]をクリックします。

マージストラテジの設定 253

Page 275: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 3 章

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

この章では、以下の項目について説明します。

¨ パーサートランスフォーメーションの概要, 254 ページ

¨ パーサートランスフォーメーションの設計, 255 ページ

¨ トークン解析モード, 255 ページ

¨ パターンベースの解析モード, 258 ページ

パーサートランスフォーメーションの概要パーサートランスフォーメーションは、特定の情報カテゴリの新しいフィールドを作成

し、これらのフィールドに入力データを解析するパッシブトランスフォーメーションで

す。

パーサートランスフォーメーションは、以下のカテゴリに従ってデータを解析します。

解析されたデータ

ユーザー定義のトークンまたはパターンに一致します。

オーバーフローデータ

ユーザー定義のトークンまたはパターンに一致しますが、トランスフォーメーション

はデータを出力に割り当てることができません。

未解析のデータ

ユーザー定義のトークンまたはパターンに一致しません。

254

Page 276: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

パーサートランスフォーメーションの設計パーサートランスフォーメーションを作成するときは、トークン解析モードまたはパター

ンベースの解析モードのいずれかを選択します。

¨ トークン解析モード: トークンセット、正規表現、または参照テーブルのエントリに一

致する個別の文字列を解析するストラテジを作成するには、このモードを使用します。

トランスフォーメーションでは、複数のトークン解析ストラテジを使用できます。

¨ パターンベースの解析モード: 複数の文字列からなるパターンを解析するには、このモ

ードを使用します。 カスタムパターンを入力することも、トランスフォーメーション

を設定して参照テーブルからパターンを読み込むこともできます。 パターンベースの

解析モードでは、ラべラートランスフォーメーションからの出力が入力として必要で

す。

どちらのモードで解析操作を実行する場合も、参照テーブルまたはコンテンツ式を選択し

ます。 コンテンツ式とは、ラベラトランスフォーメーションやパーサートランスフォーメ

ーションでデータを識別するために使用できる式です。

パーサートランスフォーメーションでは、以下のタイプのコンテンツ式を使用できます。

¨ パターンセット

¨ 正規表現

¨ トークンセット

コンテンツ式は、システム定義のものとユーザー定義のものがあります。 ユーザー定義の

コンテンツ式は、再利用可能にすることも再利用不可にすることもできます。

トークン解析モードトークン解析モードでは、トークンセット、正規表現、または参照テーブルのエントリに

一致する文字列が解析されます。

トークン解析を実行するには、トランスフォーメーションの[ストラテジ]ビューでスト

ラテジを追加します。 ストラテジごとに1つ以上の操作を追加できます。 トランスフォー

メーションには、ストラテジの作成に使用するウィザードが用意されています。

トークン解析ストラテジには、以下のタイプの操作を追加できます。

トークンセットを使用した解析

組み込みまたはユーザー定義のトークン定義を使用して、入力データを解析します。

Informatica Developerに含まれる組み込みトークンセットから選択できます。 トー

クンセットの例としては、単語、郵便番号、電話番号などがあります。 トークンセッ

ト操作では、1つ以上の出力に書き込むカスタム正規表現も使用できます。

参照テーブルを使用した解析

参照テーブルのエントリを使用して、入力データを解析します。

操作はストラテジに示された順序で実行されます。

パーサートランスフォーメーションの設計 255

Page 277: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

正規表現

解析操作における正規表現とは、入力データ内の1つ以上の文字列を特定するために使用で

きる式です。 特定された文字列が1つ以上の出力ポートに書き込まれます。 正規表現は、

トークン解析モードを使用するパーサートランスフォーメーションで使用できます。

パーサートランスフォーメーションでは、正規表現を使用して入力データのパターンを一

致させ、一致するすべての文字列を1つ以上の出力に解析します。 例えば、正規表現を使

用して入力データに含まれるすべての電子メールアドレスを識別し、電子メールアドレス

の構成要素ごとに異なる出力に解析することができます。

トークンセット

トークンセットには、特定のトークンを識別する式が含まれます。 トークンセットは、ト

ークン解析モードを使用するパーサートランスフォーメーションで使用できます。

トークンセットを使用して、解析操作の一部として特定のトークンを特定します。 例え

ば、トークンセットを使用して、「AccountName@DomainName」形式が使用されるすべての

電子メールアドレスを解析することができます。

トークン解析ポート

トークン解析ポートをデータに適した設定で構成します。

トークン解析モードのパーサートランスフォーメーションには、以下のポートタイプがあ

ります。

入力

パーサートランスフォーメーションに渡すデータが含まれます。 [ストラテジ]タブ

で指定された[結合文字の入力]を使用して、すべての入力ポートがマージされて1つ

のデータ文字列に結合されます。 入力の結合文字を指定しなかった場合は、デフォル

トでスペース文字が使用されます。

解析された出力ポート

正常に解析された文字列が含まれるユーザー定義の出力ポート。 複数の解析文字列で

同じ出力が使用されている場合は、[ストラテジ]タブで指定された[結合文字の出

力]を使用して、組み合わされたデータ文字列に出力がマージされます。 結合文字の

出力を指定しなかった場合は、デフォルトでスペース文字が使用されます。

オーバーフロー

トランスフォーメーションで定義された出力数に収まらない、正常に解析された文字

列が含まれます。 例えば、トランスフォーメーションに2つの「WORD」出力のみがあ

る場合、文字列「John James Smith」は「Smith」というオーバーフロー出力になりま

す。 追加するストラテジごとにオーバーフローポートが作成されます。

未解析

トランスフォーメーションで正常に解析できない文字列が含まれます。 追加するスト

ラテジごとに未解析ポートが作成されます。

256 章 23: パーサートランスフォーメーション

Page 278: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トークン解析のプロパティ

トークン解析のプロパティには、ストラテジプロパティと操作プロパティがあります。 こ

れらのプロパティは、[ストラテジ]ビューで設定します。

ストラテジのプロパティ

ストラテジのプロパティは、ストラテジ内のすべての操作に適用されます。 設定できるス

トラテジのプロパティを次に示します。

¨ 結合文字の入力: 入力データポートの結合に使用される文字を指定します。 すべての

入力ポートがマージされて1つの文字列に結合され、この文字列が全体として解析され

ます。

¨ 結合文字の出力: 複数の解析操作で同じ出力が使用されているときに出力データの結合

に使用される文字を指定します。

¨ 反転有効: 右から左にデータを解析するようにストラテジを設定します。

¨ オーバーフローの反転有効: 右から左にオーバーフローデータを解析するようにストラ

テジを設定します。

¨ 詳細なオーバーフローが有効: 解析操作ごとに一意のオーバーフローフィールドを作成

します。

¨ 区切り文字: 入力データを別々のトークンに区切る区切り文字を決定します。 区切り

文字を選択しなかった場合は、デフォルトでスペース区切り文字が使用されます。

操作のプロパティ

操作プロパティは、単一の操作に適用されます。 以下のタイプの操作に対してプロパティ

を設定できます。

トークンセット操作

トークンセットを使用して入力を解析するには、[トークンセットを使用した解析]

操作を選択します。 トークン定義操作には以下のプロパティを設定できます。

¨ トークンセットの選択: 操作が解析に使用するトークンセットを指定します。

¨ インポート: . コンテンツセットに格納されているトークンセットのコピーを作成

できます。 元のトークンセットを変更しても、パーサートランスフォーメーショ

ンに格納するコピーは更新されません。

¨ トークンセットの追加。 カスタムトークンセットを定義できます。 トークンセッ

トを使用して、単一の出力に書き込みます。

¨ 正規表現の追加: 入力するカスタム正規表現を定義します。 正規表現を使用し

て、1つ以上の出力に書き込むことができます。

¨ 出力: 解析されたデータの出力を決定します。

参照テーブル操作

参照テーブルを使用して入力を解析するには、[参照テーブルを使用した解析]操作

を選択します。 参照テーブル操作には以下のプロパティを設定できます。

¨ 参照テーブル。 操作が解析に使用する参照テーブルを指定します。

¨ 大文字小文字の区別: 大文字と小文字を区別して入力データを参照データと比較す

るように、操作を設定します。

トークン解析モード 257

Page 279: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

¨ 標準化: 解析されたデータを参照テーブルの「有効」値で置き換えます。

¨ 出力: 解析されたデータの出力を決定します。

トークン解析ストラテジの設定

トークン解析ストラテジを設定するには、トークン解析モードを使用するパーサートラン

スフォーメーションを開き、[ストラテジ]ビューを選択します。

1. [ストラテジ]ビューを選択します。

2. [新規]をクリックします。

新しいストラテジ ウィザードが開きます。

3. [入力]フィールドをクリックして、ストラテジのポートを選択します。

4. ストラテジのプロパティを設定し、[次へ]をクリックします。

5. 操作を選択し、[次へ]をクリックします。

6. 操作プロパティを設定し、正常に解析されたデータの出力ポートを選択します。

7. 必要に応じて、[次へ]をクリックして、その他の操作をストラテジに追加します。

8. ストラテジにすべての操作を追加したら、[完了]をクリックします。

9. 必要に応じて、その他のストラテジをトランスフォーメーションに追加します。

10. 必要に応じて、ストラテジと操作が処理される順序を変更します。 ストラテジまたは

操作を選択し、[上に移動]または[下に移動]をクリックします。

パターンベースの解析モードパターンベースの解析モードでは、複数の文字列からなるパターンが解析されます。

パターンベースの解析モードでデータの解析に使用できる方法には、以下のものがありま

す。

¨ 参照テーブル: 参照テーブルに定義されたパターンを使用して入力データを解析しま

す。 パターン参照テーブルは、トークンラべル適用モードを使用するラべラートラン

スフォーメーションのプロファイルされた出力から作成できます。

¨ ユーザー定義のパターン: 定義するパターンを使用して入力データを解析します。

「+」と「*」のワイルドカードを使用して、パターンを定義することができます。 任意の

文字列に一致させるには「*」文字を、前にある文字列の1つ以上のインスタンスに一致さ

せるには「+」文字を使用します。 例えば、wordトークンの連続する複数のインスタンス

を検索するには「WORD+」を使用し、wordトークンとそれに続く任意のタイプの1つ以上の

トークンを検索するには「WORD *」を使用します。

パーサートランスフォーメーション内では、これらの方法の複数のインスタンスを使用で

きます。 各インスタンスは、[設定]ビューで示された順序で使用されます。

モデルリポジトリのコンテンツセットからパターンセットをインポートすることもできま

す。 元のパターンセットを変更しても、パーサートランスフォーメーションに格納するコ

ピーは更新されません。

258 章 23: パーサートランスフォーメーション

Page 280: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

注: パターンベースの解析モードでは、トークンラベル適用モードが使用されるラべラー

トランスフォーメーションの出力が必要です。 パターンベースの解析モードを使用するパ

ーサートランスフォーメーションを作成する前に、ラべラートランスフォーメーションを

作成および設定します。

パターンセット

パターンセットには、トークンラベル適用操作の出力のデータパターンを識別する式が含

まれます。 パターンセットを使用すると、トークン化されたデータの出力ポートを分析

し、一致する文字列を1つ以上の出力ポートに書き込むことができます。 パターンセット

は、パターン解析モードを使用するパーサートランスフォーメーションで使用します。

例えば、名前と頭文字を識別するパターンセットを使用するようにパーサートランスフォ

ーメーションを設定することができます。 このトランスフォーメーションでは、パターン

セットを使用して、トークンラベル適用モードのラベラトランスフォーメーションの出力

を分析します。 出力に含まれる名前と頭文字を別のポートに書き込むようにパーサートラ

ンスフォーメーションを設定できます。

パターンベースの解析ポート

パターンベースの解析ポートをデータに適した設定で構成します。

パターンベースの解析モードが使用されるパーサートランスフォーメーションには、以下

のポートタイプがあります。

Label_Data

このポートを、トークンラべル適用モードを使用するラべラートランスフォーメーシ

ョンのLabeled_Outputポートに接続します。

Tokenized_Data

このポートを、トークンラべル適用モードを使用するラべラートランスフォーメーシ

ョンのTokenized_Dataポートに接続します。

Parse_Status

入力パターンに対して一致が見つかった場合、このポートは値Matchedを出力します。

一致が見つからなかった場合は、Unmatchedを出力します。

オーバーフロー

トランスフォーメーションで定義された出力数に収まらない、正常に解析された文字

列。 例えば、2つの「WORD」出力のみが定義されている場合、文字列「John James

Smith」はデフォルトで「Smith」というオーバーフロー出力になります。

Parsed

ユーザー定義のポート内の正常に解析された文字列。

パターンベースの解析モード 259

Page 281: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

解析パターンの設定

解析パターンを設定するには、パターン解析モードを使用するパーサートランスフォーメ

ーションを開き、[パターン]ビューを選択します。

解析パターンを設定する前に、正常に解析されたデータを処理するために、トランスフォ

ーメーションに出力ポートを追加します。

1. [パターン]ビューで、[新規]をクリックし、[新しいパターン]または[新しい

参照テーブル]を選択します。

2. パターンを追加する場合は、[パターン]カラムの「ここにパターンを入力」というテキ

ストをダブルクリックし、カスタムパターンを入力します。

3. 参照テーブルを追加する場合は、参照テーブルを展開し、行を選択します。

4. トークンを出力に解析するようにトランスフォーメーションを設定します。

¨ 単一のトークンを出力に解析するには、パターン行を選択し、その出力のカラム内

をクリックします。 その出力に解析するパターンを選択します。

¨ 複数のトークンを単一の出力に解析するには、その出力のカラム内をクリックし、

[カスタム]を選択します。 出力トークンが区切られるようにする場合は、出力

カラムに対して1つ以上の区切り文字を選択します。

260 章 23: パーサートランスフォーメーション

Page 282: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 4 章

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

この章では、以下の項目について説明します。

¨ ランクトランスフォーメーションの概要, 261 ページ

¨ ランクトランスフォーメーションのポート, 263 ページ

¨ グループの定義, 264 ページ

¨ ランクトランスフォーメーションの詳細プロパティ, 265 ページ

ランクトランスフォーメーションの概要ランクトランスフォーメーションは、レコードを上限または下限に制限するアクティブな

トランスフォーメーションです。ランクトランスフォーメーションを使用して、ポートま

たはグループ内で 大または 小の数値を返すことができます。または、ランクトランス

フォーメーションを使用して、マッピングのソート順の 上位または 下位の文字列を返

します。

マッピング実行中に、Data Integration Serviceはランク計算を実行できるまで入力デー

タをキャッシュに格納します。

ランクトランスフォーメーションは、トランスフォーメーション関数MAXやMINとは異なり

ます。ランクトランスフォーメーションは、1つの値だけではなく、 上位または 下位の

値のグループを返します。たとえば、ランクトランスフォーメーションを使用して、指定

された区域内での上位10人の販売員を選択できます。あるいは財務レポートを生成する場

合に、ランクトランスフォーメーションを使用して、給与や経費の支出が も少ない3つの

部門を調べることができます。SQL言語ではデータグループを取り扱う多くの関数が提供さ

れていますが、標準SQL関数を使用して行セット内の 上位または 下位の層を特定するこ

とは不可能です。

トランスフォーメーションには、同じ行セットを表すすべてのポートを接続します。ラン

クトランスフォーメーションは、トランスフォーメーションを設定するときに指定した基

準に基づいて、当該ランクに収まる行を通過させます。

ランクトランスフォーメーションはアクティブトランスフォーメーションであるため、通

過する行の数を変更してしまう可能性があります。ランクトランスフォーメーションに渡

261

Page 283: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

すことができるのは100行ですが、ランク付けのために選択できるのは上位10行だけです。

上位10行が、ランクトランスフォーメーションから別のトランスフォーメーションに渡さ

れます。

ランクトランスフォーメーションへは、1つのトランスフォーメーションからのポートを接

続できます。また、ローカル変数を作成して非集計式を書き込むこともできます。

文字列値のランク付け

文字列ポートの 上位または 下位の値を返すようにランクトランスフォーメーションを

設定することができます。Data Integration Serviceは、デプロイされたマッピングに対

して選択されたソート順に基づいて、文字列をソートします。

マッピングが含まれるアプリケーションを設定するときは、Data Integration Serviceで

マッピングを実行するために使用されるソート順を選択します。バイナリまたはフランス

語やドイツ語などの特定の言語を選択できます。バイナリを選択した場合、Data

Integration Serviceは各文字列のバイナリ値を計算し、そのバイナリ値を使用して文字列

をソートします。言語を選択した場合、Data Integration Serviceはその言語のソート順

を使用してアルファベット順に文字列をソートします。

ランクキャッシュ

Data Integration Serviceは、マッピングの実行中に、入力行をデータキャッシュ内の行

と比較します。キャッシュに格納されている行よりも入力行の方がランクが高い場合、

Data Integration Serviceはキャッシュに格納されている行を入力行で置き換えます。ラ

ンクトランスフォーメーションをグループ行に設定すると、Data Integration Serviceは

各グループ内の行をランク付けします。

Data Integration Serviceは、グループ情報をインデックスキャッシュに、行データをデ

ータキャッシュに格納します。パイプライン内に複数のパーティションを作成した場合、

Data Integration Serviceはパーティションごとの別々のキャッシュを作成します。

ランクトランスフォーメーションのプロパティ

ランクトランスフォーメーションを作成するときに、次のプロパティを設定することがで

きます。

¨ キャッシュディレクトリを入力する。

¨ 上位または 下位のランクを選択する。

¨ ランクを判定するための値を含む入出力ポートを選択する。ランクを定義するためのポ

ートは1つだけ選択できます。

¨ ランク付けする行の数を選択する。

¨ ランクのグループを定義する(たとえば各製造業者で も安い10個の製品といったグル

ープ)。

262 章 24: ランクトランスフォーメーション

Page 284: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ランクトランスフォーメーションのポートランクトランスフォーメーションには、マッピング内の別のトランスフォーメーションに

接続されている入力ポート、入出力ポート、または出力ポートが含まれています。ランク

トランスフォーメーションには、パススルーポート、変数ポート、およびグループ別ポー

トも含まれています。

ランクトランスフォーメーションには、以下のポートタイプがあります。

入力

アップストリームトランスフォーメーションからデータを受信します。 入力ポートを

入出力ポートとして指定することができます。トランスフォーメーションには少なく

とも1つの入力ポートが必要です。

出力

ダウンストリームトランスフォーメーションにデータを渡します。出力ポートを入出

力ポートとして指定することができます。トランスフォーメーションには少なくとも1

つの出力ポートが必要です。

パススルー

変更せずにそのままデータを渡します。

変数

ローカル変数に使用されます。変数ポートを使用して、式で使用する値または計算を

格納することができます。変数ポートは入力ポートまたは出力ポートであってはなり

ません。変数ポートはトランスフォーメーション内でデータを渡します。

Group By

グループの作成方法を示します。ポートは、任意の入力ポート、入出力ポート、出力

ポート、または変数ポートを設定できます。

ランクポート

ランクポートは、値をランク付けするカラムを指定します。

例えば、上位5人の販売員をランク付けするランクトランスフォーメーションを作成する場

合は、SALES_PERSON入出力ポートをランクポートとして指定します。

1つの入出力ポートまたは出力ポートをランクポートとして指定できます。ランクポートは

ほかのトランスフォーメーションにリンクする必要があります。

ランクインデックス

Developerツールは、それぞれのランクトランスフォーメーションに対してRANKINDEXポー

トを作成します。Data Integration ServiceはRank Indexポートを使用して、グループ内

における各行のランキング位置を格納します。

たとえば、会社内で給料の高い50人の従業員を調べるために、ランクトランスフォーメー

ションを作成するとします。ランク付けの基準とする入出力ポートとしてSALARYカラムを

指定し、上位50位以外のすべての行をフィルタで除外するようにトランスフォーメーショ

ンを設定します。

ランクトランスフォーメーションのポート 263

Page 285: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ランクトランスフォーメーションは、 上位または 下位のランクに属する行をすべて識

別したあと、ランクインデックス値を割り当てます。給料を基準に上位50人の従業員を識

別する場合、 高額の給料が支払われている従業員に対し、ランクインデックスとして1が

与えられます。次に給料が多い従業員には、ランクインデックスとして2が与えられ、以下

同じようにランクインデックスが割り当てられます。たとえば目録内で値段の安い10個の

製品といった 下位ランクを求める場合、ランクトランスフォーメーションは 下位から

上位の順にランクインデックスを割り当てます。したがって、 も値段の安い商品のラ

ンクインデックスには1が与えられます。

2つのランク値が一致すると、それらは同じランクインデックス内で同じ値を受け取り、ト

ランスフォーメーションはその次の値をスキップします。たとえば国内で 上位の5つの小

売り店を調べたときに2つの小売り店が同じ売り上げである場合、返されるデータは次のよ

うになります。

RANKINDEX SALES STORE1 10000 Orange1 10000 Brea3 90000 Los Angeles4 80000 Ventura

RANKINDEXは出力ポートのみです。ランクインデックスは、マッピング内の別のトランスフ

ォーメーションへ渡すか、直接ターゲットへ渡すことができます。

グループの定義ランク付けされた行のグループを作成するようにランクトランスフォーメーションを設定

できます。

例えば製造業者別に も高価な商品を10個選択したい場合は、まずそれぞれの製造業者に

ついてグループを定義します。ランクトランスフォーメーションを設定するときに、その

いずれか1つの入力ポート、入出力ポート、または出力ポートをGroup Byポートとして設定

することができます。グループポート内の一意の値それぞれに対して、トランスフォーメ

ーションは、ランク定義( 上位または 下位、および各ランク内の特定の順位)に該当

する行のグループを作成します。

ランクトランスフォーメーションは行の数を2つの方法で変更します。1つは、 上位また

は 下位のランクに収まる行を除いたすべての行をフィルタリングして除外することによ

り、トランスフォーメーションを通過する行の数を減らします。もう1つはグループを定義

することにより、各グループでランク付けされた行のセットを1つ作成します。

例えば、四半期ごとに上位5人の販売員をランク付けするランクトランスフォーメーション

を作成した場合、ランクインデックスは四半期ごとに販売員に1から5までの数字を付けま

す。

RANKINDEX SALES_PERSON SALES QUARTER1 Sam 10,000 12 Mary 9,000 13 Alice 8,000 14 Ron 7,000 15 Alex 6,000 1

264 章 24: ランクトランスフォーメーション

Page 286: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ランクトランスフォーメーションの詳細プロパティ

Data Integration Serviceでランクトランスフォーメーションのデータがどのように処理

されるかを特定するためのプロパティを設定します。

[詳細プロパティ]タブで、以下のプロパティを設定します。

上/下

カラムの 上位または 下位のどちらのランクを使用するかを指定します。

ランク数

上位または 下位のランキングに含まれる行の数。

大文字小文字を区別した文字列比較

Data Integration Serviceで文字列をランク付けする際に大文字小文字を区別した文

字列比較が使用されるかどうかを指定します。Data Integration Serviceで文字列の

大文字小文字が無視されるようにするには、このオプションの選択を取り消します。

デフォルトでは、このオプションは選択されています。

キャッシュディレクトリ

Data Integration Serviceでのインデックスキャッシュファイルとデータキャッシュ

ファイルの作成先となるローカルディレクトリ。 このディレクトリが存在し、キャッ

シュファイルを格納するのに十分なディスク容量を備えていることを確認します。

ランクのデータデータキャッシュサイズ

トランスフォーメーションのデータキャッシュサイズ。数値をバイト数で入力する

か、[自動]を選択してData Integration Serviceによってランタイムのキャッシュ

サイズが決定されるようにします。デフォルトは[自動]です。

ランクのインデックスキャッシュサイズ

トランスフォーメーションのインデックスキャッシュサイズ。数値をバイト数で入力

するか、[自動]を選択してData Integration Serviceによってランタイムのキャッ

シュサイズが決定されるようにします。デフォルトは[自動]です。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

ランクトランスフォーメーションの詳細プロパティ 265

Page 287: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トレースレベル 説明

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

266 章 24: ランクトランスフォーメーション

Page 288: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 5 章

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

この章では、以下の項目について説明します。

¨ ルータトランスフォーメーションの概要, 267 ページ

¨ グループに関する作業, 268 ページ

¨ ポートに関する作業, 270 ページ

¨ マッピング内のルータトランスフォーメーションの接続, 271 ページ

¨ ルータトランスフォーメーションの詳細プロパティ, 271 ページ

ルータトランスフォーメーションの概要ルータトランスフォーメーションは、1つ以上のグループ条件に基づいてデータを複数のト

ランスフォーメーションにルーティングするアクティブなトランスフォーメーションで

す。

ルータトランスフォーメーションはフィルタトランスフォーメーションに似ており、両方

とも条件を使用してデータをテストします。ただし、フィルタトランスフォーメーション

は1つの条件についてデータをテストし、条件を満たさない他のデータ行は削除します。ル

ータトランスフォーメーションは1つ以上の条件についてデータをテストし、どの条件も満

たさないデータ行をデフォルト出力グループにルーティングできます。

複数の条件に基づいて同じ入力データをテストする必要がある場合、同じ作業を実行する

複数のフィルタトランスフォーメーションを作成する代わりに、マッピング内でルータト

ランスフォーメーションを使用します。ルータトランスフォーメーションの方が効率的で

す。例えば、3つの条件に基づいてデータをテストするために、3つのフィルタトランスフ

ォーメーションの代わりに1つのルータトランスフォーメーションを使用できます。マッピ

ング内でルータトランスフォーメーションを使用すると、Data Integration Serviceは入

力データを一度処理します。マッピング内で複数のフィルタトランスフォーメーションを

使用すると、Data Integration Serviceは各トランスフォーメーションについて入力デー

タを処理します。

ルータトランスフォーメーションは、入力および出力グループ、入力および出力ポート、

グループフィルタ条件、Developerツールで設定される詳細プロパティによって構成されて

います。

267

Page 289: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

グループに関する作業ルータトランスフォーメーションには、以下の種類のグループがあります。

¨ 入力

¨ 出力

入力グループ

ランクトランスフォーメーションには入力グループが1つ含まれます。入力グループは、ト

ランスフォーメーションに追加するすべての入力ポートが含まれます。

出力グループ

ランクトランスフォーメーションには以下の種類の出力グループが含まれます。

ユーザ定義グループ

ユーザー定義グループを作成して、到着するデータに応じて条件をテストします。ユ

ーザー定義グループは、出力ポートおよびグループフィルタ条件で構成されていま

す。Developerツールのグループビューで、ユーザー定義グループを作成および編集で

きます。指定したい各条件について、それぞれ1つのユーザー定義グループを作成しま

す。

Data Integration Serviceは条件を使用して、入力データの各行を評価します。各ユ

ーザー定義グループの条件をテストしてから、デフォルトグループを処理します。

Data Integration Serviceは、接続された出力グループの順序に基づいて、各条件の

評価順を決定します。Data Integration Serviceは、マッピング内のトランスフォー

メーションまたはターゲットに接続されたユーザー定義グループを処理します。

行が複数のグループフィルタ条件を満たす場合、Data Integration Serviceはこの行

を複数回渡します。

デフォルトグループ

Developerツールがデフォルトグループを作成するのは、ユーザーがユーザー定義グル

ープを1つ作成した後です。Developerツールでは、デフォルトグループを編集または

削除することはできません。このグループに関連付けられたグループフィルタ条件は

ありません。すべてのグループ条件がFALSEと評価された場合、Data Integration

Serviceは行をデフォルトグループに渡します。Data Integration Serviceでデフォ

ルトグループの行をすべて削除する場合は、デフォルトグループをマッピング内のト

ランスフォーメーションまたはターゲットに接続しないようにします。

リストから 後のユーザー定義グループを削除すると、Developerツールはデフォルト

グループを削除します。

Developerツールは入力グループの入力ポートからプロパティ情報をコピーし、各出力グル

ープに対する一連の出力ポートを作成します。出力ポートやそのプロパティを変更または

削除することはできません。

268 章 25: ルータトランスフォーメーション

Page 290: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

グループフィルタ条件の使用

1つ以上のグループフィルタ条件に基づいてデータをテストできます。式エディタを使用し

て、[グループ]ビューでグループフィルタ条件を作成します。

単一の値を返す任意の式を入力することができます。条件に定数を指定することもできま

す。フィルタ条件は、指定された条件を行が満たすかどうかに基づいて、トランスフォー

メーションを通過する行ごとにTRUEまたはFALSEを返します。ゼロ(0)はFALSEとみなされ

ます。ゼロ以外の値はTRUEとみなされます。Data Integration Serviceは、TRUEと評価さ

れたデータ行を、各ユーザー定義グループに関連付けられたそれぞれのトランスフォーメ

ーションまたはターゲットに渡します。

たとえば、9ヶ国の顧客について、その内の3ヶ国のデータに対して種々の計算を行うとし

ます。マッピング内でルータトランスフォーメーションを使用し、このデータをフィルタ

リングして3つの異なる式トランスフォーメーションに渡すことができます。

デフォルトグループにはグループフィルタ条件はありません。それでも、残りの6ヶ国のデ

ータに基づいて計算を行う式トランスフォーメーションを作成することができます。

3つの異なる国から得たデータに基づいて複数の計算を行うには、[グループ]ビューでユ

ーザー定義グループを3つ作成し、グループフィルタ条件を3つ指定します。

以下の表に、顧客データをフィルタリングするグループフィルタ条件を示します。

グループ名 グループフィルタ条件

フランス customer_name=‘France’

日本 customer_name=‘Japan’

USA customer_name=‘USA’

Data Integration Serviceは、マッピング実行中に、各ユーザー定義グループ(Japan、

France、USAなど)に関連付けられた各トランスフォーメーションまたはターゲットに、

TRUEと評価されたデータ行を渡します。すべての条件がFALSEと評価された場合、Data

Integration Serviceは行をデフォルトグループに渡します。Data Integration Service

は他の6ヶ国のデータを、デフォルトグループに関連付けられたトランスフォーメーション

またはターゲットに渡します。Data Integration Serviceでデフォルトグループの行をす

べて削除する場合は、デフォルトグループをマッピング内のトランスフォーメーションま

たはターゲットに接続しないようにします。

ルータトランスフォーメーションは、条件を満たす各グループを通じてデータを渡しま

す。 データが3つの出力グループ条件を満たす場合、ルータトランスフォーメーションは3

つの出力グループを通じてデータを渡します。

例えば、ルータトランスフォーメーションで以下のグループ条件を設定したとします。

グループ名 グループフィルタ条件

出力グループ1 employee_salary > 1000

出力グループ2 employee_salary > 2000

グループに関する作業 269

Page 291: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ルータトランスフォーメーションが入力行のデータをemployee_salary=3000で処理する場

合、Output Group 1および2を通じてデータがルーティングされます。

グループの追加

グループを追加すると、Developerツールによってプロパティ情報が入力ポートから出力ポ

ートにコピーされます。

1. [グループ]ビューをクリックします。

2. [新規]ボタンをクリックします。

3. 新しいグループの名前を、[グループ名]セクションに入力します。

4. [グループフィルタ条件]フィールドをクリックして式エディタを開きます。

5. グループフィルタ条件を入力します。

6. [検証]をクリックして条件の構文をチェックします。

7. [OK]をクリックします。

ポートに関する作業ルータトランスフォーメーションには、入力ポートと出力ポートがあります。入力ポート

は入力グループにあり、出力ポートは出力グループにあります。

入力ポートは、別のトランスフォーメーションからコピーして作成するか、または[ポー

ト]ビューで手動で作成することができます。

Developerツールは、入力ポートから以下のプロパティをコピーすることによって出力ポー

トを作成します。

¨ ポート名

¨ データタイプ

¨ 精度

¨ スケール

¨ デフォルト値

入力ポートに変更を加えると、Developerツールは出力ポートを更新して変更を反映させま

す。出力ポートを編集または削除することはできません。

Developerツールは、入力ポート名に基づいて出力ポート名を作成します。Developerツー

ルは各入力ポートに対して、各出力グループ内に対応する出力ポートを作成します。

270 章 25: ルータトランスフォーメーション

Page 292: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

マッピング内のルータトランスフォーメーションの接続

トランスフォーメーションをマッピング内のルータトランスフォーメーションに接続する

場合、以下の規則に留意してください。

¨ 1つのグループは、1つのトランスフォーメーションまたはターゲットに接続することが

できます。

¨ グループ内の1つの出力ポートは、複数のトランスフォーメーションまたはターゲット

に接続することができます。

¨ 1つのグループ内の複数の出力ポートは、複数のトランスフォーメーションまたはター

ゲットに接続することができます。

¨ 複数のグループを1つのターゲットまたは1つの入力グループトランスフォーメーション

に接続することはできません。

¨ 各出力グループを異なる入力グループに接続する場合は、ジョイナトランスフォーメー

ションを除いて、1つのグループを複数の入力グループトランスフォーメーションに接

続することができます。

ルータトランスフォーメーションの詳細プロパティ

Data Integration Serviceでのルータトランスフォーメーションのデータの処理方法を指

定するには、詳細プロパティを設定します。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

マッピング内のルータトランスフォーメーションの接続 271

Page 293: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トレースレベル 説明

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

272 章 25: ルータトランスフォーメーション

Page 294: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 6 章

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

この章では、以下の項目について説明します。

¨ ソータートランスフォーメーションの概要, 273 ページ

¨ ソータートランスフォーメーションの開発, 274 ページ

¨ ソータートランスフォーメーションの詳細プロパティ, 274 ページ

¨ ソータキャッシュサイズ, 275 ページ

¨ ソータートランスフォーメーションのポート, 276 ページ

¨ ソータートランスフォーメーションの作成, 277 ページ

¨ ソータートランスフォーメーションの例, 278 ページ

ソータートランスフォーメーションの概要指定されたソートキーに従って昇順または降順にデータをソートするには、ソータートラ

ンスフォーメーションを使用します。 ソータートランスフォーメーションは、大文字小文

字を区別してソートするように設定したり、出力が重複しないように設定したりすること

ができます。 ソータートランスフォーメーションはアクティブなトランスフォーメーショ

ンです。

ソータートランスフォーメーションを作成する場合、ポートをソートキーとして指定し、

昇順または降順でソートを行うように各ソートキーポートを設定します。 ソートキーに複

数のポートを指定した場合、Data Integration Serviceは各ポートを順番にソートしま

す。

例えば、製品の注文に関する情報を含むデータベーステーブルがあるとします。 注文され

た品目に対して請求書を作成する必要があります。 製品注文テーブルに対してソータート

ランスフォーメーションを使用し、注文IDでデータを降順にソートします。 ソータートラ

ンスフォーメーションの結果をアグリゲータトランスフォーメーションに対する入力とし

て使用します。 [ソート済み入力]オプションを使用して、アグリゲータトランスフォー

メーションのパフォーマンスを向上させることができます。

273

Page 295: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ソータートランスフォーメーションの開発ソータートランスフォーメーションを開発するときは、ソートキーポート、重複しない出

力行、大文字小文字を区別するソート基準などの項目について検討する必要があります。

ソータートランスフォーメーションを開発するときは、以下の項目について検討してくだ

さい。

¨ ソートキーおよびソート方向として設定するポート。

¨ 大文字小文字を区別してソートするかどうか。

¨ NULL値をソートの優先順位として考慮するかどうか。

¨ 出力行を重複しないようにするかどうか。

¨ 設定するソーターキャッシュサイズ。

ソータートランスフォーメーションの詳細プロパティ

ソータートランスフォーメーションの詳細プロパティで、追加のソート基準を指定するこ

とができます。 Data Integration Serviceは、プロパティをすべてのソートキーポート

に適用します。 また、ソータートランスフォーメーションのプロパティは、Data

Integration Serviceがデータのソート時に割り当てるシステムリソースも決定します。

以下に、ソータートランスフォーメーションの詳細プロパティを示します。

個別

出力行を重複しないものとして扱います。 出力行が重複しないようにソータートラン

スフォーメーションを設定した場合、Developerツールはすべてのポートをソートキー

の一部として設定します。 Data Integration Serviceは、ソート操作時に比較され

た重複行を破棄します。

大文字小文字の区別

Data Integration Serviceがデータをソートする際に大文字と小文字を区別するかど

うかを決定します。 [大文字小文字の区別]プロパティを有効にすると、Data

Integration Serviceはソートの際に大文字を小文字よりも上位にソートします。

Developerツールでは[大文字小文字の区別]がデフォルトで設定されています。

NULLを下として扱う

NULL値を 下位にソートします。 Data Integration Serviceがソート操作を行う際

に、NULL値を他のすべての値より下位として処理するようにする場合は、このプロパ

ティを有効にします。

ソータキャッシュサイズ

ソート操作の実行に必要なメモリの 大量を決定します。 Data Integration Service

は、ソート操作を行う前に、すべての入力データをソータートランスフォーメーショ

ンに渡します。 [ソーターキャッシュサイズ]プロパティのデフォルト値は[自動]

です。 ソーターキャッシュには、数値を設定できます。

274 章 26: ソータートランスフォーメーション

Page 296: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

作業ディレクトリ

Data Integration Serviceは、作業ディレクトリを使用してデータのソート中に一時

ファイルを作成します。 Data Integration Serviceはデータをソートした後で、一

時ファイルを削除します。 Data Integration Serviceマシン上の任意のディレクト

リを作業ディレクトリとして指定できます。 以下のディレクトリはデフォルト値で、

ピリオドで表されます。

<Informatica Servicesのインストールディレクトリ>\tomcat\bin

トレースレベル

ソータートランスフォーメーションのログに表示される情報の詳細度。

ソータキャッシュサイズData Integration Serviceは、ソート操作を行う前に、すべての入力データをソータート

ランスフォーメーションに渡します。

[ソーターキャッシュサイズ]を[自動]に設定すると、Data Integration Serviceはキ

ャッシュサイズを実行時に決定します。 Data Integration Serviceは、ソート操作を開

始する前に、ソータキャッシュサイズに設定されたメモリ量を割り当てます。 Data

Integration Serviceが十分なメモリを割り当てることができない場合は、マッピングが失

敗します。

高のパフォーマンスのためには、Data Integration Serviceをホストするマシンの利用

可能な物理RAM量以下の値になるように、ソータキャッシュサイズを設定します。 ソータ

ートランスフォーメーションを使用してデータをソートするには、少なくとも16MB

(16,777,216バイト)の物理メモリを割り当てます。 デフォルトでは、ソータキャッシュ

サイズは[自動]に設定されています。

入力されるデータの量がソータキャッシュサイズよりも大きい場合、Data Integration

Serviceはデータを一時的にソータートランスフォーメーションの作業ディレクトリに保存

します。 データを作業ディレクトリに保存する場合、Data Integration Serviceは 低

でも入力されるデータの量の2倍のディスク領域を必要とします。 入力されるデータの量

がソータキャッシュサイズよりはるかに大きい場合、Data Integration Serviceは作業デ

ィレクトリで利用可能なディスク領域の2倍の量より多くの量を必要とする可能性がありま

す。

以下の式を使用して、入力されるデータのサイズを求めます。

[number_of_input_rows [( Sum (column_size) + 16]

以下の表に、ソータデータ計算用のカラムサイズ値をデータ型ごとに示します。

データ型 カラムサイズ

バイナリ 精度 +8

も近似の8の倍数に丸める

日付/時刻 29

ソータキャッシュサイズ 275

Page 297: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

データ型 カラムサイズ

Decimal、高精度オフ(全精度) 16

Decimal、高精度(精度<=18) 24

Decimal、高精度(精度>18、<=28) 32

Decimal、高精度(精度>28) 16

Decimal、高精度(負の位取り) 16

ダブル 16

Real 16

Integer 16

String、Text Unicodeモード: 2*(精度+5)

ASCIIモード: 精度 +9

ソータートランスフォーメーションのポートソータートランスフォーメーションのすべてのポートで、データの入力、ソート、および

他のトランスフォーメーションへのデータの出力が可能です。

ソータートランスフォーメーションは、以下のポートタイプを備えています。

キー

ソートキーとは、ソート基準として使用する1つまたは複数のポートのことです。Data

Integration Serviceは、キーとして指定されたポートに従って、データをソートしま

す。 データをソートするキーポートの方向を昇順または降順に設定します。

Developerツールでは[方向]のデフォルト値は昇順に設定されています。

その他

ソートキーとして指定されていないポート。

276 章 26: ソータートランスフォーメーション

Page 298: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ソータートランスフォーメーションの作成再利用可能なソータートランスフォーメーションまたは再利用不可能なソータートランス

フォーメーションを作成できます。

再利用可能なソータートランスフォーメーションの作成

複数のマッピングまたはマプレットで使用する、再利用可能なソータートランスフォーメ

ーションを作成します。

1. [Object Explorer]ビューで、プロジェクトまたはフォルダを選択します。

2. [ファイル] > [新規] > [トランスフォーメーション]をクリックします。

[新規]ダイアログボックスが表示されます。

3. ソータートランスフォーメーションを選択します。

4. [次へ]をクリックします。

5. トランスフォーメーションの名前を入力します。

6. [完了]をクリックします。

トランスフォーメーションがエディタに表示されます。

7. [新規]をクリックして、トランスフォーメーションにポートを追加します。

8. ポートを編集して、名前、データ型、および精度を設定します。

9. [キー]を選択して、ポートをソートキーとして指定します。

10. [詳細]ビューをクリックし、トランスフォーメーションのプロパティを編集しま

す。

再利用不可能なソータートランスフォーメーションの作成

マッピングまたはマプレットで再利用不可能なソータートランスフォーメーションを作成

します。

1. マッピングまたはマプレットで、トランスフォーメーションパレットからエディタに

ソータートランスフォーメーションをドラッグします。

トランスフォーメーションがエディタに表示されます。

2. [プロパティ]ビューで、トランスフォーメーションの名前と説明を編集します。

3. [ポート]ビューで、[新規]をクリックして、トランスフォーメーションにポート

を追加します。

4. ポートを編集して、名前、データ型、および精度を設定します。

5. [キー]を選択して、ポートをソートキーとして指定します。

6. [詳細]ビューをクリックし、トランスフォーメーションのプロパティを編集しま

す。

ソータートランスフォーメーションの作成 277

Page 299: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ソータートランスフォーメーションの例顧客からのすべての注文に関する情報を含むデータベーステーブルPRODUCT_ORDERSがあり

ます。

ORDER_ID ITEM_ID ITEM QUANTITY PRICE43 123456 ItemA 3 3.0441 456789 ItemB 2 12.0243 000246 ItemC 6 34.5545 000468 ItemD 5 0.5641 123456 ItemA 4 3.0445 123456 ItemA 5 3.0445 456789 ItemB 3 12.02

PRODUCT_ORDERSでソータートランスフォーメーションを使用し、ORDER_IDをソートキー

に、方向を降順に指定します。

データをソートした後、Data Integration Serviceはソータートランスフォーメーション

から以下の行を渡します。

ORDER_ID ITEM_ID ITEM QUANTITY PRICE45 000468 ItemD 5 0.5645 123456 ItemA 5 3.0445 456789 ItemB 3 12.0243 123456 ItemA 3 3.0443 000246 ItemC 6 34.5541 456789 ItemB 2 12.0241 123456 ItemA 4 3.04

注文ごとの合計金額と数量を特定する必要があります。 ソータートランスフォーメーショ

ンの結果をアグリゲータトランスフォーメーションへの入力として使用できます。 パフォ

ーマンスを向上させるには、アグリゲータトランスフォーメーションでソート済み入力を

使用します。

[ソート済み入力]オプションを使用しない場合、Data Integration Serviceは読み込み

と並行して集計計算を実行します。 すべての集計計算が正確に実行されるように、Data

Integration Serviceはソース全体の読み込みが完了するまで各グループのデータを格納し

ておきます。 [ソート済み入力]オプションを使用する場合、前もってデータを正しくソ

ートしておかないと、予期しない結果が生じます。

アグリゲータトランスフォーメーションでポート別のORDER_IDグループがあり、ソート済

み入力オプションが選択されているとします。 ソータートランスフォーメーションからデ

ータを渡すと、アグリゲータトランスフォーメーションはORDER_IDをグループ化して、注

文ごとの合計金額を計算します。

ORDER_ID SUM45 54.0643 216.4241 36.2

278 章 26: ソータートランスフォーメーション

Page 300: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 7 章

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

この章では、以下の項目について説明します。

¨ SQLトランスフォーメーションの概要, 279 ページ

¨ 詳細プロパティ, 280 ページ

¨ SQLトランスフォーメーションのポート, 281 ページ

¨ SQLトランスフォーメーションクエリ, 284 ページ

¨ 入力行と出力行のカーディナリティ, 285 ページ

¨ SQLトランスフォーメーションの例, 290 ページ

SQLトランスフォーメーションの概要SQLトランスフォーメーションは、マッピングの中間地点でSQLクエリを処理します。 デー

タベースに行を挿入したり、データベースの行を削除、更新、および取得したりできま

す。SQL DDL文を実行して、マッピングの中間地点でテーブルを作成したり、削除したりで

きます。

SQLトランスフォーメーションは、トランスフォーメーションのSQLエディタで定義したSQL

クエリを実行します。 SQLトランスフォーメーションはクエリを処理し、行を返し、デー

タベースエラーがあれば返します。 入力ポートの値をクエリ内のパラメータに渡すことが

できます。

SQLトランスフォーメーションはアクティブなトランスフォーメーションです。 入力行ご

とに複数の行をトランスフォーメーションで返すことができます。

SQLトランスフォーメーションを設定する場合は、以下のタスクを実行します。

1. 接続先のデータベースタイプなどのトランスフォーメーションプロパティを定義しま

す。

2. ポートを定義します。

3. SQLエディタでSQLクエリを作成します。

279

Page 301: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

4. マッピングにSQLトランスフォーメーションを設定し、アップストリームのポートに接

続します。

5. データをプレビューして結果を確認します。

詳細プロパティSQLトランスフォーメーションのプロパティはいつでも変更できます。 デフォルトのデー

タベースタイプはOracleです。 接続する必要があるデータベースが別のデータベースタイ

プである場合は、トランスフォーメーションにポートを追加する前にデータベースタイプ

を変更します。

以下のSQLトランスフォーメーションプロパティが[詳細プロパティ]ビューに表示されま

す。

トレースレベル

SQLトランスフォーメーションを含むマッピングを実行したときにマッピングログに記

録される情報の詳細度を設定します。 SQLトランスフォーメーションのトレースレベ

ルを[Verbose Data]に設定した場合、Data Integration Serviceは準備する各SQL

クエリをマッピングログに書き込みます。

接続タイプ

Data Integration Serviceがデータベースにどのように接続するかを示します。 接

続タイプは静的プロパティです。 Data Integration Serviceはデータベースに1回接

続します。 SQLトランスフォーメーション内のデータベース接続オブジェクトを選択

します。 読み取り専用です。

データベースタイプ

SQLトランスフォーメーションが接続するデータベースのタイプです。 データベース

タイプをリストから選択します。 Oracle、Microsoft SQL Server、IBM DB2、または

ODBCを選択することができます。 データベースタイプは、[ポート]ビューで割り当

てることができるデータ型に影響を与えます。 データベースタイプを変更すると、

Developerツールによって入力ポート、出力ポート、およびパススルーポートのポート

データ型が変更されます。

行内のエラー時でも処理を続行する

SQLエラーの発生後、クエリ内の残りのSQL文の処理を継続します。

統計を出力として含める

NumRowsAffected出力ポートを追加します。ポートは、入力行のINSERT、DELETE、お

よびUPDATEクエリ文で更新されたデータベース行の合計数を返します。

大出力行数

SQLトランスフォーメーションでSELECTクエリから出力できる 大行数を定義します。

行が制限されないように設定するには、[ 大出力行数]をゼロに設定します。

クエリの説明

トランスフォーメーションに定義したSQLクエリの説明です。

280 章 27: SQLトランスフォーメーション

Page 302: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

SQLモード

SQLクエリが例外スクリプトであるかどうかや、クエリがトランスフォーメーションに

定義されるかどうかを決定します。 [SQLモード]は[クエリ]です。 SQLトランス

フォーメーションは、SQLエディタで定義されたクエリを実行します。 読み取り専用

です。

SQLクエリ

SQLエディタで設定されたSQLクエリを表示します。

SQLトランスフォーメーションのポートSQLトランスフォーメーションを作成すると、DeveloperツールはデフォルトでSQLErrorポ

ートを作成します。 [ポート]ビューで入力ポート、出力ポート、およびパススルーポー

トを追加します。

SQLトランスフォーメーションには、以下のタイプのポートがあります。

入力

SQLクエリで使用できるソースデータを受け取ります。

出力

SQL SELECTクエリからのデータベースデータを返します。

パススルー

トランスフォーメーションを介してソースデータをそのままの状態で渡す入出力ポー

トです。

SQLError

データベースからのSQLエラーを返します。 エラーが発生しなかった場合は、NULLを

返します。

NumRowsAffected

入力行のINSERT、DELETE、およびUPDATEクエリ文の影響を受けたデータベース行の合

計数を返します。 このポートは、出力行に統計の更新を含めることを選択したとき

に、Developerツールによって作成されます。

入力ポート

SQLトランスフォーメーションには、出力ポートに渡さないデータの入力ポートを作成でき

ます。 SQLクエリで入力ポートを参照し、また、ポート名をパラメータとしてクエリに含

めることができます。

入力ポートを追加するには、[ポート]ビューで[入力]をクリックします。 [新規]を

クリックします。

ポートを追加するときは、ポートのネイティブデータ型を入力します。 ネイティブデータ

型は、接続先しようとしているデータベースで有効なデータ型です。 ネイティブデータ型

を設定すると、トランスフォーメーションデータ型が表示されます。 行をSQLトランスフ

SQLトランスフォーメーションのポート 281

Page 303: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ォーメーションにドラッグすると、Developerツールは、接続しようとしているデータベー

スで有効なデータ型に基づいて、ネイティブデータ型を設定します。 クエリで使用するカ

ラムのデータ型がデータベース内のカラムと同じデータ型であることを確認します。

注: ポートに対して[出力にコピー]を選択すると、入力ポートはパススルーポートにな

ります。

出力ポート

出力ポートは、SELECT文から値を返します。 SELECT文のカラムごとに出力ポートを作成し

ます。

出力ポートを設定するときは、そのポートのネイティブデータ型を選択します。 出力ポー

トのネイティブデータ型は、データベース内の対応するカラムのデータ型と同じである必

要があります。 ネイティブデータ型が設定されると、Developerツールはポートのトラン

スフォーメーションデータ型を定義します。

例えば、SQLトランスフォーメーションに、Oracleデータベースに対する以下のSQLクエリ

が含まれるとします。

SELECT FirstName, LastName, Age FROM EMPLOYEES

この場合、SQLトランスフォーメーションに以下の出力ポートとネイティブデータ型を設定

できます。

出力ポー

ネイティブ

データ型

トランスフォーメーションデータ型

FirstNm varchar2 string

LastNm varchar2 string

Age number double

出力ポートの数および順序は、クエリのSELECT文が返すカラムの数および順序と一致する

必要があります。 出力ポートの数がSELECT句内のカラム数よりも多い場合、余分なポート

はNULL値を返します。 出力ポートの数がSELECT句内のカラム数よりも少ない場合、Data

Integration Serviceは行エラーを生成します。

トランスフォーメーションの接続先のデータベースタイプを変更すると、Developerツール

によって出力ポートのネイティブタイプが変更されます。 Developerツールは、すべての

ポートに対して正しいデータ型を選択するとはかぎりません。 データベースタイプを変更

した場合は、各出力ポートのネイティブデータ型がデータベース内のカラムと同じデータ

型であることを確認します。 例えば、Oracleデータベースカラムに対してnVarchar2が選

択される可能性があります。 その場合、データ型をvarchar2に変更する必要があります。

出力ポートは、SQLトランスフォーメーションの[ポート]ビューで設定します。

パススルーポート

パススルーポートは、トランスフォーメーションを介してデータをそのままの状態で渡す

入出力ポートです。 SQLトランスフォーメーションは、SQLクエリが行を返すかどうかにか

かわらず、パススルーポートにデータを返します。

282 章 27: SQLトランスフォーメーション

Page 304: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

入力行にSELECTクエリ文が含まれている場合、SQLトランスフォーメーションは、データベ

ースから返される行ごとに、パススルーポートにデータを返します。 クエリ結果に複数の

行が含まれている場合、SQLトランスフォーメーションは、各行についてパススルーデータ

の生成を繰り返します。

クエリによって行が返されなかった場合、SQLトランスフォーメーションは、出力カラム

に、NULL値を含むパススルーカラムデータを返します。たとえば、INSERT、UPDATE、およ

びDELETEの各文を含むクエリでは、行が返されません。クエリでエラーが発生した場合、

SQLトランスフォーメーションは、パススルーカラムデータ、SQLErrorメッセージ、および

NULL値を出力ポートに返します。

SELECTクエリからデータを返すようにパススルーポートを設定することはできません。

パススルーポートを作成するには、入力ポートを作成して[出力にコピー]を選択しま

す。 Developerツールによって出力ポートが作成され、ポート名に「_output」接尾語が追

加されます。 Developerツールがパススルーポートに対して作成する出力ポートを変更す

ることはできません。 「_output」接尾語が含まれる出力ポートを作成することはできま

せん。

SQLErrorポート

SQLErrorポートは、データベースからのSQLエラーを返します。

SQLクエリに構文エラーがある場合、エラーポートにはデータベースからのエラーテキスト

が含まれます。たとえば、以下のSQLクエリでは、Oracleデータベースからの行エラーが生

成されます。

SELECT Product_ID FROM Employees

EmployeesテーブルにはProduct_IDはありません。Data Integration Serviceによって1行

が生成されます。 SQLErrorポートに、以下のエラーテキストが1行で含まれます。

ORA-0094: “Product_ID”: invalid identifier Database driver error... Function Name: Execute SQL Stmt: SELECT Product_ID from Employees Oracle Fatal Error

SQLクエリには複数のクエリ文を設定できます。 SQLのエラー時でも処理を続行するように

SQLトランスフォーメーションを設定した場合、SQLトランスフォーメーションは1つのクエ

リ文に対して行を返し、別のクエリ文に対してはデータベースエラーを返すことがありま

す。 SQLトランスフォーメーションは、データベースエラーを別の行に返します。

影響を受けた行の数

各入力行のINSERT、UPDATE、またはDELETE文が変更する行の数を返すには、

NumRowsAffected出力ポートを有効にします。 Data Integration Serviceは、クエリの文

ごとにNumRowsAffectedを返します。 NumRowsAffectedはデフォルトでは無効になっていま

す。

NumRowsAffectedを有効にし、SQLクエリにINSERT、UPDATE、またはDELETE文が含まれない

場合、各出力行のNumRowsAffectedはゼロになります。

SQLクエリに複数の文が含まれる場合、Data Integration Serviceは文ごとに

NumRowsAffectedを返します。 NumRowsAffectedには、入力行のINSERT、UPDATE、および

DELETE文が変更する行の合計が含まれます。

SQLトランスフォーメーションのポート 283

Page 305: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

たとえば、クエリに以下の文が含まれているとします。

DELETE from Employees WHERE Employee_ID = ‘101’;SELECT Employee_ID, LastName from Employees WHERE Employee_ID = ‘103’;INSERT into Employees (Employee_ID, LastName, Address)VALUES (‘102’, 'Gein', '38 Beach Rd')

DELETE文は、1行に影響を与えます。SELECT文は、どの行にも影響を与えません。INSERT文

は、1行に影響を与えます。

Data Integration Serviceは、DELETE文から1行返します。 NumRowsAffectedは1になりま

す。Data Integration ServiceはSELECT文から1行返し、NumRowsAffectedはゼロになりま

す。 Data Integration ServiceはINSERT文から1行返し、NumRowsAffectedは1になりま

す。

SQLトランスフォーメーションクエリデータベースから行を取得したり、データベースを更新したりするには、SQLエディタで

SQLクエリを作成します。

クエリを作成するには、[SQL]ビューのSQLエディタでクエリ文を入力します。 SQLエデ

ィタには、クエリで参照できるトランスフォーメーションポートのリストが表示されま

す。ポート名をダブルクリックして、クエリパラメータとして追加できます。

SQLクエリを作成すると、クエリ内のポート名がSQLエディタによって検証されます。ま

た、文字列の置換に使用するポートが文字列データ型であるかどうかも確認されます。SQL

エディタでは、SQLクエリの構文は検証されません。

静的なSQLクエリを作成することができます。 クエリ文は変更されませんが、値を変更す

るパラメータを含めることができます。 Data Integration Serviceでは、入力行ごとに

クエリが実行されます。

SQLクエリの定義

入力行ごとに同じクエリ文を実行するSQLクエリを定義します。 クエリのカラムやテーブ

ルを、行内の入力ポートの値に基づいて変更できます。 WHERE句の値も、入力ポートの値

に基づいて変更できます。

入力行ごとのWHERE句のデータ値を変更するには、パラメータのバインドを設定します。

入力ポートの値に基づいてクエリのカラムを変更したり、テーブルを変更したりするに

は、文字列の置換を使用します。

パラメータのバインド

クエリ内のデータを変更するには、クエリパラメータを設定し、これらのクエリパラメー

タをトランスフォーメーションの入力ポートにバインドします。 パラメータを入力ポート

にバインドする場合、クエリ内のポート名を指定します。 SQLエディタでは、ポート名は

疑問符(?)で囲まれます。 クエリデータは、ポート内のデータの値に基づいて変化しま

す。

284 章 27: SQLトランスフォーメーション

Page 306: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下のクエリでは、パラメータのバインドが使用されています。

DELETE FROM Employee WHERE Dept = ?Dept?INSERT INTO Employee(Employee_ID, Dept) VALUES (?Employee_ID?, ?Dept?)UPDATE Employee SET Dept = ?Dept? WHERE Employee_ID > 100

以下のSQLクエリには、SQLトランスフォーメーションのEmployee_IDおよびDept入力ポート

にバインドするクエリパラメータがあります。

SELECT Name, Address FROM Employees WHERE Employee_Num =?Employee_ID? and Dept = ?Dept?

ソースに以下の行があるとします。

Employee_ID Dept 100 Products123 HR130 Accounting

Data Integration Serviceによって、行から以下のクエリ文が生成されます。

SELECT Name, Address FROM Employees WHERE Employee_ID = ‘100’ and DEPT = ‘Products’SELECT Name, Address FROM Employees WHERE Employee_ID = ‘123’ and DEPT = ‘HR’SELECT Name, Address FROM Employees WHERE Employee_ID = ‘130’ and DEPT = ‘Accounting’

文字列の置換

クエリ文のコンポーネントを置換するには、文字列変数を使用します。 例えば、文字列変

数を使用してクエリ内のテーブル名を置換することができます。 また、SELECT文内のカラ

ム名を置換することもできます。

テーブル名を置換するには、各入力行からテーブル名を受け取るように入力ポートを設定

します。SQLエディタで、ポートの[文字列置換]リストからポートを選択します。

Developerツールは、クエリ内の名前で入力ポートを識別し、名前をティルダ(~)で囲み

ます。

以下のクエリには、文字列変数~Table_Port~が含まれています。

SELECT Emp_ID, Address from ~Table_Port~ where Dept = ‘HR’

ソースから、以下の値がTable_Portカラムに渡されるとします。

Table_Port Employees_USAEmployees_EnglandEmployees_Australia

Data Integration Serviceは、~Table_Port~変数を入力ポートのテーブル名の値で置換し

ます。

SELECT Emp_ID, Address from Employees_USA where Dept = ‘HR’SELECT Emp_ID, Address from Employees_England where Dept = ‘HR’SELECT Emp_ID, Address from Employees_Australia where Dept = ‘HR’

入力行と出力行のカーディナリティData Integration ServiceによってSELECTクエリが実行されると、SQLトランスフォーメ

ーションは、取得した行ごとに1行を返します。 クエリでデータが取得されない場合、SQL

トランスフォーメーションによって、入力行ごとにゼロまたは1行が返されます。

入力行と出力行のカーディナリティ 285

Page 307: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

クエリ文の処理

SELECTクエリが成功した場合、SQLトランスフォーメーションによって複数の行が取得

されることがあります。クエリに他の文が含まれる場合、Data Integration Service

は、SQLエラーまたは影響を受けた行の数が含まれる行を生成することがあります。

ポート設定

NumRowsAffected出力ポートには、1つの入力行のUPDATE、INSERT、またはDELETE文が

変更する行の数が含まれます。 SQLトランスフォーメーションは、クエリ内の文ごと

に影響を受けた行の数を返します。 SQLトランスフォーメーションにパススルーポー

トが設定されている場合、トランスフォーメーションは各ソース行に対して 低1回は

カラムデータを返します。

大行数の設定

[ 大出力行数]は、SQLトランスフォーメーションでSELECTクエリから返される行数

を制限します。

エラー行

Data Integration Serviceは、接続エラーまたは構文エラーを検出すると、行エラー

を返します。 SQLトランスフォーメーションには、エラーをSQLErrorポートに返しま

す。

SQLエラー時に続行

SQL文にエラーがあっても処理を継続するようにSQLトランスフォーメーションを設定

できます。 SQLトランスフォーメーションは、行エラーを生成しません。

クエリ文の処理

SQLクエリのタイプによって、SQLトランスフォーメーションで返される行数が決定しま

す。 SQLトランスフォーメーションは、ゼロ行、1行、または複数の行を返すことができま

す。 クエリにSELECT文が含まれる場合、SQLトランスフォーメーションによってデータベ

ースの各列が出力ポートに返されます。該当するすべての行がトランスフォーメーション

によって返されます。

以下の表に、クエリモードでエラーが発生しない場合に、さまざまなタイプのクエリ文に

ついてSQLトランスフォーメーションが生成する出力行を示します。

クエリー文 出力行

UPDATE、INSERT、DELETEのみ クエリ内の文ごとに1行。

1つ以上のSELECT文 取得されたデータベース行の合計数。

CREATE、DROP、TRUNCATEなどのDDLク

エリー

クエリ内の文ごとに1行。

286 章 27: SQLトランスフォーメーション

Page 308: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ポート設定

[統計を出力として含める]を有効にすると、DeveloperツールによってNumRowsAffected

ポートが作成されます。 Data Integration Serviceは、SQLクエリの文に基づいて

NumRowsAffectedが含まれる行を少なくとも1行返します。

以下の表に、NumRowsAffectedを有効にした場合に、SQLトランスフォーメーションによっ

て生成される出力行を示します。

クエリ文 出力行

UPDATE、INSERT、DELETEの

文ごとにその文のNumRowsAffectedが含まれる1

行。

1つ以上のSELECT文 取得されたデータベース行の合計数。

各行のNumRowsAffectedはゼロです。

CREATE、DROP、TRUNCATEな

どのDDLクエリ

ゼロのNumRowsAffectedが含まれる1行。

大出力行数

SQLトランスフォーメーションがSELECTクエリに対して返す行数を制限できます。 [ 大

出力行数]プロパティを設定して、行数を制限します。 クエリに複数のSELECT文が含まれ

る場合、SQLトランスフォーメーションはすべてのSELECT文からの合計の行数を制限しま

す。

例えば、[ 大出力行数]を100に設定したとします。 クエリに以下の2つのSELECT文が含

まれるとします。

SELECT * FROM table1; SELECT * FROM table2;

初のSELECT文によって200行が返され、2番目のSELECT文によって50行が返される場合、

SQLトランスフォーメーションによって 初のSELECT文から100行が返されます。SQLトラン

スフォーメーションは、2番目の文からは行を返しません。

出力行が制限されないように設定するには、[ 大出力行数]をゼロに設定します。

エラー行

Data Integration Serviceは、接続エラーまたは構文エラーを検出すると行エラーを返し

ます。 SQLトランスフォーメーションは、SQLエラーをSQLErrorポートに返します。

パススルーポートまたはNumRowsAffectedポートを設定した場合、SQLトランスフォーメー

ションは各ソース行について 低1行のデータを返します。クエリから行が返されない場

合、SQLトランスフォーメーションはパススルーデータとNumRowsAffected値を返します

が、出力カラムにはNULL値を返します。NULL値の行を削除するには、フィルタトランスフ

ォーメーション経由で出力行を渡します。

入力行と出力行のカーディナリティ 287

Page 309: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、UPDATE、INSERT、またはDELETEのクエリ文について、SQLトランスフォーメー

ションが生成する行を示します。

設定されている

NumRowsAffectedポートまたは

パススルーポート

SQLError 出力される行

いずれのポートも設定されてい

ません

いいえ SQLErrorポートにNULLを含む1

行。

いずれのポートも設定されてい

ません

はい SQLErrorポートにエラーを含む1

どちらかが設定済み いいえ クエリ文ごとに、

NumRowsAffectedまたはパススル

ーのカラムデータを含む1行。

どちらかが設定済み はい SQLErrorポート、

NumRowsAffectedポート、または

パススルーポートのデータにエラ

ーを含む1行。

以下の表に、SELECT文についてSQLトランスフォーメーションが生成する出力行の数を示し

ます。

設定されている

NumRowsAffectedポー

トまたはパススルー

ポート

SQLError 出力される行

いずれのポートも設定

されていません

いいえ 1つ以上の行。各SELECT文から返された行

によって異なります。

いずれのポートも設定

されていません

はい 正常に終了した文の出力行の合計よりも

大きい1行。 後の行には、SQLErrorポー

トにエラーが含まれます。

どちらかが設定済み いいえ 1つ以上の行。各SELECT文で返された行に

よって異なります。

- NumRowsAffectedが有効な場合、各行に

は値0のNumRowsAffectedカラムが含ま

れます。

- パススルーポートが設定されている場

合、各行にはパススルーカラムデータ

が含まれます。クエリによって複数の

行が返された場合、パススルーカラム

288 章 27: SQLトランスフォーメーション

Page 310: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

設定されている

NumRowsAffectedポー

トまたはパススルー

ポート

SQLError 出力される行

データは各行について重複して生成さ

れます。

どちらかが設定済み はい 1つ以上の行。各SELECT文で返された行に

よって異なります。 後の行には、

SQLErrorポートのエラーが含まれます。

- NumRowsAffectedが有効な場合、各行に

は値0のNumRowsAffectedカラムが含ま

れます。

- パススルーポートが設定されている場

合、各行にはパススルーカラムデータ

が含まれます。クエリによって複数の

行が返された場合、パススルーカラム

データは各行について重複して生成さ

れます。

以下の表に、CREATE、DROP、TRUNCATEなどのDDLクエリについて、SQLトランスフォーメー

ションが生成する出力行の数を示します。

設定されている

NumRowsAffectedポートまたは

パススルーポート

SQLError 出力される行

いずれのポートも設定されてい

ません

いいえ SQLErrorポートにNULLを含む1

行。

いずれのポートも設定されてい

ません

はい SQLErrorポートにエラーを含む1

行。

どちらかが設定済み いいえ 値0のNumRowsAffectedカラムお

よびパススルーカラムデータを含

む1行

どちらかが設定済み はい SQLErrorポートにエラー、値0の

NumRowsAffectedカラム、および

パススルーカラムデータを含む1

SQLエラー時に続行

クエリ文で発生するSQLエラーは無視することができます。 [行内のエラー時でも処理を

続行する]を有効にします。 Data Integration Serviceは、行の残りのSQL文の実行を続

行します。

Data Integration Serviceは行エラーを生成しません。 ただし、SQLErrorポートには、

失敗したSQL文とエラーメッセージが含まれます。

入力行と出力行のカーディナリティ 289

Page 311: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

たとえば、クエリに以下の文があるとします。

DELETE FROM Persons WHERE FirstName = ‘Ed’; INSERT INTO Persons (LastName, Address) VALUES ('Gein', '38 Beach Rd')

DELETE文が失敗した場合、SQLトランスフォーメーションによってデータベースからエラー

メッセージが返されます。Data Integration ServiceはINSERT文の処理を続行します。

データベースエラーをトラブルシューティングしたり、エラーをエラーを発生させたクエ

リ文に関連付けたりするには、[行内のエラー時でも処理を続行する] オプションを無効

にします。

SQLトランスフォーメーションの例

あなたはHypostores corporationの人事部の開発者です。 Hypostoresは、従業員の給与

情報を人事の従業員データとは別のデータベースで管理しています。 人事部では、複数の

地域をまたいで、従業員と給与を単一ビューで照会する必要があります。

あなたは、従業員の論理データオブジェクト内の従業員データと給与データを単一ビュー

に表示する、論理データオブジェクトマッピングを作成する必要があります。

従業員データソースを使用して論理データオブジェクトマッピングを作成します。 これ

に、給与データベースから給与及び入社日を取得するSQLトランスフォーメーションを追加

します。

論理データオブジェクトマッピング

論理データオブジェクトマッピングには、以下のオブジェクトが含まれます。

Employeeテーブル

Human Resourcesデータベース内の、従業員データの入力リレーショナルテーブル。

Salaryテーブル

従業員の給与および入社日が含まれる、Payrollデータベース内のテーブル。 データ

ベースはOracleデータベースです。

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

各従業員行に対して入社日と給与を取得するトランスフォーメーション。 このトラン

スフォーメーションはPayrollデータベースに接続され、データベース内のSalaryテー

ブルに対してSQLクエリを実行します。

論理データオブジェクト

従業員データと給与データが結合されたビューを含みます。 論理データオブジェクト

は、SQLトランスフォーメーションから出力を受け取ります。

SQLErrorsファイル

SQLErrorsファイルは、データベースのSQLエラーが含まれるフラットファイルです。

Data Integration Serviceは、入力行ごとに少なくとも1行をSQLErrorsファイルに書

290 章 27: SQLトランスフォーメーション

Page 312: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

き込みます。 SQLエラーが発生しなかった場合、SQLErrorカラムにはNULLが含まれま

す。 SQLErrorsファイルを確認して、エラーをトラブルシューティングします。

Salaryテーブル

Salaryテーブルは、Payrollデータベース内のリレーショナルテーブルです。 このテーブ

ルには、給与部門が管理する従業員データが含まれます。 SQLトランスフォーメーション

は、Salaryテーブルから入社日と従業員の給与を取得します。

以下の表に、Salaryテーブルのいくつかの行を示します。

Employee_Num HireDate Salary

10 3-May-97 232000

11 11-Sep-01 444000

12 17-Oct-89 656000

13 13-Aug-07 332100

Employeeテーブル

ソースはHuman ResourcesデータベースのEmployeeテーブルです。

以下の表に、Employeeテーブルのサンプル行を示します。

EmpID LastName FirstName DeptId Phone

10 Smith Martha FIN (415)

552-1623

11 Jones Cynthia ENG (415)

552-1744

12 Russell Cissy SLS (415)

552-1656

13 Goyal Girish FIN (415)

552-1656

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

SQLトランスフォーメーションは、PayrollデータベースのSalaryテーブルから従業員の入

社日と給与を取得します。 SalaryテーブルはOracleデータベース内にあります。

SQLトランスフォーメーションを設定するには、以下の手順に従います。

1. SQLトランスフォーメーションのプロパティを設定します。

2. ポートを定義します。

SQLトランスフォーメーションの例 291

Page 313: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

3. SQLクエリを作成します。

4. SQLトランスフォーメーションのデータベース接続を設定します。

SQLトランスフォーメーションのプロパティを定義します。

[詳細プロパティ]ビューで、SQLトランスフォーメーションのプロパティを設定します。

以下のプロパティを設定します。

データベースタイプ

データベースタイプはOracleです。 ポートを定義するときに、Oracleに対して適用可

能なポートデータ型を選択できます。

行内のエラー時でも処理を続行する

無効にします。行でSQLエラーが発生した場合は、処理を停止します。

統計を出力として含める

無効にします。NumRowsAffected出力ポートを作成しないでください。

ポートの定義

Employeeソーステーブルのカラムごとに、入力ポートを定義します。 入力ポートをカラム

のパススルーポートに変更するには、[出力にコピー]を選択します。 [出力にコピー]

を選択すると、Developerツールはコピーするポートごとに対応する出力ポートを作成しま

す。

以下の入力パススルーポートを作成します。

名前 タイプ ネイティ

ブタイプ

精度 スケール 出力にコ

ピー

EmpID decimal number(p,

2)

4 0 x

LastName string varchar2 30 0 x

FirstName string varchar2 20 0 x

DeptID string varchar2 4 0 x

Phone string varchar2 16 0 x

SQLトランスフォーメーションでの出力ポートを以下に挙げます。

名前 タイプ ネイティブ

タイプ

精度 スケール

EmpID decimal number(p,s) 4 0

LastName string varchar2 30 0

292 章 27: SQLトランスフォーメーション

Page 314: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

名前 タイプ ネイティブ

タイプ

精度 スケール

FirstName string varchar2 20 0

DeptID string varchar2 4 0

Phone string varchar2 16 0

HireDate date/time timestamp 29 0

Salary decimal number(p,s) 8 2

[出力にコピー]を選択すると、Developerツールは、作成する各出力行に「_output」接

尾辞を追加します。

入社日と給与のカラムに対して、出力ポートを手動で定義します。 SQLトランスフォーメ

ーションは、ポート内のSalaryテーブルから入社日と給与のカラムを返します。

SQLクエリの定義

Salaryテーブルから各従業員の入社日と給与を選択するSQLクエリを作成します。

SQLトランスフォーメーションの[SQL]ビューでクエリを定義します。

SQLエディタで以下のクエリを入力します。

select HIREDATE,SALARY,from Salary where EMPLOYEE_NUM =?EmpID?

Hiredate、Salary、およびEmployee_Numは、Salaryテーブルのカラム名です。

?EMPID? は、EmpIDポートの値を含むパラメータです。

データベース接続の定義

[ランタイム]ビューで、SQLトランスフォーメーションの接続先データベースのデータベ

ース接続オブジェクトを選択します。 Oracleデータベースの接続オブジェクトを選択しま

す。

出力

SQLErrorポートとEmpID_outputポートをSQLErrorsフラットファイルに接続します。 SQL

エラーが発生しなかった場合、SQLErrorポートにはNULL値が含まれます。

EmpID出力ポートと他の出力ポートを論理データオブジェクトに接続します。

SQLトランスフォーメーションは、Employeeテーブルのデータが含まれる行を返し、Salary

テーブルの入社日と給与を組み込みます。

SQLトランスフォーメーションの例 293

Page 315: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、論理データオブジェクトのいくつかの行を示します。

EmpID LastNam

e

FirstNa

me

DeptId Phone HireDat

e

Salary

10 Smith Martha FIN (415)

552-162

3

1997030

3

00:00:0

0

2320.00

11 Jones Cynthia ENG (415)

552-174

4

2001091

1

00:00:0

0

4440.00

12 Russell Cissy SLS (415)

552-165

6

1989101

7

00:00:0

0

6560.00

13 Goyal Girish FIN (415)

552-166

0

2007081

3

00:00:0

0

3210.00

294 章 27: SQLトランスフォーメーション

Page 316: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 8 章

標準化トランスフォーメーション

この章では、以下の項目について説明します。

¨ 標準化トランスフォーメーションの概要, 295 ページ

¨ 標準化ストラテジ, 296 ページ

¨ 標準化のプロパティ, 296 ページ

¨ 標準化ストラテジの設定, 297 ページ

標準化トランスフォーメーションの概要標準化トランスフォーメーションは、入力文字列を調べ、それらの文字列の標準化された

バージョンを作成するパッシブなトランスフォーメーションです。

標準化トランスフォーメーションでは、入力文字列の標準化されたバージョンを含むカラ

ムを作成します。 それらのカラムを作成するときに、入力データに含まれる文字列を置き

換えたり削除したりできます。

例えば、標準化トランスフォーメーションを使用して、Street、St.、およびSTRという文

字列を含むアドレスデータのカラムを調べ、 それらの文字列のすべての出現箇所をStとい

う文字列に置き換えることができます。

標準化トランスフォーメーションには、複数の標準化ストラテジを作成できます。 それぞ

れのストラテジに複数の標準化操作を含めることができます。 標準化トランスフォーメー

ションには、ストラテジを作成するためのウィザードが用意されています。

295

Page 317: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

標準化ストラテジ入力文字列の標準化されたバージョンを含むカラムを作成するには、標準化ストラテジを

使用します。

標準化ストラテジを設定するときは、操作を1つ以上追加し、 操作ごとに特定の標準化タ

スクを実装します。

標準化ストラテジには、以下のタイプの操作を追加できます。

参照テーブルの一致を有効な値で置換

参照テーブルの値に一致する文字列を、参照テーブルの"有効"値で置き換えます。

参照テーブルの一致をカスタム文字列で置換

参照テーブルの値に一致する文字列を、ユーザー定義の置き換え文字列で置き換えま

す。

参照テーブルの一致を削除

参照テーブルの値に一致する文字列を削除します。

カスタム文字列の置換

ユーザー定義の文字列を、ユーザー定義の置き換え文字列で置き換えます。

カスタム文字列の削除

ユーザー定義の文字列を削除します。

重要: 操作の順序は変更が可能です。 各操作で前の操作の結果を読み取るため、操作の

順序によってストラテジの出力が変わることがあります。

標準化のプロパティ標準化のストラテジや操作のプロパティを設定するには、標準化トランスフォーメーショ

ンの[ストラテジ]ビューを選択します。

ストラテジのプロパティ

ストラテジのプロパティは、ストラテジ内のすべての操作に適用されます。 設定できるス

トラテジのプロパティを次に示します。

複数のスペースの削除

連続する複数のスペースを1つのスペースに置き換えます。

末尾および先頭のスペースの削除

データ文字列の先頭および末尾からスペースを削除します。

区切り文字

検索トークンを定義する区切り文字を指定します。 例えば、[セミコロン]を選択し

た場合、標準化トランスフォーメーションで文字列"oranges;apples;"を検索する

296 章 28: 標準化トランスフォーメーション

Page 318: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

と、"oranges"と"apples"の各文字列が検出されます。 区切り文字を選択しなかった

場合は、デフォルトでスペース区切り文字が使用されます。

操作のプロパティ

以下のタイプの標準化操作のプロパティを設定できます。

参照テーブル操作

参照テーブル操作のプロパティを次に示します。

¨ 参照テーブル。 データの標準化に使用する参照テーブルを指定します。 [参照]

をクリックして参照テーブルを選択します。

¨ 大文字小文字の区別。 入力文字列を参照テーブルのエントリと照合するときに大

文字と小文字を区別するかどうかを指定します。

¨ 置換後の文字列。 参照テーブルのエントリに一致する入力文字列を、指定したテ

キストに置き換えます。 置換操作にのみ適用されます。

¨ スコープ。 参照テーブルの値を含む入力文字列の部分を指定します。

カスタム文字列操作

カスタム文字列操作のプロパティを次に示します。

¨ トークンの照合。 入力データ内で検索する検索文字列を定義します。

¨ 置換後の文字列。 指定した検索文字列に一致する入力文字列を置き換えます。 置

換操作にのみ適用されます。

¨ スコープ。 検索する入力文字列の部分を指定します。

標準化ストラテジの設定標準化ストラテジを設定するには、標準化トランスフォーメーションの[ストラテジ]ビ

ューで設定を編集します。

1. [ストラテジ]ビューを選択します。

2. [新規]をクリックします。

新しいストラテジ ウィザードが開きます。

3. [入力]フィールドをクリックして、ストラテジのポートを選択します。

4. ストラテジのプロパティを設定し、[次へ]をクリックします。

5. 操作を選択し、[次へ]をクリックします。

6. 操作のプロパティを設定します。

7. 必要に応じて、[次へ]をクリックして、その他の操作をストラテジに追加します。

8. ストラテジにすべての操作を追加したら、[完了]をクリックします。

9. 必要に応じて、その他のストラテジをトランスフォーメーションに追加します。

10. 必要に応じて、ストラテジや操作を処理する順序を変更します。 ストラテジまたは操

作を選択し、[上に移動]または[下に移動]をクリックします。

標準化ストラテジの設定 297

Page 319: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 2 9 章

共有体トランスフォーメーション

この章では、以下の項目について説明します。

¨ 共有体トランスフォーメーションの概要, 298 ページ

¨ グループおよびポート, 299 ページ

¨ 共有体トランスフォーメーションの詳細プロパティ, 299 ページ

¨ 共有体トランスフォーメーションの処理, 300 ページ

¨ 共有体トランスフォーメーションの作成, 300 ページ

共有体トランスフォーメーションの概要共有体トランスフォーメーションを使用して、複数のパイプラインまたはパイプラインブ

ランチから、1つのパイプラインブランチにデータを統合します。

共有体トランスフォーメーションは、複数の入力グループと1つの出力グループを持つアク

ティブなトランスフォーメーションです。 一致するポートを持つソースを統合し、入力グ

ループと同じポート構造を持つ出力グループを通じてデータを渡します。 共有体トランス

フォーメーションは、Developerツールで重複行を削除せずに複数のソースのデータを統合

する場合に使用します。

例えば、American Bankの顧客アカウントデータがOracleデータベースにあり、

California Bankの顧客アカウントデータがIBM DB2データベースにあるとします。 この場

合、それらの顧客アカウントデータの単一ビューを作成するには、 顧客とアカウントの間

のリレーションを定義する論理データオブジェクトモデルをインポートします。 このモデ

ルには、アカウントと顧客の属性を含むAccount論理データオブジェクトを含めます。 次

に、Accountデータオブジェクトの論理データオブジェクト読み取りマッピングを作成しま

す。 このマッピングに、ソースオブジェクトのデータを統合して顧客アカウントデータの

単一ビューを作成する共有体トランスフォーメーションを含めます。

298

Page 320: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

グループおよびポート共有体トランスフォーメーションには複数の入力グループと1つの出力グループがありま

す。入力グループは作成が可能で、いくつでも作成することができます。 出力グループ

は、Developerツールによって1つだけ作成されます。 出力グループを作成、編集、または

削除することはできません。 各グループには一致するポートが必要です。

ポートを作成するには、トランスフォーメーションからコピーするか手動で作成します。

ポートを作成すると、Developerツールにより、各入力グループに入力ポートが作成され、

出力グループに出力ポートが作成されます。 Developerツールでは、入力ポートと出力ポ

ートのそれぞれに対してユーザーが指定した出力ポート名が使用されます。 また、データ

型、精度、位取りなどのメタデータは、ポートごとに同じものが使用されます。

入力グループは、1つのパイプラインの異なるブランチ、あるいは異なるソースパイプライ

ンから接続することができます。 共有体トランスフォーメーションをマッピングに追加す

る際には、すべての入力グループで同じポートに接続していることを確認する必要があり

ます。1つの入力グループのポートは接続していても、別の入力グループの同じポートを接

続していない場合、Data Integration Serviceは未接続のポートにNULLを渡します。

共有体トランスフォーメーションの詳細プロパティ

Data Integration Serviceでの共有体トランスフォーメーションのログ詳細の表示方法を

指定できるプロパティを設定します。

[詳細]タブでは、以下のプロパティを設定します。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

グループおよびポート 299

Page 321: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

トレースレベル 説明

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

共有体トランスフォーメーションの処理共有体トランスフォーメーションを使用して、複数のパイプラインまたはパイプラインブ

ランチから、1つのパイプラインブランチにデータを統合します。Data Integration

Serviceは、すべての入力グループを並列に処理します。 また、共有体トランスフォーメ

ーションに接続されたソースを読み込むと同時に、データブロックをトランスフォーメー

ションの入力グループに渡します。 共有体トランスフォーメーションは、Data

Integration Serviceからブロックを受け取る順番に基づいてデータブロックを処理しま

す。 入力グループの入力データはブロックされません。

共有体トランスフォーメーションの作成共有体トランスフォーメーションは、再利用可能または再利用不可能なトランスフォーメ

ーションのどちらとしても作成できます。

再利用可能な共有体トランスフォーメーションの作成

複数のマッピングまたはマプレットで使用する場合は、再利用可能な共有体トランスフォ

ーメーションを作成します。

1. [Object Explorer]ビューで、プロジェクトまたはフォルダを選択します。

2. [ファイル] > [新規] > [トランスフォーメーション]をクリックします。

[新規]ダイアログボックスが表示されます。

3. 共有体トランスフォーメーションを選択します。

4. [次へ]をクリックします。

5. トランスフォーメーションの名前を入力します。

6. [完了]をクリックします。

トランスフォーメーションがエディタに表示されます。

300 章 29: 共有体トランスフォーメーション

Page 322: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

7. [新規]ボタンをクリックして、トランスフォーメーションにポートを追加します。

8. ポートを編集して、名前、データ型、および精度を設定します。

9. [グループ]ビューを選択します。

10. [新規]ボタンをクリックして、入力グループを追加します。

11. [詳細]ビューをクリックし、トランスフォーメーションのプロパティを編集しま

す。

再利用不可能な共有体トランスフォーメーションの作成

再利用不可能なトランスフォーメーションは、特定のマッピングまたはマプレットで作成

します。

1. マッピングまたはマプレットで、トランスフォーメーションパレットからエディタに

共有体トランスフォーメーションをドラッグします。

トランスフォーメーションがエディタに表示されます。

2. [全般]ビューで、トランスフォーメーションの名前と説明を編集します。

3. アップストリームトランスフォーメーションのポートをすべて選択し、共有体トラン

スフォーメーションにドラッグします。 ドラッグしたポートが、共有体トランスフォ

ーメーションの入力グループおよび出力グループのポートとして表示されます。

4. [プロパティ]ビューの[グループ]タブで[新規]をクリックして、入力グループ

を追加します。

既存の入力グループと同様のポートを含む入力グループがもう1つ表示されます。

5. 共有体トランスフォーメーションの出力グループのポートを選択し、マッピング内の

ダウンストリームトランスフォーメーションにドラッグします。

共有体トランスフォーメーションの作成 301

Page 323: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 3 0 章

アップデートストラテジトランスフォーメーション

この章では、以下の項目について説明します。

¨ アップデートストラテジトランスフォーメーションの概要, 302 ページ

¨ マッピング内の行のフラグ設定, 303 ページ

¨ 個々のターゲットに対する更新オプションの指定, 305 ページ

アップデートストラテジトランスフォーメーションの概要

アップデートストラテジトランスフォーメーションは、挿入、更新、または拒否のフラグ

を行に設定するアクティブなトランスフォーメーションです。アップデートストラテジト

ランスフォーメーションを使用して、適用する条件に基づいてターゲットの既存の行の変

更を制御します。

アップデートストラテジトランスフォーメーションはアクティブなトランスフォーメーシ

ョンであるため、通過する行の数を変更してしまう可能性があります。アップデートスト

ラテジトランスフォーメーションは、特定の条件を満たしているかどうかを確認するため

に各行をテストし、それに応じて行にフラグを設定します。アップデートストラテジトラ

ンスフォーメーションは、挿入、更新、または削除のフラグを設定する行を次のトランス

フォーメーションに渡します。拒否のフラグが設定された行を次のトランスフォーメーシ

ョンに渡すか、拒否のフラグが設定された行を削除するか、トランスフォーメーションを

設定できます。

例えば、アップデートストラテジトランスフォーメーションを用いて、全顧客の行に対し

て、メールアドレスが変更された際に更新フラグを設定したり、 全従業員の行に対して、

社員でなくなった者については拒否フラグを設定したりできます。

302

Page 324: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

アップデートストラテジの設定

更新方式を定義するには、以下の手順を実行します。

1. マッピング内の行に対する挿入、更新、削除、または拒否のフラグ設定を制御する場

合は、マッピングにアップデートストラテジトランスフォーメーションを追加しま

す。アップデートストラテジトランスフォーメーションを使用して、同じターゲット

に対する行に異なるデータベース操作のフラグを設定したり、行を拒否したりしま

す。

2. マッピングの設定時に、個々のターゲットの挿入オプション、更新オプション、およ

び削除オプションを定義します。ターゲット単位で、挿入または削除のフラグが設定

されたすべての行に対して、挿入および削除を許可または禁止できます。更新のフラ

グが設定されたすべての行に対して更新を処理するさまざまな方法を選択できます。

マッピング内の行のフラグ設定個々の行に挿入、更新、削除、または拒否のフラグを設定するには、アップデートストラ

テジトランスフォーメーションを使用します。

個々の行が特定の条件を満たしているかどうかを見るために、各行をテストするアップデ

ートストラテジトランスフォーメーションを使用します。次に、各行に数値コードを割り

当て、特定のデータベース操作に関して行にフラグを設定します。

以下の表に、各データベース操作を表す定数とその数値を示します。

操作 定数 数値

挿入 DD_INSERT 0

更新 DD_UPDATE 1

削除 DD_DELETE 2

Reject DD_REJECT 3

Data Integration Serviceは、上記以外の値をすべて挿入として扱います。

アップデートストラテジ式

式エディタでアップデートストラテジ式を入力します。

アップデートストラテジ式は、トランスフォーメーション言語のIIFまたはDECODE関数を使

用して、各行をテストします。たとえば次のIIF文は、入力日付が適用日付よりあとの場合

は行に拒否のフラグを設定します。そうでない場合、この文は行に更新のフラグを設定し

ます。

IIF( ( ENTRY_DATE > APPLY_DATE), DD_REJECT, DD_UPDATE)

マッピング内の行のフラグ設定 303

Page 325: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

アップデートストラテジトランスフォーメーションの詳細プロパティ

Data Integration Serviceでのアップデートストラテジトランスフォーメーションのデー

タの処理方法を指定するには、詳細プロパティを設定します。

拒否された行の転送

アップデートストラテジトランスフォーメーションが、拒否された行を次のトランス

フォーメーションに渡すか、拒否された行を削除するかを決定します。デフォルトで

は、Data Integration Serviceは拒否された行を次のトランスフォーメーションに転

送します。Data Integration Serviceは、行に拒否のフラグを設定し、拒否ファイル

に書き込みます。[拒否された行の転送]を選択しなかった場合、Data Integration

Serviceは拒否された行を削除してマッピングログファイルに書き込みます。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

アグリゲータトランスフォーメーションとアップデートストラテジトランスフォーメーション

同じパイプライン内でアグリゲータトランスフォーメーションとアップデートストラテジ

トランスフォーメーションを連結する場合はアグリゲータを配置してからアップデートス

トラテジトランスフォーメーションを配置します。この順番では、Data Integration

304 章 30: アップデートストラテジトランスフォーメーション

Page 326: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Serviceは集計計算を実行し、計算結果を含む行に、挿入、更新、削除、または拒否のフラ

グを設定します。

アグリゲータトランスフォーメーションの前にアップデートストラテジトランスフォーメ

ーションを配置する場合は、アグリゲータトランスフォーメーションが、異なる演算子を

フラグ付された行をどのように処理するかを考慮する必要があります。この順番では、

Data Integration Serviceは挿入、更新、削除、または拒否のフラグを行に設定してから

集計計算を実行します。行にどのようにフラグを設定するかによって、アグリゲータトラ

ンスフォーメーションが計算で使用する行の値をどのように扱うかが決まります。例え

ば、行に削除のフラグを設定した後で、その行を使用して合計を計算すると、Data

Integration Serviceはこの行の値を合計から除算します。行に拒否のフラグを設定した後

で、その行を使用して合計を計算すると、Data Integration Serviceはこの行の値を合計

には加えません。行に挿入または更新のフラグを設定した後で、その行を使用して合計を

計算すると、Data Integration Serviceはこの行の値を合計に加えます。

個々のターゲットに対する更新オプションの指定

アップデートストラテジトランスフォーメーションを使用して特定のデータベース操作の

行ごとにフラグを設定した後、マッピング内のターゲットごとに挿入、更新、および削除

オプションを定義します。挿入または削除のフラグが設定された行に対して、挿入または

削除を禁止できます。更新のフラグが設定されたすべての行に対して更新を処理するさま

ざまな方法を選択できます。

マッピング内のターゲットデータオブジェクトの詳細プロパティでアップデートストラテ

ジオプションを定義します。次のアップデートストラテジオプションを設定できます。

挿入

ターゲットに挿入するようにフラグが設定されたすべての行を挿入します。デフォル

トでは有効になっています。

削除

ターゲットから削除するようにフラグが設定されたすべての行を削除します。デフォ

ルトでは有効になっています。

アップデートストラテジ

既存の行のアップデートストラテジ。 次のいずれかのストラテジを選択します。

¨ [更新時に更新]。更新のフラグが設定されたすべての行を更新します。これがデ

フォルト値です。

¨ [挿入時に更新]。更新のフラグが設定されたすべての行を挿入します。

¨ [更新しない場合は挿入]。更新のフラグが設定されたすべての行がターゲット内

に存在している場合、これらの行を更新した後、挿入のマークが付いている残りの

行を挿入します。

個々のターゲットに対する更新オプションの指定 305

Page 327: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

テーブルの切り詰め

データをロードする前にターゲットを切り詰めます。デフォルトでは無効になってい

ます。

306 章 30: アップデートストラテジトランスフォーメーション

Page 328: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 3 1 章

Webサービスコンシューマトランスフォーメーション

この章では、以下の項目について説明します。

¨ Webサービスコンシューマトランスフォーメーションの概要, 307 ページ

¨ WSDLの選択, 310 ページ

¨ Webサービスコンシューマトランスフォーメーションのポート, 310 ページ

¨ Webサービスコンシューマトランスフォーメーションの入力マッピング, 312 ページ

¨ Webサービスコンシューマトランスフォーメーションの出力マッピング, 315 ページ

¨ Webサービスコンシューマトランスフォーメーションの詳細プロパティ, 319 ページ

¨ Webサービスコンシューマトランスフォーメーションの作成, 322 ページ

¨ Webサービスコンシューマトランスフォーメーションの例, 324 ページ

Webサービスコンシューマトランスフォーメーションの概要

Webサービスコンシューマトランスフォーメーションは、Webサービスクライアントとして

Webサービスに接続し、データへのアクセスまたはデータの変換を行います。

Webサービスは、SOAP、WSDL、XMLなどのオープンスタンダードを使用します。SOAPは、Web

サービス用の通信プロトコルです。Webサービスクライアントの要求およびWebサービスの

応答は、SOAPメッセージです。WSDLは、Webサービス操作のプロトコル、形式、およびシグ

ネチャを記述するXMLスキーマです。

Webサービス操作には、情報の要求、データ更新の要求、タスク実行の要求などがありま

す。例えば、getCustomerOrdersというWebサービス操作を実行するためのSOAPリクエスト

をWebサービスコンシューマトランスフォーメーションが送信するとします。トランスフォ

ーメーションは、リクエストで顧客IDを渡します。Webサービスは、顧客情報と注文情報を

取得し、その情報をSOAPレスポンスでトランスフォーメーションに返します。

Webサービスコンシューマトランスフォーメーションは、WSDL、Webサービス接続、または

エンドポイントURL入力ポートで定義されたエンドポイントURLを使用してWebサービスに接

続します。Webサービス接続でWebサービスのセキュリティを有効にします。

307

Page 329: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

SOAPメッセージ

Webサービスコンシューマトランスフォーメーションは、Webサービスプロバイダと情報を

やり取りしたり、Webサービスを要求したりするために、Simple Object Access Protocol

(SOAP)を使用します。SOAPは、Webサービスのリクエストメッセージとレスポンスメッセ

ージの形式を定義します。

Webサービスコンシューマトランスフォーメーションでデータを変換すると、トランスフォ

ーメーションによってSOAPリクエストが生成され、Webサービスへの接続が行われます。ト

ランスフォーメーションは、WSDLオブジェクト、Webサービス接続、またはエンドポイント

URL入力ポートで定義されたエンドポイントURLを使用してWebサービスに接続します。SOAP

リクエストには、要求された操作を実行するためにWebサービス側で必要となる情報が含ま

れています。 そのWebサービス操作から、SOAP応答としてデータがトランスフォーメーシ

ョンに返されます。トランスフォーメーションは、SOAPレスポンスからデータをマップ

し、出力ポートでデータを返します。

トランスフォーメーションは、ドキュメント/リテラルのエンコーディングを使用するSOAP

1.1メッセージを処理できます。トランスフォーメーションはSOAP 1.2メッセージを処理で

きません。

SOAPメッセージはXMLです。SOAPメッセージに複数出現要素が含まれている場合は、要素の

グループによってXML階層のレベルが形成されます。あるレベルが別のレベル内にネストさ

れている場合、グループは関連しています。

SOAPリクエストメッセージには、階層データを含めることができます。例えば、販売デー

タベースに顧客の注文を追加する要求をWebサービスコンシューマトランスフォーメーショ

ンが送信するとします。トランスフォーメーションは、2つのデータグループをSOAPリクエ

ストメッセージで渡します。一方のグループには顧客のIDと名前が含まれ、もう一方のグ

ループには注文情報が含まれています。注文情報は複数回出現します。

SOAPレスポンスメッセージには、階層データを含めることができます。例えば、Webサービ

スコンシューマトランスフォーメーションが顧客注文に対するSOAPリクエストを生成する

とします。Webサービスは、注文ヘッダーと複数出現の注文詳細要素を、SOAPレスポンスで

返します。

WSDLファイル

WSDLファイルには、送信側と受信側が交換するデータを認識できるように、Webサービスに

渡されるデータが記述されています。Webサービスコンシューマトランスフォーメーション

を作成する前に、WSDLファイルをリポジトリにインポートする必要があります。

WSDLファイルには、Webサービスコンシューマが正しい形式で要求メッセージを送信できる

よう、データに対して実行する操作と、プロトコルやトランスポートへのバインドについ

て記述されています。 WSDLファイルには、Webサービスに接続するネットワークアドレス

が記述されています。

WSDLには、SOAPリクエストメッセージとSOAPレスポンスメッセージのエンコード方法に関

する情報が含まれています。 SOAPエンコーディングによりSOAPメッセージ本体の形式が決

まります。SOAPエンコーディングには、WebサービスがWebサービスコンシューマとの通信

に使用する要求と応答のメッセージの形式が記述されています。 Webサービス開発者は、

さまざまなツールキットを使用してWebサービスを作成できます。ツールキットによって、

サポートされるSOAPメッセージのエンコーディング方法が異なります。

308 章 31: Webサービスコンシューマトランスフォーメーション

Page 330: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Webサービスコンシューマトランスフォーメーションは、ドキュメント/リテラルSOAPエン

コーディングスタイルをサポートします。Webサービスコンシューマトランスフォーメーシ

ョンでは、開発者はWSDL 1.1を使用できます。 MIME、DIME、MTOMメッセージなど、WSDL

アタッチメントは使用できません。

操作

Webサービスには、そのWebサービスがサポートする各アクションの操作が含まれていま

す。

例えば、顧客名を受信して顧客の詳細を応答で返すgetcustomeridという操作をWebサービ

スに含めることができます。操作入力には、顧客名の要素が含まれています。操作出力に

は、顧客名に基づいた顧客詳細の要素が含まれています。

Webサービスコンシューマトランスフォーメーションを設定するときに、トランスフォーメ

ーションが操作入力にデータをマップする方法と、トランスフォーメーションが操作出力

からデータをマップする方法を定義します。トランスフォーメーションでは以下の情報を

設定します。

入力マッピング

トランスフォーメーションの入力ポートをWebサービスの操作入力ノードにマップする

方法を定義します。操作入力では、SOAPリクエスト内の操作の要素を定義します。

出力マッピング

Webサービスの操作出力ノードをトランスフォーメーションの出力ポートにマップする

方法を定義します。操作出力では、SOAPレスポンス内の操作の要素を定義します。

Webサービスのセキュリティ

Webサービス接続でWebサービスのセキュリティを有効にします。次のタイプのセキュリテ

ィを設定できます。

Webサービスのセキュリティ

Data Integration Serviceは、WebサービスプロバイダにSOAPリクエストを送信する

ときにWebサービスセキュリティヘッダーを含めることができます。 Webサービスセキ

ュリティヘッダーには、WebサービスプロバイダがData Integration Serviceを認証

できるように、認証情報が含まれています。

Webサービスコンシューマトランスフォーメーションによってユーザー名トークンが提

供されます。Data Integration Serviceは、SOAPリクエスト内に個別のセキュリティ

SOAPヘッダーを作成し、そのSOAPリクエストをWebサービスプロバイダに渡します。

Webサービス接続では、以下のタイプのWebサービスセキュリティを使用できます。

¨ PasswordText: Data Integration ServiceはWS-Security SOAPヘッダー内のパス

ワードを変更しません。

¨ PasswordDigest: Data Integration Serviceはナンスとタイムスタンプをパスワ

ードに組み合わせます。Data Integration Serviceでは、そのパスワードにSHAハ

ッシュを適用してbase64エンコーディングでエンコードし、エンコードしたパスワ

ードをSOAPヘッダー内で使用します。

Webサービスコンシューマトランスフォーメーションの概要 309

Page 331: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Transport Layer Security(TLS)

Secure Sockets Layer(SSL)を使用してTCP/IPのトランスポートレイヤ(TCPレイ

ヤ)の上に実装されるセキュリティ。Webサービスは、WebアドレスとしてHypertext

Transfer Protocol over SSL(HTTPS)を使用し、メッセージをセキュリティ保護し

て転送します。 HTTP認証、プロキシサーバー認証、SSL証明書の認証方式を、TLSと組

み合わせて使用できます。

WSDLの選択Webサービスコンシューマトランスフォーメーションを作成する前に、WSDLファイルをモデ

ルリポジトリにインポートする必要があります。WSDLファイルは、実行するWebサービスの

操作シグネチャを定義します。WSDLファイルをインポートすると、Developerツールによっ

て、他のトランスフォーメーションで再利用可能な物理データオブジェクトが作成されま

す。

WSDLファイルには複数の操作を定義できます。 Webサービスコンシューマトランスフォー

メーションを作成する場合は、実行する操作を選択します。 操作入力と操作出力の階層を

Webサービスコンシューマトランスフォーメーションに表示できます。 これらの階層によ

って、SOAPリクエストメッセージとSOAPレスポンスメッセージの構造が定義されます。

Webサービスコンシューマトランスフォーメーションのポート

トランスフォーメーションのポートを表示するときに、操作階層を確認する必要がない場

合はポートを表示します。ポートを表示している場合は、グループの定義、ポートの定

義、操作出力から出力ポートへのノードのマップを行うことができます。

Webサービスコンシューマトランスフォーメーションには、複数の入力グループと複数の出

力グループを設定できます。ポートの作成時に、グループを作成してそのグループにポー

トを追加します。操作入力階層または操作出力階層の構造に基づいて、グループ階層内の

ポートを定義します。キーを追加して、子グループと親グループを関連付けます。プライ

マリキーは、 下位のグループを除く階層内のすべてのグループに必要です。外部キー

は、ルートグループを除く階層内のすべてのグループに必要です。

トランスフォーメーションにはRequestInputという名前のルート入力グループがありま

す。プライマリキーをルート入力グループに追加する必要があります。プライマリキー

は、string型、bigint型、integer型のいずれかをとる必要があります。

ルート入力グループにはパススルーポートを追加できます。パススルーポートは、データ

を変更せずにトランスフォーメーションを介してデータを渡します。パススルーポート

は、入力データ内に1回しか指定できません。パススルーポートは、任意の出力グループに

追加できます。出力ポートを入力ポートに関連付けます。SOAPリクエストを通じて渡した

入力値は、SOAPレスポンスからの出力行に繰り返し出現します。

310 章 31: Webサービスコンシューマトランスフォーメーション

Page 332: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

さらに、HTTPヘッダー、クッキーポート、動的URLポート、Webサービスセキュリティ認証

用のポートをルート入力グループに追加することができます。ルートグループ内のデータ

は1回だけ出現します。

操作出力ノードを出力ポートへマップするには、[場所]カラム内のフィールドをクリッ

クし、[場所の選択]ダイアログボックスで階層を展開します。次に、階層からノードを

選択します。

HTTPヘッダー入力ポート

Webサービスには追加のHTTPヘッダーが必要な場合があります。ルート入力グループ内に入

力ポートを作成して、Webサービスプロバイダに追加のヘッダー情報を渡すことができま

す。

HTTPヘッダーとHTTPポートを追加するには、追加先のルート入力グループを選択し、[新

規]ボタンの隣の矢印をクリックします。 次に、[HTTPヘッダー]をクリックします。ヘ

ッダー名とポート名を入力します。

複数のHTTPヘッダーを作成することができます。

その他の入力ポート

事前定義済みの入力ポートをWebサービスコンシューマトランスフォーメーションに追加で

きます。

以下の事前定義済み入力ポートを追加できます。

クッキーポート

クッキー認証を使用するようWebサービスコンシューマトランスフォーメーションを設

定することができます。 リモートWebサービスサーバーは、クッキーに基づいて、Web

サービスコンシューマユーザーを追跡します。 マッピングでWebサービスの呼び出し

を繰り返し行う場合に、パフォーマンスが向上します。

クッキーポートをWebサービス要求メッセージに対して投影する場合、Webサービスプ

ロバイダは応答メッセージでクッキー値を返します。 クッキー値は、マッピング内の

他のトランスフォーメーションダウンストリームに渡すことも、ファイル内に保存す

ることもできます。 クッキー値をファイルに保存する場合、そのクッキー値をWebサ

ービスコンシューマトランスフォーメーションに対する入力として設定できます。

クッキー出力ポートは、Webサービスコンシューマトランスフォーメーションの任意の

出力グループに投影できます。

エンドポイントURLポート

Webサービスコンシューマトランスフォーメーションは、エンドポイントURLを使用し

てWebサービスに接続します。エンドポイントURLは、WSDLファイル、Webサービス接

続、またはエンドポイントURL入力ポートで定義できます。トランスフォーメーション

がURLをポートで動的に受信すると、Data Integration ServiceはWSDLファイルまたは

Webサービス接続で定義されているURLをオーバーライドします。

Webサービスコンシューマトランスフォーメーションには、Webサービス要求ごとにURL

ポート値を1個設定できます。 エンドポイントURLポートはルート入力グループに追加

します。

Webサービスコンシューマトランスフォーメーションのポート 311

Page 333: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

WS-Securityポート

Webサービスのセキュリティは、Webサービス接続で有効にします。Webサービスのセキ

ュリティを有効にするときは、Webサービス接続またはWS-Security入力ポートでユー

ザー名とパスワードを定義する必要があります。

WS-Securityポートを追加するときは、トランスフォーメーションの入力ポートを通じ

てユーザー名とパスワードを渡します。トランスフォーメーションがユーザー名とパ

スワードをポートで動的に受信すると、Data Integration ServiceはWebサービス接

続で定義されている値をオーバーライドします。

注: Webサービス接続には、HTTPとWS-Securityの認証用のユーザー名とパスワードが1

組あります。

事前定義済みの入力ポートを追加するには、[ポート]領域でルート入力グループをクリ

ックします。[新規]ボタンの隣の矢印をクリックし、[その他のポート]をクリックし

ます。 追加するポートを選択します。

Webサービスコンシューマトランスフォーメーションの入力マッピング

トランスフォーメーションのポートを表示するときに、操作入力階層を確認するには入力

マッピングを表示します。入力マッピングを表示している場合は、入力グループの定義、

入力ポートの定義、操作入力ノードへの入力ポートのマップを行うことができます。

入力マッピングは以下の領域で構成されています。

ポート

[ポート]領域では、トランスフォーメーションの入力グループと入力ポートを作成

します。

操作入力

[操作入力]領域には、WebサービスコンシューマトランスフォーメーションからWeb

サービスに伝送されるSOAPリクエストメッセージ内のノードが表示されます。トラン

スフォーメーションの作成に使用するWSDLデータオブジェクトにより、操作入力階層

が定義されます。

入力ポートを作成したら、[ポート]領域から[操作入力]領域のノードへ、入力ポート

をマップします。入力ポートを操作入力内のノードへマップすると、[操作入力]領域の

[場所]カラムにポートの場所が表示されます。

入力階層の第1レベルをマップするよう選択すると、Developerツールによって操作入力の

第1レベルのノードが入力ポートにマップされます。また、マッピングを実行するためのポ

ートが作成されます。階層の第1レベルに、複数出現子ノードを伴う複数出現親ノードが含

まれている場合には、Developerツールは階層の第1レベルをマップしません。

1つの文字列またはテキスト入力ポート内のXMLデータを、完全なSOAPリクエストメッセー

ジにマップすることができます。XMLデータを完全なSOAPリクエストメッセージにマップす

る場合、ポートを操作入力内のノードにマップすることはできません。

入力ポートと操作入力内のノードを結ぶ線を表示するように選択できます。

312 章 31: Webサービスコンシューマトランスフォーメーション

Page 334: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

入力ポートをノードにマップするためのルールとガイドライン

入力ポートを操作入力階層内のノードにマップする場合には、以下のルールを確認しま

す。

¨ 階層内の1個のノードに対して、1個の入力ポートをマップできます。同じポートを階層

内の任意の数のキーにマップできます。

¨ 入力ポートとノードのデータ型には互換性が必要です。

¨ 1つの入力グループ内のノードを、操作入力内の複数の階層レベルにマップできます。

¨ 操作入力のキーに入力ポートをマップする必要があります。キーにマップするポートの

データ型は、string、integer、またはbigintであることが必要です。操作入力内の、

SOAPメッセージに含める階層レベルより上位にある全レベルのキーに、データをマップ

します。マップするレベルと、その上位にある全レベルの外部キーを含めます。

注: 操作入力階層の 下位レベルだけをマップする場合は、入力ポートをキーにマップ

する必要はありません。

¨ string型、bigint型、またはinteger型の複数の入力ポートを[操作入力]領域のキー

にマップして、複合キーを作成できます。複合キーの[場所]フィールドをクリックし

て、入力ポートの順序を変更したり、いずれかのポートを削除したりすることができま

す。

[ビューのカスタマイズ]のオプション

[操作入力]領域にキーを表示するように、操作入力階層を変更することができます。ノ

ードの順序を定義するグループ化構造を表示することもできます。

[操作入力]領域で、[ビューのカスタマイズ]をクリックします。 以下のいずれかのオ

プションを有効にします。

シーケンス、選択、およびすべて

要素定義が、シーケンス、選択、すべてのいずれかであるかどうかを示す線を表示し

ます。

全グループ内のすべてのノードをSOAPメッセージ内に含める必要があります。

シーケンスグループ内のノードは、WSDL内に定義された順序で並んでいる必要があり

ます。

選択グループ内の少なくとも1つ以上のノードが、SOAPメッセージに指定されている必

要があります。

キー

[操作入力]領域にキーを表示します。 [操作入力]領域には、各グループ用のキー

が含まれています。 [ポート]領域内の入力ポートに、キーを追加できます。

Webサービスコンシューマトランスフォーメーションの入力マッピング 313

Page 335: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

操作入力への入力ポートのマッピング

操作入力マッピングを表示している場合は、入力グループの定義、入力ポートの定義、操

作入力ノードへの入力ポートのマッピングを行うことができます。

1. Webサービスコンシューマトランスフォーメーションを開きます。

2. ポートビューで、入力マッピングを表示します。

3. ルート入力グループのプライマリキーを定義します。

4. 次のいずれかの方法を使用して、入力グループまたは入力ポートを[ポート]領域に

追加します。

オプショ

説明

ノードをドラッグす

[操作入力]領域のグループノードまたは子ノー

ドを、[ポート]領域の空のカラムにドラッグし

ます。 グループノードの場合、Developerツール

によってポートのないグループが追加されます。

グループまたはポー

トを手動で追加する

グループを追加するには、[新規]ボタンの隣の

矢印をクリックし、[グループ]をクリックしま

す。 ポートを追加するには、[新規]ボタンの隣

の矢印をクリックし、[フィールド]をクリック

します。

別のトランスフォー

メーションからポー

トをドラッグする

エディタ内で、別のトランスフォーメーションか

らWebサービスコンシューマトランスフォーメーシ

ョンへ、ポートをドラッグします。

ポートをコピーする 別のトランスフォーメーションからポートを選択

し、[ポート]領域へコピーします。 ポートをコ

ピーするには、キーボードショートカットを使用

するか、Developerツールの[コピー]ボタンと

[貼り付け]ボタンを使用します。

[階層の第1レベルの

マップ]を選択する

[階層の第1レベルのマップ]を選択します。

Developerツールによって、操作入力の第1レベル

内のノードが、入力ポートおよび入力グループに

マップされます。また、マッピングを実行するた

めの入力ポートと入力グループが作成されます。

5. ポートを手動で作成するか、別のトランスフォーメーションからコピーした場合は、

[操作入力]領域の[場所]カラムをクリックし、リストからポートを選択します。

6. 以下のいずれかの方法を使用して、入力ポートを複合キーとしてマップします。

オプション 説明

入力ポートをドラッグする 2つ以上の入力ポートを選択し、操作入

力階層内のキーにドラッグします。

[場所の選択]ダイアログボッ

クスから入力ポートを選択する

操作入力階層でキーの[場所]カラムを

クリックし、入力ポートを選択します。

314 章 31: Webサービスコンシューマトランスフォーメーション

Page 336: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

7. 以下のいずれかの方法を使用して、ノードの場所をクリアします。

オプション 説明

[クリア]をクリックする [操作入力]領域でノードを1つ以上選択

し、[クリア]をクリックします。

ポートとノードを結ぶ線を

削除する

操作入力領域で入力ポートとノードを結ぶ

線を1本以上選択し、Deleteキーを押しま

す。

8. 関連付けられているWSDLデータオブジェクト内に、anyType要素、任意の要素、

anyAttribute属性、派生型の要素、または置き換えグループが含まれている場合は、

[操作入力]領域でオブジェクトを選択します。 ノードの[タイプ]カラムで[選

択]をクリックし、リストから1つ以上のタイプ、要素、または属性を選択します。

9. 文字列入力ポートまたはテキスト入力ポートから完全なSOAPリクエストにXMLデータを

マップするには、ポートを右クリックし、[XMLとしてマップ]を選択します。

Webサービスコンシューマトランスフォーメーションの出力マッピング

トランスフォーメーションのポートを表示するときに、操作出力階層を確認するには出力

マッピングを表示します。出力マッピングを表示している場合は、出力グループの定義、

出力ポートの定義、出力ポートへの操作出力ノードのマップを行うことができます。

出力マッピングは以下の領域で構成されています。

操作出力

[操作出力]領域には、WebサービスからWebサービスコンシューマトランスフォーメ

ーションに返されるSOAPレスポンスメッセージ内のノードが表示されます。トランス

フォーメーションの作成に使用するWSDLデータオブジェクトにより、操作出力階層が

定義されます。

ポート

[ポート]領域では、トランスフォーメーションの出力グループと出力ポートを作成

します。

出力ポートを作成したら、[操作出力]領域から[ポート]領域のポートへ、ノードをマ

ップします。操作出力から出力ポートへノードをマップすると、[ポート]領域の[場

所]カラムにノードの場所が表示されます。

出力階層の第1レベルをマップするよう選択すると、Developerツールによって操作出力の

第1レベルのノードが出力ポートにマップされます。また、マッピングを実行するためのポ

ートが作成されます。階層の第1レベルに、複数出現子ノードを伴う複数出現親ノードが含

まれている場合には、Developerツールは階層の第1レベルをマップしません。

Webサービスコンシューマトランスフォーメーションの出力マッピング 315

Page 337: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

出力ポートを階層構造で表示するよう選択することもできます。各子グループは親グルー

プの下に表示されます。操作出力内のノードと出力ポートを結ぶ線を表示するように選択

できます。

関連付けられたWSDLデータオブジェクトがリポジトリから削除された場合、Developerツー

ルは操作ノードの場所を出力マッピングに保持します。出力マッピングを表示すると、

[ポート]領域の出力ポートの[場所]カラムに操作ノードの場所が表示されます。別の

WSDLをトランスフォーメーションに関連付けると、Developerツールはそれぞれの場所が有

効であるかどうかを調べます。場所が有効ではなくなっている場合は、Developerツールは

[ポート]領域で操作ノードの場所をクリアします。

ノードを出力ポートにマップするためのルールとガイドライン

操作出力階層内のノードを出力ポートにマップする際には、以下のルールを確認します。

¨ 操作出力ノードおよび出力ポートのデータ型には互換性が必要です。

¨ グループ内の複数の出力ポートにノードをマップすることはできません。

¨ パススルーポートを除く各出力ポートには、有効な場所を指定する必要があります。

¨ 複数出現子ノードを空の出力ポートにドラッグした場合、グループを他の出力グループ

に関連付ける必要があります。関連付けるグループを選択すると、Developerツールに

より、グループ間を関連付けるキーが作成されます。

¨ 複数出現要素を、親要素が含まれているグループにドラッグする場合、含める子要素の

出現回数を設定することができます。 または、親グループを、トランスフォーメーシ

ョン出力内の複数出現子グループで置き替えることもできます。

SOAPメッセージをXMLとしてマップ

データを個別の出力ポートに返す代わりに、完全なSOAPメッセージをXMLとしてマップでき

ます。

SOAPメッセージをXMLとしてマップすると、Data Integration Serviceにより完全なSOAP

メッセージが1個のポートに返されます。出力ポートは作成しないでください。

完全なメッセージをマップするには、[操作出力]領域でルートグループを右クリックし

ます。[XMLとしてマップ]を選択します。

Developerツールにより、文字列出力ポートが作成されます。 精度は65535バイトです。

[ビューのカスタマイズ]のオプション

[操作出力]領域内にクッキーポート、パススルーポート、およびキーを表示するよう

に、操作出力階層を変更することができます。ノードの順序を定義するグループ化構造を

表示することもできます。

[操作出力]領域で、[ビューのカスタマイズ]をクリックします。 以下のいずれかのオ

プションを有効にします。

316 章 31: Webサービスコンシューマトランスフォーメーション

Page 338: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

シーケンス、選択、およびすべて

要素定義が、シーケンス、選択、すべてのいずれかであるかどうかを示す線を表示し

ます。

全グループ内のすべてのノードをSOAPメッセージ内に含める必要があります。

シーケンスグループ内のノードは、WSDL内に定義された順序で並んでいる必要があり

ます。

選択グループ内の少なくとも1つ以上のノードが、SOAPメッセージに指定されている必

要があります。

キー

[操作出力]領域にキーを表示します。 [操作出力]領域には、各グループのキーが

含まれています。 [ポート]領域内の出力ポートに、キーを追加できます。

パススルーポート

[操作出力]領域には、パススルーポートが表示されます。 パススルーポートとは、

トランスフォーメーションを通じて、変更を加えずにデータを渡すポートのことで

す。 操作出力内のパススルーポートを、Webサービスコンシューマトランスフォーメ

ーションの任意の出力グループへ投影することができます。 パススルーポートはデー

タを1回だけ受け取るため、SOAPメッセージ内のルートレベルにあります。

クッキーポート

クッキーポートを表示します。 クッキー認証を設定するときに、リモートWebサービ

スサーバーは、クッキーに基づいて、Webサービスコンシューマユーザーを追跡しま

す。 Webサービスクッキーを要求メッセージ内に投射する場合、Webサービスは応答メ

ッセージでクッキー値を返します。 操作出力内のクッキー値を、Webサービスコンシ

ューマトランスフォーメーション任意の出力グループへ投影することができます。

出力ポートへの操作出力のマッピング

操作出力マッピングを表示している場合は、出力グループの定義、出力ポートの定義、出

力ポートへの操作出力ノードのマッピングを行うことができます。

1. Webサービスコンシューマトランスフォーメーションを開きます。

2. ポートビューで、出力マッピングを表示します。

3. 以下のいずれかの方法を使用して、出力グループまたは出力ポートを[ポート]領域

に追加します。

オプショ

説明

ノードをドラッグす

[操作出力]領域のグループノードまたは子ノー

ドを、[ポート]領域の空のカラムにドラッグし

ます。 グループノードの場合、Developerツール

によってポートのないグループが追加されます。

Webサービスコンシューマトランスフォーメーションの出力マッピング 317

Page 339: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

オプショ

説明

グループまたはポー

トを手動で追加する

グループを追加するには、[新規]ボタンの隣の

矢印をクリックし、[グループ]をクリックしま

す。 ポートを追加するには、[新規]ボタンの隣

の矢印をクリックし、[フィールド]をクリック

します。

別のトランスフォー

メーションからポー

トをドラッグする

エディタ内で、別のトランスフォーメーションか

らWebサービスコンシューマトランスフォーメーシ

ョンへ、ポートをドラッグします。

ポートをコピーする 別のトランスフォーメーションからポートを選択

し、[ポート]領域へコピーします。 ポートをコ

ピーするには、キーボードショートカットを使用

するか、Developerツールの[コピー]ボタンと

[貼り付け]ボタンを使用します。

[階層の第1レベルの

マップ]を選択する

[階層の第1レベルのマップ]を選択します。

Developerツールによって、操作出力の第1レベル

内のノードが、出力ポートおよび出力グループに

マップされます。また、マッピングを実行するた

めの出力ポートと出力グループが作成されます。

4. ポートを手動で作成するか、別のトランスフォーメーションからコピーした場合は、

[ポート]領域の[場所]カラムをクリックし、リストからノードを選択します。

5. 以下のいずれかの方法を使用して、ポートの場所をクリアします。

オプション 説明

[クリア]をクリックする [ポート]領域でポートを1つ以上選択し、

[クリア]をクリックします。

ノードとポートを結ぶ線を

削除する

操作出力のノードと出力ポートを結ぶ線を1

本以上選択し、Deleteキーを押します。

6. 関連付けられているWSDLデータオブジェクト内に、anyType要素、任意の要素、

anyAttribute属性、派生型の要素、または置き換えグループが含まれている場合、

[操作出力]領域でオブジェクトを選択します。 ノードの[タイプ]カラムで[選

択]をクリックし、リストから1つ以上のタイプ、要素、または属性を選択します。

7. 完全なSOAPレスポンスメッセージをXMLとしてマップするには、[操作出力]領域でル

ートグループを右クリックし、[XMLとしてマップ]を選択します。

318 章 31: Webサービスコンシューマトランスフォーメーション

Page 340: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Webサービスコンシューマトランスフォーメーションの詳細プロパティ

Webサービスコンシューマトランスフォーメーションの詳細プロパティには、トレースレベ

ル、汎用フォールトポート、およびWebサービス接続が含まれます。

トレースレベル

トランスフォーメーションのログに表示される情報の詳細度。

デフォルトは[ノーマル]です。

以下の表に、トレースレベルに関する説明を示します。

トレースレベル 説明

Terse 初期化情報、エラーメッセージ、および拒否データの

通知をログに記録します。

Normal 初期化情報とステータス情報、発生したエラー、トラ

ンスフォーメーション行エラーの発生時にスキップし

た行を、ログに記録します。 マッピング結果のまと

めを行いますが、個別行のレベルでのまとめは行いま

せん。

Verbose

Initialization

Normalトレースで記録される情報に加えて、初期化の

詳細、インデックス名と使用されたデータファイル

名、詳細なトランスフォーメーション統計をログに記

録します。

Verbose Data Verbose Initializationトレースで記録される情報に

加えて、マッピングに渡された各行をログに記録しま

す。 また、文字列データがカラムの精度に一致する

ように切り捨てられた箇所を記録します。

このトレースレベルを設定した場合、トランスフォー

メーションが処理されるときに、ブロック内のすべて

の行の行データがログに書き込まれます。

SOAPアクション

WSDLに定義されているSOAPアクション値を、Webサービスコンシューマトランスフォー

メーションの定数値でオーバーライドします。

汎用SOAPフォールト処理を有効にする

WSDLで定義されていないフォールトメッセージを返します。 フォールトのコードとメ

ッセージを処理する出力ポートをGenericFault出力グループ内に作成します。

Webサービスコンシューマトランスフォーメーションの詳細プロパティ 319

Page 341: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

以下の表に、フォールト出力ポートを示します。

フォールト出力コ

ード

説明

フォールトコード フォールトのIDコードを返します。

フォールト文字列 フォールトメッセージ内のエラーの説明を返しま

す。

フォールト詳細 WebサービスプロバイダからWebサービスコンシュー

マトランスフォーメーションへ、汎用フォールトメ

ッセージで渡されるカスタム情報を返します。

フォールトアクタ フォールト発生の原因となったオブジェクトに関す

る情報を返します。

HTTPエラー処理を有効にする

WebサービスからHTTPエラーを返します。GenericFault出力グループ内にHTTPエラー

出力ポートを作成します。

フォールトをエラーとして扱う

フォールトメッセージをマッピングログに記録します。 フォールトが発生すると、

Data Integration Serviceによってマッピングのエラー数が1件加算されます。

接続

Webサービスに接続するWebサービス接続オブジェクトを特定します。Developerツー

ルでWebサービス接続を作成します。DeveloperツールまたはAdministratorツールで

Webサービス接続を編集します。Webサービス接続を設定するときは、エンドポイント

URL、Webサービスに必要なセキュリティのタイプ、および接続タイムアウト期間を設

定します。

Webサービスコンシューマトランスフォーメーションは、エンドポイントURLを使用し

てWebサービスに接続します。エンドポイントURLは、WSDLファイル、Webサービス接

続、またはエンドポイントURL入力ポートで定義できます。

以下のガイドラインを使用して、Webサービス接続をいつ設定するか判断します。

¨ WSDLファイル内のURLと異なるエンドポイントURLを使用する場合、およびエンドポ

イントURL入力ポートを使用しない場合に、接続を設定します。

¨ 接続先のWebサービスにWebサービスセキュリティ、HTTP認証、またはSSL証明書が

必要な場合に、接続を設定します。

¨ デフォルトの接続タイムアウト時間を変更する場合に、接続を設定します。

注: リポジトリ内のWSDLデータオブジェクトは、Webサービス接続に関連付けることが

できます。関連付けられた接続は、そのWSDLから作成される各Webサービスコンシュー

マトランスフォーメーションのデフォルト接続になります。

圧縮を有効にする

gzip圧縮方式によるSOAPリクエストのエンコードを有効にし、gzipまたはdeflateに

よるSOAPレスポンスのデコードを有効にします。

320 章 31: Webサービスコンシューマトランスフォーメーション

Page 342: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

XMLスキーマ検証

実行時にSOAPレスポンスメッセージを検証します。[無効なXMLでのエラー]または

[検証なし]を選択します。

ソート済み入力

入力データを必ずしもすべて処理しなくても、Data Integration Serviceが出力を生

成できるようにします。 入力データが操作入力階層内のキーを基準にしてソートされ

る場合に、ソート済み入力を有効にします。

Webサービスのエラー処理

Webサービスコンシューマトランスフォーメーションは、SOAPフォールトとHTTPエラーをマ

ッピング内のダウンストリームに渡すように設定できます。 フォールトが発生したとき

に、そのフォールトをエラー数に加算することができます。Webサービスのエラー処理は、

トランスフォーメーションの詳細プロパティで設定します。

Webサービスは、応答メッセージを返すか、またはフォールトを返します。 フォールトは

エラーの一種です。 Webサービスでは、発生するエラーに基づいて各種のフォールトを生

成できます。

Webサービスコンシューマトランスフォーメーションは、以下のタイプのフォールトを返す

ことができます。

SOAPフォールト

WSDLによって定義されたSOAPエラー。 フォールトをWebサービス応答メッセージに含

めて返す出力エラーポートを設定します。 Data Integration Serviceは、フォール

トのフォールトメッセージ、フォールトコード、フォールト文字列、フォールトアク

タ要素を返します。

汎用SOAPフォールト

Webサービスは実行時に汎用SOAPフォールトを生成します。 WSDLは、汎用SOAPフォー

ルトを定義しません。 汎用SOAPフォールトには、認証エラーやSOAPリクエストエラー

などがあります。

HTTPエラー

トランスフォーメーション内でHTTPエラー処理を有効にすると、Developerツールによ

ってHTTPフォールト出力ポートが追加されます。 Data Integration Serviceは、1個

の文字列ポート内のWebサービスからHTTPエラーを返します。 HTTPエラーには、エラ

ーコードとメッセージが含まれます。

WebサービスからのSOAPレスポンスに無効なXMLデータが含まれていた場合、Webサービスコ

ンシューマトランスフォーメーションはエラーを返します。

SOAPフォールトをエラーとして扱うかどうか、設定することができます。 [フォールトを

エラーとして扱う]を有効にした場合にSOAPフォールトが発生すると、Data Integration

Serviceによってマッピングのエラー数が1件加算されます。 フォールトはメッセージログ

に記録されます。

Webサービスコンシューマトランスフォーメーションの詳細プロパティ 321

Page 343: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

メッセージの圧縮

SOAPメッセージ圧縮を有効にした場合、Webサービスコンシューマトランスフォーメーショ

ンはWebサービス要求メッセージを圧縮し、圧縮済みのWebサービス応答メッセージを受け

取ります。

Webサービスコンシューマトランスフォーメーションは、SOAPリクエストをgzip圧縮でエン

コードします。 このトランスフォーメーションでは、gzip圧縮またはdeflate圧縮によっ

てエンコードされた応答メッセージを受け付けます。

Webサービスからの応答を受信すると、Data Integration ServiceはSOAPメッセージ内の

Content-Encoding HTTPヘッダーを調べ、SOAPメッセージをデコードします。

デフォルトは、圧縮なしのエンコードです。 WebサービスはSOAPレスポンスを圧縮しませ

ん。

以下の表に、圧縮がオンになっている場合とオフになっている場合の要求メッセージと応

答メッセージのヘッダーを示します。

圧縮 ヘッダー

オン Content-Encodingヘッダー: gzip

Accept-Encodingヘッダー: gzip、deflate

オフ 空のContent-Encodingヘッダー

空のAccept-Encodingヘッダー

応答メッセージはWebサービスによってデフォルトの圧縮方式でエンコードされていること

もあります。 メッセージがgzipまたはdeflateでエンコードされている場合、Webサービス

コンシューマトランスフォーメーションはそのメッセージをデコードします。 Webサービ

スが応答メッセージを予期せずエンコードしていた場合、Webサービスコンシューマトラン

スフォーメーションはマッピングログにメッセージを記録します。

圧縮はトランスフォーメーションの詳細プロパティで有効にします。

Webサービスコンシューマトランスフォーメーションの作成

再利用可能または再利用不可能なWebサービスコンシューマトランスフォーメーションを作

成できます。再利用可能なトランスフォーメーションは、複数のマッピングで使用できま

す。再利用不可能なトランスフォーメーションは、単一のマッピングで使用されます。

322 章 31: Webサービスコンシューマトランスフォーメーション

Page 344: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

1. トランスフォーメーションを作成するには、次のいずれかの方法を使用します。

オプ

ショ

説明

再利用可能 Object Explorerビューで、プロジェクトまたはフォ

ルダを選択します。 [ファイル] > [新規] >

[トランスフォーメーション]をクリックします。

Webサービスコンシューマトランスフォーメーション

を選択し、[次へ]をクリックします。

再利用不可 マッピングまたはマプレットで、トランスフォーメー

ションパレットからエディタにWebサービスコンシュ

ーマフォーメーションをドラッグします。

[新しいWebサービスコンシューマトランスフォーメーション]ダイアログボックスが

表示されます。

2. [参照]をクリックして、Webサービスの要求メッセージと応答メッセージを定義する

WSDLデータオブジェクトを選択します。

リポジトリ内にWSDLが存在しない場合、[新しいWebサービスコンシューマトランスフ

ォーメーション]ダイアログボックスからWSDLをインポートすることができます。

3. [参照]をクリックして、WSDLから操作を選択します。 [次へ]をクリックします。

[ポート]領域に、トランスフォーメーションの入力グループと入力ポートが表示さ

れます。[操作入力]領域に、要求メッセージ階層が表示されます。

4. 入力グループと入力ポートを定義し、操作入力ノードに入力ポートをマップします。

5. [次へ]をクリックします。

[操作出力]領域に、応答メッセージ階層が表示されます。[ポート]領域に、トラ

ンスフォーメーションの出力グループと出力ポートが表示されます。

6. 出力グループと出力ポートを定義し、出力ポートに操作出力ノードをマップします。

7. [完了]をクリックします。

8. 詳細ビューをクリックし、トランスフォーメーションプロパティとWebサービス接続を

設定します。

関連項目:

¨ 「操作入力への入力ポートのマッピング」 (314ページの)

¨ 「出力ポートへの操作出力のマッピング」 (317ページの)

¨ 「Webサービスコンシューマトランスフォーメーションの詳細プロパティ」 (319ページ

の)

Webサービスコンシューマトランスフォーメーションの作成 323

Page 345: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Webサービスコンシューマトランスフォーメーションの例

例えば、RT100製品ラインの注文情報を営業部門へ公開する必要があるとします。 営業チ

ームでは、注文の概要と注文の詳細を日常的に照会する必要があります。

仮想テーブル内に毎日の注文情報を公開する論理データオブジェクトを作成します。 読み

取りマッピングには、 新のRT100の注文を返すWebサービスコンシューマトランスフォー

メーションが含まれます。 このWebサービスコンシューマトランスフォーメーションは、

RT100製品ラインに対する毎日の注文の概要と詳細をそれぞれ返すWebサービスを使用しま

す。

入力ファイル

入力ファイルは、製品ライン番号を含むフラットファイルです。

この入力ファイルを定義する物理データオブジェクトを作成します。 ファイルには

Product_Lineというフィールドが1個含まれます。 フィールド値はRT100です。 プロパテ

ィビューのランタイムビューで、物理データオブジェクトの場所を定義します。

論理データオブジェクトモデル

所属部門のビジネスアナリストは、注文の概要と注文の詳細のテーブル構造を説明する論

理データモデルを作成します。 この論理データモデルには、Order_Summaryと

Order_Detailの論理データオブジェクトが含まれます。

論理データモデルを定義するスキーマが、アナリストによってモデリングツールで作成さ

れます。 このスキーマから論理データモデルをインポートし、Order_Summaryと

Order_Detailの論理データオブジェクトを作成します。

324 章 31: Webサービスコンシューマトランスフォーメーション

Page 346: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

論理データオブジェクトマッピング

論理データオブジェクトマッピングは、論理データオブジェクトを通じてデータにアクセ

スする方法を記述したものです。

読み取りマッピングには以下のオブジェクトが含まれます。

Product_Line

製品ライン番号を含む入力フラットファイル。

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

現在の日付と、Webサービスコンシューマトランスフォーメーションのルートレベル入

力グループのプライマリキーを返す式トランスフォーメーション。

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

Webサービスを使用して注文情報を取得するWebサービスコンシューマトランスフォー

メーション。 トランスフォーメーションは、製品ラインと現在の日付を応答メッセー

ジに含めてWebサービスに渡します。 トランスフォーメーションは、Webサービスから

注文情報を応答メッセージとして受け取ります。

Order_Summaryテーブル

Order_No、Customer_Id、Qty、Order_Dateなどの注文情報を含む論理データオブジェ

クト。

Order_Detailテーブル

Order_No、Product_Id、Qty、Statusなどの詳細な注文情報を含む論理データオブジ

ェクト。

Orders_Fault

汎用フォールトメッセージを受け取る出力フラットファイル。

Webサービスコンシューマトランスフォーメーションの例 325

Page 347: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Webサービスコンシューマトランスフォーメーション

Webサービスコンシューマトランスフォーメーションは、製品ライン、日付、シーケンス番

号を入力として受け取ります。 このトランスフォーメーションは、Get_Order_Info Webサ

ービス操作を使用して、注文情報を取得します。

Webサービスコンシューマトランスフォーメーションを作成する場合、要求と応答のWebサ

ービスメッセージを記述するWSDLデータオブジェクトを選択します。 Webサービスメッセ

ージには、XML要素の階層グループが含まれます。 要素には他の要素を含めることができ

ます。 要素によっては、複数回出現するものもあります。 トランスフォーメーション

を、リポジトリ内のOrder_Info WSDLオブジェクトから作成します。

トランスフォーメーションの入力ポートを設定し、ポートを操作入力階層にマップしま

す。操作出力階層から出力ポートにノードをマップします。Webサービス接続および実行時

プロパティを設定します。

トランスフォーメーション入力マッピング

ポートビューに入力マッピングを表示している場合、入力ポートを定義し、それらのポー

トを操作入力のノードにマップできます。

トランスフォーメーションの[ポート]領域には、ルートグループとOrderグループがあり

ます。 ルートグループは、Request入力グループです。 Request入力グループに、プライ

マリキーを表すポートを1個追加します。

OrderグループにはSelect_Date入力ポートとSelect_Product_Line入力ポートがありま

す。

これらの入力ポートを、[操作入力]領域のOrder_DateノードとProduct_Lineノードにマ

ップします。

[操作入力]領域は、WebサービスコンシューマトランスフォーメーションがWebサービス

に渡す要求メッセージを定義します。 [操作入力]領域には、デフォルトでノードが表示

されます。

トランスフォーメーション出力マッピング

ポートビューに出力マッピングが表示されている場合、操作出力のノードをトランスフォ

ーメーション出力グループにマップすることで、出力ポートを定義できます。

Webサービスは、以下の階層をWebサービス応答メッセージに含めて返します。

Response Orders Order Key_Order Order_ID Order_Date Customer_ID Total_Qty Order_Details Order_Detail Product_ID Description Qty Status

326 章 31: Webサービスコンシューマトランスフォーメーション

Page 348: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Webサービスから複数の注文が返されます。 Orderは、Ordersレベルの複数出現ノードで

す。個々の注文に対して、Webサービスは注文の詳細を複数返すことができます。

Order_Detailは、Order_Detailレベルの複数出現ノードです。

注: Developerツールにより、ユーザーインタフェースにKey_Orderノードが追加されま

す。 これらのキーを出力グループにマッピングすることで、グループ間のリレーションを

定義できます。 この例では、Order_IDは、Orderのプライマリキーであると同時に

Order_Detailsの外部キーでもあります。

[ポート]領域で、以下の出力グループを作成します。

Order Order_ID Order_Date Customer_ID Total_Qty

Order_Detail Order_ID Product_ID Description Qty Status

Data Integration Serviceは、Order_IDの値が変更されると必ず、Orderグループから行

を書き出します。

Data Integration Serviceは、Order_IDとProduct_IDの値が変更されると必ず、

Order_Detailグループから行を書き出します。

トランスフォーメーションの詳細プロパティ

Webサービスコンシューマトランスフォーメーションの以下の詳細プロパティを設定しま

す。

汎用SOAPフォールト処理を有効にする

SOAPフォールトメッセージを受け取る出力ポートを追加します。

接続

WebサービスにアクセスするWebサービス接続を選択します。

圧縮を有効にする

Webサービスコンシューマトランスフォーメーションにより、Webメッセージがgzipで

圧縮されます。

Webサービスコンシューマトランスフォーメーションの例 327

Page 349: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

第 3 2 章

加重平均トランスフォーメーション

¨ 加重平均トランスフォーメーションの概要, 328 ページ

加重平均トランスフォーメーションの概要加重平均トランスフォーメーションは、一致操作から一致スコアを読み取り、スコアに重

み付けをし、集計一致スコアを生成するパッシブトランスフォーメーションです。

加重は割合値です。 各入力スコアに適用される加重を編集して、集計スコアに寄与する割

合を増やしたり減らしたりすることができます。 加重平均トランスフォーメーションの出

力スコアには、重複分析の各データフィールドの相対的な重要度が反映されます。

入力一致スコアに加重を割り当てるには、加重平均トランスフォーメーションの入力ポー

トをクリックし、[ウェイト]カラムの値を編集します。 0.001から1.0までの値を選択で

きます。

加重平均トランスフォーメーションは、2つ以上の一致ストラテジをデータセット内のレコ

ードに適用するように比較トランスフォーメーションを設定しているときに使用します。

加重平均トランスフォーメーションは、レコードのペアごとに集計一致スコアを計算し、

重複レコードをグループ化して以降の処理を実行できるようにします。

注: 一致トランスフォーメーションで加重を割り当てることもできます。 照合マプレット

では、加重平均トランスフォーメーションを比較トランスフォーメーションとともに使用

します。 一致ストラテジの設定や1つのトランスフォーメーションでの加重の割り当てに

は、一致トランスフォーメーションを使用します。 一致トランスフォーメーションに一致

マプレットを組み込むことができます。

一致スコアの重み付けの例

一致トランスフォーメーションを使用して、顧客データセットのZIP codeカラムとSurnameカ

ラムの一致スコアを生成しています。 多くのレコードには一致する郵便番号があります

が、一致する姓のあるレコードの数はそれよりもかなり少なくなります。 これらの一致ス

コアの平均を算出するときは、より一意性の高い一致の重要性を強調する必要がありま

す。

328

Page 350: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

姓の一致スコアの重要性を強調するために、Surnameの入力の[ウェイト]値を0.8に設定

し、ZIP codeの入力の値を0.4に設定します。

加重平均トランスフォーメーションの概要 329

Page 351: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

付録 A

トランスフォーメーションの区切り文字

¨ トランスフォーメーションの区切り文字の概要, 330 ページ

トランスフォーメーションの区切り文字の概要

トランスフォーメーションの区切り文字は、データ文字列間の区切りを示します。

次の表に、データ文字列の解析や書き込みを行う際にトランスフォーメーションで使用す

る区切り文字を示します。

区切り文字の名称 区切り文字記号

アットマーク @

カンマ ,

ダッシュ -

二重引用符 "

スラッシュ /

ピリオド .

シャープ #

パイプ |

セミコロン ;

単一引用符 '

330

Page 352: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

区切り文字の名称 区切り文字記号

スペース [Spaceキー]

タブ [Tabキー]

下線 _

トランスフォーメーションの区切り文字の概要 331

Page 353: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

索引

AanyAttribute属性

Webサービスコンシューマトランスフォーメーション

312, 315

anyType要素

Webサービスコンシューマトランスフォーメーション

312, 315

any要素

Webサービスコンシューマトランスフォーメーション

312, 315

APIメソッド

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

Cchoice要素

Webサービスコンシューマトランスフォーメーションの

表示 313, 316

DData Integration Service)

再起動モード 175

defineJExpression

Java式のAPIメソッド 185

defineJExpressionメソッド

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

EEDataTypeクラス

Java式 184

FfailSessionメソッド

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

GgenerateRowメソッド

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

getBytesメソッド

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

getDoubleメソッド

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

getInRowTypeメソッド

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

getIntメソッド

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

getLongメソッド

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

getResultDataTypeメソッド

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

getResultMetadataメソッド

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

getStringBufferメソッド

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

gzip

SOAPメッセージの圧縮 322

HHTTPエラー出力

Webサービスコンシューマトランスフォーメーションの

有効化 319

HTTPヘッダー

Webサービスコンシューマトランスフォーメーションへ

の追加 311

IincrementErrorCountメソッド

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

invokeJExpression

APIメソッド 181

invokeJExpressionメソッド

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

isNullメソッド

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

isResultNullメソッド

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

JJavaコード

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

エラーの検出 166

Javaコードのコンパイル

[コード全体]タブ 162

Javaコードスニペット

Javaトランスフォーメーション用に作成 157

332

Page 354: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

Javaコードの生成

Java式 179

Java式

EDataTypeクラス 184

invokeJExpression APIメソッド 181

Javaコードの生成 179

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

JExpressionクラス 186, 187

JExprParaMetadataクラス 184

[関数の定義]ダイアログボックスで作成 180

関数の設定 179

高度なインタフェース 182

高度なインタフェースを使用した呼び出し 183

高度なインタフェースの例 186

作成 179

生成 178

設定 178

単純なインタフェース 181

単純なインタフェースの例 182

単純なインタフェースを使用した呼び出し 181

呼び出し 172

呼び出しに関するルールおよびガイドライン 172

ルールおよびガイドライン 181, 183

Java式のAPIメソッド

defineJExpression 185

getBytes 187

getDouble 187

getInt 188

getLong 188

getResultDataType 188

getResultMetadata 188

getStringBuffer 189

isResultNull 190

呼び出し 189

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

APIメソッド 167

defineJExpressionメソッド 168

failSessionメソッド 169

generateRowメソッド 170

getInRowTypeメソッド 170

incrementErrorCountメソッド 171

invokeJExpressionメソッド 172

isNullメソッド 173

Javaコード 155

Javaコードスニペットの作成 157

Javaプリミティブデータ型 149

logErrorメソッド 173

logInfoメソッド 174

NULL値の設定 176

NULL値のチェック 173

resetNotificationメソッド 175

setNullメソッド 176

アクティブ 149

[インポート]タブ 158, 160

概要 147

[関数]タブ 162

高精度処理 152

[コード全体]タブ 162

コンパイル 164

コンパイルエラー 165

コンパイルエラーの原因の特定 166

[ 後]タブ 162

再利用可能 148

再利用不可 148

作成 163, 164

詳細プロパティ 152

設計 151

データ型変換 149

デフォルトのポート値 151

トラブルシューティング 165

ナノ秒処理 152

入力行タイプの取得 170

入力ポート 152

出力ポート 152

[入力時]タブ 161

パッシブ 149

非ユーザーコードのエラー 166

[ヘルパ]タブ 159, 160

変数のリセット 175

ポートの作成 151

マッピングの失敗 169

マッピングレベルのクラスパス 155

ユーザーコードのエラー 166

ログ 173, 174

Javaパッケージ

インポート 158

Javaプリミティブデータ型

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

JDK

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

JExpressionクラス

Java式 186, 187

JExprParaMetadataクラス

Java式 184

JRE

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

LlogErrorメソッド

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

logInfoメソッド

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

NNULL値

Javaトランスフォーメーションの設定 176

Javaトランスフォーメーションでのチェック 173

NumRowsAffected

出力される行 287

RresetNotificationメソッド

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

SsetNullメソッド

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

SIN番号

再現可能なデータマスキング 114

社会保険番号のマスキング 114

索引 333

Page 355: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

SOAPアクション

Webサービスコンシューマトランスフォーメーションの

オーバーライド 319

SOAPアクションのオーバーライド

Webサービスコンシューマトランスフォーメーション

319

SOAP圧縮

Webサービスコンシューマトランスフォーメーション

322

SOAPメッセージ

概要 308

SQLErrorポート

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

SQLエラー時に続行

SQLトランスフォーメーション 286, 289

SQLクエリ

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

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

SQLErrorポート 283

SQLエラー時に続行 289

影響を受けた行の数 283

概要 279

クエリの定義 284

クエリ文 293

クエリ文字列の置換 285

出力行の数 287

出力行の制限 287

出力ポートの定義 282

[詳細プロパティ]ビュー 280

データベース接続の定義 293

入力行と出力行のカーディナリティ 286

入力ポートの説明 281

パススルーポート 283

パラメータのバインド 284

ポート 281

example 290

SQL入力ポート

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

WWebサービスコンシューマトランスフォーメーション

HTTPエラー出力の有効化 319

HTTPヘッダーの追加 311

SOAP圧縮 322

SOAPメッセージ 308

エラー処理 321

エンドポイントURL 311

概要 307

キーの表示 313, 316

クッキー認証 311

作成 323

出力マッピング 315

詳細プロパティ 319

セキュリティ 309

操作 309

動的WebサービスURL 311

動的なWS-Security名 311

トランスポートレイヤセキュリティ 309

入力マッピング 312

汎用フォールト出力の有効化 319

汎用SOAPフォールト 321

マッピング出力ノード 315

マッピング入力ポート 312

Webサービス接続

概要 319

WS-Securityユーザー名

動的ポート 311

WSDLファイル

サービス要素 308

操作の要素 308

バインディング要素 308

ポート要素 308

あアクティブトランスフォーメーション

Java 147

説明 1

アクティブなトランスフォーメーション

Java 149

Rank 261

アグリゲータトランスフォーメーション

Group Byポート 55

アップデートストラテジの組み合わせ 304

開発 51

概要 50

再利用可能なオブジェクトの作成 58

再利用不可能なオブジェクトの作成 59

集計関数 54

集計キャッシュ 53

集計式 54

詳細プロパティ 52

ソート済み入力 56

データのソート 57

トラブルシューティング 60

ネストされた集計関数 54

非集計式 56

ヒント 59

ポート 51

アップデートストラテジトランスフォーメーション

アグリゲータの組み合わせ 304

概要 302

拒否された行の転送 304

作成 303

式 303

詳細プロパティ 304

設定手順 303

いインスタンス変数

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

え影響を受けた行の数

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

エディタのビュー

再利用可能なJavaトランスフォーメーション 148

再利用不可能なJavaトランスフォーメーション 148

エラー

Javaトランスフォーメーションにおけるしきい値の増加

171

334 索引

Page 356: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

エラー数

Javaトランスフォーメーションでの増分 171

エンドポイントURL

Webサービスコンシューマトランスフォーメーション

311

か開始桁

社会保険番号 115

概要

カスタムデータトランスフォーメーション 92

カスタムデータトランスフォーメーション

XMLスキーマへのエクスポート 94

概要 90

サービスの設定 93

サービスからのポートの作成 99

作成 100

出力データのプレビュー 100

[詳細]ビュー 95

ステータストレースメッセージ 97

追加ポート 92

デフォルトポート 92

ビュー 91

ポートのタイプ 97

ポートの追加 98

リレーショナルターゲットへの書き込み 94

[関数]タブ

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

きキーマスキング

数値 103

数値のマスキング 104

説明 103

日時の値のマスキング 105

文字列値のマスキング 104

キャッシュ

ルックアップトランスフォーメーション 222

更新のフラグ設定 303

共有体トランスフォーメーション

概要 298

拒否された行の転送

オプション 304

設定 304

拒否ファイル

アップデートストラテジ 304

くクッキー認証

Webサービスコンシューマトランスフォーメーション

311

クラスパス

マッピングプロパティ 155

グループ

ユーザー定義 268

ルータトランスフォーメーション 268

ルータトランスフォーメーションへの追加 270

グループフィルタ条件

ルータトランスフォーメーション 269

け結果文字列の置換文字

データマスキングトランスフォーメーション 109

結合条件

概要 194

検索

Javaコードのエラー 166

こ高精度処理

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

[構造]ビュー

カスタムデータトランスフォーメーション 94

高度なインタフェース

EDataTypeクラス 184

Java式 182

Java式の呼び出し 183

JExpressionクラス 186, 187

JExprParaMetadataクラス 184

例 186

考慮事項

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

[コード全体]タブ

Javaコンパイルエラー 165

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

コードスニペット

Javaトランスフォーメーション用に作成 157

コンパイル

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

コンパイルエラー

Javaトランスフォーメーションのソースの識別 166

さサービス

WSDLファイル要素 308

データトランスフォーメーション 93

サービスビュー

カスタムデータトランスフォーメーション 93

[ 後]タブ

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

大出力行数

SQLトランスフォーメーション 286, 287

再利用可能なトランスフォーメーション

説明 6

編集 7

作成

Javaトランスフォーメーション 163, 164

し式

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

検査 10

コメントの追加 10

索引 335

Page 357: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

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

入力 9

ポートへの追加 9

式エディタ

式の検証 10

説明 9

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

開発 142

概要 141

詳細プロパティ 142

ポート 143

社会保障番号

再現可能なデータマスキング 113

地域コードマスキング 112

出力階層のエクスポート

カスタムデータトランスフォーメーション 94

出力マッピング

Webサービスコンシューマトランスフォーメーション

315

ジョイナトランスフォーメーション

同じソースからのデータの結合 200

概要 191

完全外部結合 197

結合タイプ 195

条件 194

条件タイプ 194, 195

詳細条件タイプ 195

詳細プロパティ 192

ソースパイプラインのブロック 202

ソート順の設定 198

ソート済み 202

ソート済み入力 197

単純条件タイプ 194

ノーマルジョイン 196

パフォーマンス 203

ポート 193

マスタ外部結合 196

マスタ行のキャッシュ 202

未ソート 202

明細外部結合 196

ルールおよびガイドライン 204

条件

ジョイナトランスフォーメーション 194

ルータトランスフォーメーション 269

条件タイプ

ジョイナトランスフォーメーションの詳細 195

ジョイナトランスフォーメーションの単純 194

詳細条件タイプ

ジョイナトランスフォーメーション 195

[詳細]ビュー

カスタムデータトランスフォーメーション 95

詳細プロパティ

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

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

Webサービスコンシューマトランスフォーメーション

319

シリアライザ

データトランスフォーメーション 93

す数値

キーマスキング 104

ランダムマスキング 106

ステータストレースメッセージ

カスタムデータトランスフォーメーション 97

ストリーマ

データトランスフォーメーション 93

すべてのグループ

Webサービスコンシューマトランスフォーメーションの

表示 313, 316

せ静的コード

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

静的変数

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

設計

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

接続

Webサービス 319

接続されたトランスフォーメーション

Java 147

ランク 261

接続されたルックアップ

概要 219

説明 218

接続されていないトランスフォーメーション

ルックアップトランスフォーメーション 219

接続されていないルックアップ

概要 219

説明 218

そ操作

WSDLファイル要素 308

[操作出力]領域

Webサービスコンシューマトランスフォーメーションの

カスタマイズ 316

[操作入力]領域

Webサービスコンシューマトランスフォーメーションの

カスタマイズ 313

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

概要 273

ソース文字列の文字

データマスキングトランスフォーメーション 109

た代替グループ

Webサービスコンシューマトランスフォーメーション

312, 315

単純条件タイプ

ジョイナトランスフォーメーション 194

単純なインタフェース

Java式 181

JavaトランスフォーメーションAPIメソッド 181

例 182

336 索引

Page 358: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

てデータ型

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

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

設定 91

説明 90

ポートの作成 99

データのプレビュー

カスタムデータトランスフォーメーション 100

データマスキングトランスフォーメーション

IPアドレスのマスキング 114

URLのマスキング 114

クレジットカードのマスキング 113

再現可能なSIN番号 114

再現可能なSSN 113

社会保険番号のマスキング 114

社会保障番号のマスキング 112, 116

説明 102

ソース文字列の文字 109

デフォルト値ファイル 115

電子メールアドレスのマスキング 113

電話番号のマスキング 113

特殊マスク形式 112

範囲 110

日付値のマスキング 111

ブラー 111

マスキング方法 103

マスク形式 108

ランダムマスキング 105

デフォルトグループ

ルータトランスフォーメーション 268

デフォルト値

データマスキング 115

と動的URL

Webサービスコンシューマトランスフォーメーション

311

特殊形式マスキング

IPアドレス 114

URL 114

クレジットカード番号 113

再現可能なSIN番号 114

社会保険番号 114

社会保障番号 112

電子メールアドレス 113

電話番号 113

トラブルシューティング

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

トランスフォーマ

データトランスフォーメーション 93

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

Java 147

アクティブ 1

開発 6

概要 1

再利用可能 6

再利用可能なトランスフォーメーションの編集 7

作成 17

式 7

式の検証 10

パッシブ 2

トランスポートレイヤセキュリティ

Webサービスコンシューマトランスフォーメーション

309

なナノ秒処理

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

に日時の値

データマスキング 105

入力行

行タイプの取得 170

入力ポート

Javaトランスフォーメーション 151, 152

出力ポート

Javaトランスフォーメーション 151, 152

入力マッピング

Webサービスコンシューマトランスフォーメーション

312

[入力時]タブ

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

はパーサー

データトランスフォーメーション 93

バインディング

WSDLファイル要素 308

パススルーポート

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

派生型要素

Webサービスコンシューマトランスフォーメーション

312, 315

パッシブトランスフォーメーション

Java 147, 149

説明 2

バッファポート

カスタムデータトランスフォーメーション 97

パラメータのバインド

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

範囲

数値のマスキング 110

汎用フォールト出力

Webサービスコンシューマトランスフォーメーションの

有効化 319

ひ日付の値

ランダムデータマスキング 106

非ユーザーコードのエラー

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

索引 337

Page 359: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

ふファイルポート

カスタムデータトランスフォーメーション 97

フィルタトランスフォーメーション

NULL値を含む行 146

概要 144

詳細プロパティ 145

パフォーマンスのヒント 146

フィルタ条件 145

フォールトをエラーとして扱う

Webサービスコンシューマトランスフォーメーションの

有効化 319

複合キー

Webサービスコンシューマトランスフォーメーション

312

ブラー

数値 111

日付の値 111

へ変数

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

ほポート

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

カスタムデータトランスフォーメーション 98

ルータトランスフォーメーション 270

[ポート]ビュー

SQLトランスフォーメーション出力 282

ポート値

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

汎用SOAPフォールト

Webサービスコンシューマトランスフォーメーション

321

まマスキング方法

データマスキング 103

マスキングルール

結果文字列の置換文字 109

ソース文字列の文字 109

特殊マスク形式 112

範囲 110

ブラー 111

マスク形式 108

マスク形式

特殊マスク形式 112

文字列値のマスキング 108

マッパー

データトランスフォーメーション 93

マッピング

行に対する更新のフラグ設定 303

ルータトランスフォーメーションの使用 271

マッピングの失敗

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

めメソッド

JavaトランスフォーメーションAPI 167

も文字列

ランク付け 262

文字列値

カスタムデータマスキング 105

キーデータマスキング 104

文字列の置換

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

ゆユーザーコードのエラー

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

ユーザー定義グループ

ルータトランスフォーメーション 268

ユーザー定義メソッド

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

よ呼び出し

Java式のAPIメソッド 189

らランク付け

データグループ 264

文字列値 262

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

RANKINDEXポート 263

オプション 262

概要 261

グループの定義 264

詳細プロパティ 265

ポート 263

ランクポート 263

[ランタイム]ビュー

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

ランダムマスキング

数値 105

日付値のマスキング 106

文字列値のマスキング 105

るルータトランスフォーメーション

概要 267

グループ 268

グループフィルタ条件 269

詳細プロパティ 271

ポート 270

マッピングでの接続 271

338 索引

Page 360: Informatica Developer 9.1.0 HotFix 4 トランス … Documentation...LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェ

example 269

ルックアップキャッシュ

概要 222

ルックアップトランスフォーメーション

開発 220

概要 217

キャッシュ 222

再利用可能なオブジェクトの作成 228

再利用不可能なオブジェクトの作成 229

接続 218, 219

接続されていないルックアップの作成 230

フラットファイルルックアップの詳細プロパティ 225

未接続 218, 219

ランタイムプロパティ 224

リレーショナルルックアップの詳細プロパティ 227

ルックアップ条件 221

ルックアップ条件のルールおよびガイドライン 221

論理データオブジェクトルックアップの詳細プロパティ

228

ろログ

Javaトランスフォーメーション 173, 174

索引 339