複数のカラムの最初の空でない値の取得 - Cloud

Talend Cloud Data Preparationユーザーガイド

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

[Coalesce columns] (カラムの融合)関数を使用すると、異なるカラムで最初のNullでない値を簡単に取得して、データを新しいカラムに連結することができます。

このサンプルでは、勤務先、携帯電話、自宅など、顧客の連絡先電話番号を含むデータセットを処理しています。いくつかの値は空です。データセットに同様の情報を持つ3種類のカラムは必ずしも必要でないため、各行に1つの電話番号のみが含まれるように新しいカラムを作成するとともに、空の値は利用できる情報に置き換えることができます。ここでは携帯電話番号を優先して使用し、バックアップとして勤務先または自宅の電話番号を取得します。

手順

  1. 携帯電話番号を他の電話番号よりも優先するには、phone_mobileカラムヘッダーをドラッグして、phone_officeカラムの左にドロップします。
    カラムの順序は次のようになります:
  2. [Ctrl] +クリックまたは[Shift] +クリックを使用して電話番号を含む3つのカラムのヘッダーを選択します。
  3. [Functions panel] (関数パネル)で、Concatenate columnsと入力し、結果をクリックして関連する関数のオプションを表示します。
  4. [Direction] (方向)ドロップダウンリストで、[Left to right] (左から右)を選択します。
    関数で設定したカラムの順序により、phone_mobileカラムが最初に読み取られ、値が空だった場合は、右の空でないカラムによって置き換えられます。
  5. [Values containing only non-printing characters] (印刷されない文字のみを含む値)ドロップダウンリストはデフォルト設定のままにする、つまり[Consider empty] (空を考慮)を選択します。
  6. [Submit] (送信)をクリックします。

タスクの結果

連結されたカラムが新規作成され、携帯電話番号の入力がなければ次のカラムの値で置き換えられるようになります。ここで3つのソースカラムを削除して、新しいカラムを保持し、ふさわしい名前を付けられるようになっているはずです。