別のデータセットのデータの動的な使用 - Cloud

Talend Cloud Data Preparationユーザーガイド

author
Talend Documentation Team
EnrichVersion
Cloud
EnrichProdName
Talend Cloud
task
データクオリティとプレパレーション > データクレンジング
データクオリティとプレパレーション > データセットの管理
管理と監視 > 接続の管理
EnrichPlatform
Talend Data Preparation

ルックアップ機能は現在のプレパレーションからのデータを参照データセット内のデータとマッチングするので、ユーザーはこの参照データをプレパレーションに追加することができます。

このサンプルでは、顧客が住んでいるアメリカの州に関する情報を含むプレパレーションを用いて作業するという想定ですが、州を2文字のコードだけで識別する設定になっています。これと並行して2つ目のデータセットがあり、そこでは2文字の米州コードが州のフルネームとマッチングされています。ユーザーはルックアップ機能を使用してこの情報を取得し、プレパレーションに追加します。

手順

  1. メインのプレパレーションと参照データセットの両方に共通するカラムを選択します。このサンプルではstate_codeです。
    ルックアップを実行するには、ブレンドするプレパレーションとデータセット内に共通のデータを持つカラムが少なくとも1つ存在している必要があります。
  2. 画面右上にあるルックアップボタンをクリックし、ルックアップパネルを開きます。

    [Add data from lookup] (参照からデータを追加)パネルが画面下部に開きます。

  3. ボタンをクリックします。
  4. ダイアログボックスが開いたら、ルックアップの実行に使用するデータセットを選択し、[Add] (追加)をクリックします。
    この場合は、2文字の州コードとそれに一致する名前のリストを含むデータセットを追加する必要があります。これは事前にTalend Data Preparationにインポートされている必要があります。

    2つ目のデータセットが画面下部に開きます。

  5. プレパレーションと参照データセットの両方で、州コードを含むカラムをクリックしてハイライトします。
  6. ルックアップに含める各カラムの下にある、[Add to Dataset] (データセットに追加)チェックボックスを選択します。この例では[State] (州)です。
  7. マウスを[Confirm] (確認)ボタンに重ねて変更をプレビューし、ボタンをクリックして適用します。
    メインのプレパレーションと参照データセットの間で一致する各州コードの州名が取得されました。

    ここで見られる唯一の例外は、州コードがDCになっている2番目の行です。これは州のフルネームとマッチングできませんでした。これは、[DC]が実際には州コードではなく、したがって、そもそもステータスが無効であるためです。論理的には、[DC]は2つ目のデータセットで参照されていません。そこには公式の値しか含まれておらず、そのため、プレパレーション内にこの値と一致するものが見つかりませんでした。

    ルックアップ機能は以下のように動作します。

    • メインのプレパレーションと参照データセットの両方に共通の値があれば、追加情報が取得されます。
    • プレパレーションには存在し、参照データセットには存在しないという値があれば、ルックアップ操作は結果カラムに空のセルを残します。
    • 参照データセットからの値に一致するものがメインのプレパレーションに見つからない場合、追加情報は取得されません。

    Talend Data Preparationのルックアップ操作の背後にあるロジックは、Vennダイアグラムで言う左外部結合に対応します。

    ここでのサンプルに当てはめると、州コードに関する共通情報を使用して結合を作成し、2つ目のデータセットから有用な情報のみを取得して、1つ目のデータセットをエンリッチしたという意味になります。

タスクの結果

ルックアップの結果により、州のフルネームを含む新しいカラムが作成されました。可能な場合に、各顧客を対応する州名にマッチさせることができました。

前述のサンプルで説明されなかったルックアップ機能のもう1つの動作は、参照データセットからの値に重複や空があった場合の処理です。

次のサンプルをご覧下さい。州コードの1つがプレパレーションにありません。また、参照データセットに[NY]州コードの重複エントリがあります。このサンプルでNYは2つの値を取る可能性があります。New YorkNueva Yorkです。ただし、どちらのエントリも同じである可能性も十分にあります。