<\/HEAD>
***このワークフローは etlsolutions v0.5.2 と連携しています***<\/SPAN><\/P>こちらをクリック して Data Translation Tools の利点と開始方法について詳しく学んでください<\/SPAN><\/P><\/P>UCで追加のドキュメントとサンプルのリクエストがありました。スレッドに zip pro パッケージが添付されています。<\/SPAN><\/P> <\/SPAN><\/P>あるファイルジオデータベースから別のファイルジオデータベースへデータを移動したいと思います。これは Extract, Transfer, and Load (ETL) とも呼ばれます。状況を説明します。<\/SPAN><\/P> <\/SPAN><\/P>ファイルジオデータベース、略して fgdb を持っています。これをソースと呼びます。このジオデータベース内には Cars と名付けられたフィーチャクラスがあります。このフィーチャクラスには Red、Blue、Green の三つのサブタイプがあります。それぞれのサブタイプにはドメインが割り当てられています。このフィーチャクラスのすべてのデータをターゲットのファイルジオデータベースに移動したいです。このターゲット fgdb は Trucks と呼ばれる異なるスキーマのフィーチャクラスを持っています。スキーマとは属性、データ型、ドメイン、その他のデータ管理概念を含む用語です。Trucks フィーチャクラスにも三つのサブタイプがありますが、それらは Cars のものとは異なります。Red、Blue、Green の代わりに One、Two、Three と呼ばれています。<\/SPAN><\/P> <\/SPAN><\/P>ワークブックを使ってデータを変換する方法は三通りあります。第一の方法はドメインなしで単純なフィールドマッピングを行います。第二の方法はシートをドメインのルックアップテーブルとして使用します。最後の方法はハードコードされた値を使って値を「焼き込み」ます。このブログではそれぞれの方法について説明します。<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P> <\/SPAN><\/P>Data Translation ツールボックス内の最初のツールは Create Mapping Workbooks ツールです。<\/SPAN><\/P> <\/SPAN>Data Translation ツールボックス内の GP Tool Create Mapping Workbooks ツールを開きます。<\/SPAN><\/LI> <\/SPAN>各ソースフィーチャクラスを対応するターゲットフィーチャクラスにポイントします。<\/SPAN><\/LI> <\/SPAN>マッピングワークブックの出力フォルダを指定します。<\/SPAN><\/LI> <\/SPAN>(オプション)特徴数統計を計算するチェックボックスにチェックを入れて、どのフィールドにデータが入力されているかの情報を生成します。<\/SPAN><\/LI><\/UL> <\/SPAN><\/P>
ツールが実行されると、Points フォルダが表示され、その中に Cars と呼ばれるマッピングワークブックと後で Load Data from Workbook ツールで使用する mapping.xlsx ファイルが含まれています。これらの Excel ワークブックに情報を入力する方法について説明します。<\/span>
<\span>
方法一:単純なフィールドマッピング
ステップ1:
Cars ワークブックを開き、Mapping シートに移動します。targetField、sourceField、および fieldType の列はすべてシステムによって生成されています。expression、sheet、sheetKeys、および sheetValue の列は方法二および三で使用されます。このデフォルトワークブックは翻訳なしで新しいファイルジオデータベースにデータを転送するように設定されています。



これはつまり、ドメインはコードを使ってマッピングされるということです。例えば、Red はターゲットフィーチャレイヤーの "Type" ドメインにコード0がないため何にもマッピングされません。Blue はコード1が共通なので One にマッピングされます。Green はコード2が共通なので Two にマッピングされます。
ステップ2:
Load Data from Workbook ツールでデータを Extract, Transfer and Load(ETL)する前に mapping.xlsx ワークブックを確認しましょう。
このワークブック内の各行はツールに対して:ソースデータベース設定、ターゲットデータベース設定、およびルックアップワークブック設定を指示します。この最初の行は、このワークフロー開始時に Create Mapping Workbooks セクションで Cars フィーチャクラスから Trucks フィーチャクラスへポイントした際に作成されました。

ステップ3:
すべて確認したので Load Data from Workbook ツールを実行しましょう。
- Data Translation ツールボックス内の Load Data from Workbook ツールを開きます。
- Create Mapping Workbooks ツールで作成されたマッピングワークブックの場所を指定します。
- (オプション)ロード前にターゲットジオデータベースを切り詰めます。

このツールを実行すると、値として0、One、および Two が返されます。

19.35pt;">
<\/SPAN><\/P>方法二:Field Mapping with Lookup<\/STRONG><\/SPAN><\/P> <\/SPAN><\/P>ステップ1:<\/STRONG><\/SPAN><\/P>Carsワークブックを開き、Mappingシートに移動します。このシートでは、ルックアップテーブルとして使用するシートと列を定義します。sourceFieldを単純なマッピングに使用していないため、sourceField<\/STRONG>列からTypeを削除します。このシートで入力した値はハイライトされています。sheet<\/STRONG>列の「Type」は黄色でハイライトされており、Load Data from WorkbookツールがTypeにマッピングするときに正しいExcelシートを見つけるために使用されます。sheetKeys<\/STRONG>列の「Type」も黄色でハイライトされており、Load Data from WorkbookツールがTypeタブ上の正しい列を見つけるために使用されます。sheetValue<\/STRONG>列の「NewType」はオレンジ色でハイライトされており、Load Data from WorkbookツールがTypeタブ上でルックアップテーブルとして使用する列を特定するために使用されます。<\/SPAN><\/P>
<\/SPAN><\/P><\/P>Typeタブに移動し、Type列を黄色でハイライトして、前述のmappingタブのユーザー定義列keys<\/STRONG>との関係を示しました。また、ユーザー定義列と値をオレンジ色でハイライトしました。ドメイン値1、2、および3をC列に入力し、それぞれRed、Blue、およびGreenにマッピングしました。D列にはそれらのドメイン説明も含めています。このワークブックで達成したことは、古いドメイン値から新しいドメイン値へのルックアップテーブルを作成したことです。Red CarはRedを表すためにドメイン値0を使用していましたが、Truck OneはOneを表すためにドメイン値1を使用しています。<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P><\/P>Method Oneから上記のステップ2と3を繰り返します<\/STRONG><\/SPAN><\/P> <\/SPAN><\/P>こちらが最終出力です。<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P> <\/STRONG><\/SPAN><\/P> <\/STRONG><\/SPAN><\/P>方法三:Hard Code Burn-in<\/STRONG><\/SPAN><\/P> <\/SPAN><\/P>ステップ1.<\/STRONG><\/SPAN><\/P>Carsワークブックを開き、Mappingシートに移動します。このシートでは、方法2で入力したすべての値を削除します。式の列に「3」というハードコードされた値を単純に入力します。これにより、Red、Blue、およびGreenの値として3がBurn-inされます。<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P><\/P>Method Oneから上記のステップ2と3を繰り返します<\/STRONG><\/SPAN><\/P> <\/SPAN><\/P>こちらが最終出力です。<\span>
<\p ><\BODY ><\HTML >