メイン コンテンツをスキップする 補完的コンテンツへスキップ

個別の式を編集する

このタスクについて

以下の例では、[Expression Builder] (式ビルダー)を使って2つの個別の式を編集する方法を示します。

tMapコンポーネント、tMysqlInputコンポーネント、tFileInputDelimitedコンポーネント、tLogRowコンポーネントを使ったジョブの例。

この例では、2つの入力フローがtMapコンポーネントに接続されています。

  • DB入力からは、名と姓を空白文字で区切った人名のリストが受信されます。

  • ファイル入力からは、小文字の米国の州のリストが受信されます。

tMapで式ビルダーを使用して、まず、名と姓を区切っている空白文字を下線文字に置き換えます。次に、州を小文字から大文字に変更します。

手順

  1. tMapでは、適切な内部結合を設定して参照マッピングを設定します。
    tMapに関する詳細は、tMap操作およびデータフローをマッピングをご覧ください。
  2. メイン(row1)入力からNamesカラムを出力エリアに、ルックアップ(row2)入力からStateカラムを同じ出力エリアに向けてドロップします。
  3. 最初の[Expression] (式)フィールド(row1.Name)をクリックし、次に式の横に表示される[...]ボタンをクリックします。
    [...]ボタンの場所。

    [Expression Builder] (式ビルダー)ダイアログボックスが開きます。

    [Expression Builder ] (式ビルダー)ダイアログボックスの概要。
  4. [Category] (カテゴリー)エリアから、実行する適切なアクションを選択します。In this example, select StringHandling and select the EREPLACEfunction.
  5. [Expression] (式)エリアで、テキストの部分にrow1.Nameを貼り付け、次のコードを取得します: StringHandling.EREPLACE(row1.Name," ","_")。この式で文字列の空白区切り文字を下線に置き換えます。
    特定の古い文字列内の特定の正規表現に一致するすべてのsubstringを特定の置換文字列に置き換え、新しい文字列を返すために、StringHandlingカテゴリーのCHANGEファンクションとEREPLACEファンクションが使用されています。これらのファンクションには次の3つのパラメーターがあります。
    • oldStr: 古い文字列。
    • newStr: 一致させる正規表現。
    • replacement: すべての一致について置き換える文字列。
  6. ここで[Test] (テスト)エリアの該当する[Value] (値)フィールドにプレースホルダー値のChuck Norrisを入力し、Test!をクリックして、出力が正しいかどうかをチェックします。この例では、Chuck_Norrisと正しく変更が実行されているはずです。
  7. OKをクリックして変更を確定した後、2番目のカラム[State] (州)に対して同じ操作を行います。
  8. tMap 出力でrow2.Stateの式を選択して[...]ボタンをクリックし、[Expression builder] (式ビルダー)を再度開きます。
    [Expression Builder ] (式ビルダー)ダイアログボックスの概要。

    今回使用するStringHandlingファンクションはUPCASEになります。完全な式では、StringHandling.UPCASE(row2.State)と表示されます。

  9. もう一度、[Test] (テスト)エリアでプレースホルダー(indianaなど)を使い、式の構文が正しいことをチェックします。この例では、Test!の結果は、INDIANAと表示されるはずです。次にOK をクリックして変更を確定します。

    [tMap Expression] (tMap式)フィールドには、現在両方の式が表示されています。

    [マップ]エディター。

タスクの結果

これらの変更はフロー処理で実行されます。この例の出力は次のように示されます。

いくつかの結果の例。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。