ルックアップオブジェクト ルックアップオブジェクトは、データ統合 がルックアップの実行時に照会するソースオブジェクトです。ルックアップオブジェクトは、ルックアップソースとも呼ばれます。
[プロパティ]パネルの[ルックアップオブジェクト] タブで、ルックアップソースを選択します。ルックアップソースに設定するプロパティは、接続タイプに応じて異なります
次の図に、リレーショナルルックアップの[ルックアップオブジェクト] タブを示します。
1 接続、ソースタイプ、ルックアップオブジェクト、および複数一致の動作を設定するルックアップオブジェクトの詳細。2 マッピングインベントリからルックアップソースを選択します。以下の方法でルックアップソースを選択できます。
接続とルックアップオブジェクトを選択する。 [ルックアップオブジェクトの詳細] 領域で、接続、ソースタイプ、およびルックアップオブジェクトを選択します。また、新しい接続を作成することもできます。マッピングインベントリからルックアップソースを選択します。 組織の管理者によってEnterprise Data Catalog統合プロパティが設定されており、[データカタログ] ページでオブジェクトをマッピングに追加した場合、[インベントリ] パネルからルックアップソースを選択できます。組織の管理者によってEnterprise Data Catalog統合プロパティが設定されていない、またはデータカタログの検出が実行されていない場合、[インベントリ] パネルには何も表示されません。データカタログの検出に関する詳細については、「マッピング 」を参照してください。 パラメータを使用する。 マッピングタスクを実行するときは、入力パラメータを使用して接続やルックアップオブジェクトを定義できます。パラメータの詳細については、「マッピング 」を参照してください。 カスタムクエリを使用する。。 カスタムクエリを使用して、クエリするカラムの数を減らすことができます。ソースオブジェクトのサイズが大きい場合は、カスタムクエリを使用することをお勧めします。 また、ルックアップで複数一致が返される場合は、トランスフォーメーションの動作も指定する必要があります。
ルックアップオブジェクトのプロパティ ルックアップを設定するときには、ルックアップ接続とルックアップオブジェクトを選択します。ルックアップ条件で複数の一致が返されるときの動作も定義します。
次の表に、ルックアップオブジェクトのプロパティを示します。
プロパティ
説明
接続
ルックアップ接続の名前。
ソースタイプ
ソースタイプ。データベースルックアップの場合、ソースタイプには単一のパラメータまたはクエリを指定できます。フラットファイルルックアップの場合、ソースタイプには、単一のオブジェクト、ファイルリスト、コマンド、またはパラメータを指定できます。
ルックアップオブジェクト
ソースタイプが単一のオブジェクトの場合、このプロパティには、ルックアップファイル、テーブル、またはオブジェクトを指定します。
ソースプロパティがファイルリストの場合、このプロパティには、ファイルリストを含むテキストファイルを指定します。
ソースタイプがコマンドの場合、このプロパティには、データ統合 が戻りフィールドをインポートするサンプルファイルを指定します。
パラメータ
ソースタイプがパラメータの場合、このプロパティには、パラメータを指定します。
クエリの定義
ソースタイプがクエリの場合、[カスタムクエリの編集] ダイアログボックスを表示します。有効なカスタムクエリを入力して、[OK] をクリックします。
複数一致
ルックアップ条件で複数の一致が返されるときの動作。すべての行、任意の行、最初の行、最後の行、またはエラーを返すことができます。
すべての行を選択して複数の一致がある場合、ルックアップトランスフォーメーションはアクティブなトランスフォーメーションになります。任意の行、最初の行、または最後の行を選択して、複数の一致がある場合、ルックアップトランスフォーメーションはパッシブなトランスフォーメーションになります。
形式オプション
ファイル形式のオプションであり、ルックアップオブジェクトがフラットファイルである場合に適用可能です。
[形式オプション] ダイアログボックスを開き、ファイルの形式を定義します。次のファイル形式オプションを設定します。
- 区切り文字。区切り文字。- 複数の文字を1つの区切り文字として扱う 。指定された区切り文字のセットを1つの区切り文字として扱います。例えば、ソースファイルには次のレコードが含まれます。abc~def|ghi~|~|jkl|~mno。区切り文字を( ~ | )として指定した場合、データ統合はこのレコードを2つの区切り文字で分けられた3カラムのデータとして読み込みます(abc~def|ghi, NULL, jkl|~mno)。このオプションを無効にすると、データ統合は、このレコードを8つの区切り文字で分けられた9カラムのデータとして読み込みます(abc, def, ghi, NULL, NULL, NULL, jkl, NULL, mno)。 - 連続した区切り文字を1文字として扱います。1つ以上の連続するカラム区切り文字を1つの文字として扱います。デフォルトでは、連続する区切り文字はNULL値として扱われます。- 行区切り文字。Added missing "。".改行文字。リストから改行文字を選択します。デフォルトは、改行、\012 LF(\n)です。- テキスト修飾子。テキストを修飾する文字。- エスケープ文字。エスケープ文字。- フィールドラベル。タスクがフィールドラベルを生成するのか、ソースファイルからラベルをインポートするのかを指定します。- 最初のデータ行。データの最初の行。タスクは、入力した行番号で読み取りを開始します。コマンド
ソースタイプがコマンドの場合、このプロパティには、ソースファイルリストを生成するコマンドを指定します。
ファイルリストとコマンドの詳細については、
ファイルリスト を参照してください。パラメータとファイル形式の詳細については、「
マッピング 」を参照してください。
複数一致ポリシーの制限 ルックアップの設定時に、ルックアップ条件が複数一致を返したときの動作を定義します。一部のタイプのルックアップには、複数一致ポリシーに制限があります。
次のタイプのルックアップには、複数一致ポリシーの制限があります。
キャッシュを使用しないルックアップ 一部のコネクタタイプは、キャッシュされていないルックアップでの複数一致ポリシー[最初の行を返す] および[最後の行を返す] をサポートしていません。これらのポリシーのいずれかを選択し、コネクタでキャッシュされていないルックアップのポリシーがサポートされていない場合、データ統合 では詳細プロパティ[ルックアップキャッシュを有効にする] が有効になり、編集することはできません。 動的キャッシュを使用するルックアップ ルックアップトランスフォーメーションが動的キャッシュを使用した場合にエラーを返すように複数一致ポリシーを設定する必要があります。他の複数一致ポリシーはサポートされていません。 Salesforceルックアップ Salesforceオブジェクトに対してルックアップを実行した場合に、任意の行を返すか、エラーを返すようにすることができます。 詳細モードのルックアップ 詳細モードでルックアップトランスフォーメーションを使用した場合に、すべての行または任意の行を返すか、エラーを返すようにすることができます。複数一致ポリシー[最初の行を返す] および[最後の行を返す] はサポートされていません。
詳細モードで複数の一致がある場合にエラーを返す動作を定義すると、ルックアップトランスフォーメーションによって重複行が削除され、重複行はログファイルに含まれません。
さまざまなコネクタでサポートされている複数一致ポリシーの詳細については、該当するコネクタのヘルプを参照してください。
カスタムクエリ データベースルックアップ用のカスタムクエリを作成できます。カスタムクエリを作成することで、クエリを実行するカラムの数を減らすことができます。
カスタムクエリをルックアップソースとして使用するには、ソースタイプとして[クエリ] を選択し、クエリを定義します。クエリを定義する場合は、SQL SELECT文を入力して、使用するソースカラムを選択し、FROM句を指定します。データ統合 は、SQL文を使用してソースカラムの情報を取得します。
ルックアップトランスフォーメーションでカスタムクエリを使用する場合は、SQL文に次の形式を使用します。
• リレーショナルデータベース接続の場合は、次の例のようにSQL文の各カラムにエイリアスを使用します。SELECT COL1 AS COL1, COL2 AS COL2, COL3 AS COL3 from TABLE_NAME
• その他のタイプのデータベース接続の場合は、ソースデータベースに有効なSQLを使用します。クエリではデータベース固有の関数を使用できます。カスタムクエリをルックアップソースとして使用するには、ルックアップキャッシュを有効にする必要があります。
保存されたマッピングでカスタムクエリを変更すると、設計時にデータ統合 では、変更済みのクエリを使用してフィールドメタデータがメタデータに置き換えられます。通常、これは適切な動作です。ただし、マッピングでリレーショナルソースが使用され、元のメタデータを保持する場合は、次のコネクタで使用できる[既存のフィールドメタデータを保持] オプションを使用します。
• JDBC V2コネクタ• PostgreSQLコネクタ• MongoDB V2コネクタ• Couchbaseコネクタ[既存のフィールドメタデータを保持] オプションを使用した場合、データ統合 は設計時にフィールドメタデータを更新しません。データ統合 は、実行時に既存のフィールドを変更済みのクエリのフィールドにマッピングします。マッピングできないフィールドがある場合は、実行時に失敗します。
ヒント: カスタムクエリを作成する前に、ソースデータベースで使用するSQL文をテストします。データ統合 では、無効なSQL文に特定のエラーメッセージが表示されることはありません。