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

コンポーネントを設定

tFixedFlowInputコンポーネントを設定

Procedure

  1. tFixedFlowInputコンポーネントをダブルクリックし、[Component] (コンポーネント)タブの[Basic settings] (基本設定)ビューを開きます。
  2. [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックして[Schema] (スキーマ)ダイアログボックスを開き、入力データのデータストラクチャーを定義します。
  3. このエディターで[+]ボタンを3回クリックして3列のカラムを追加し、idnameageという名前を付けます。
  4. [Type] (タイプ)カラムでは[id]および[age][Integer] (整数)を選択します。
  5. [OK]をクリックしてエディターを閉じ、[Yes] をクリックしてこれらの変更を検証し、ポップアップ表示されるダイアログボックスで表示される伝播を受け入れます。
  6. [Mode] (モード)エリアで[Use Inline Content (delimited file)] (インラインコンテンツを使用: 区切りファイル)を選択します。
    [Content] (コンテンツ)フィールドに、以下の顧客データを入力します:
    1;Judy;27
                  2;Lily;45
                  3;Peter;59
                  4;John;30
                  5;Teddy;45

tSortRowコンポーネントの設定

Procedure

  1. tSortRowをダブルクリックし、[Component] (コンポーネント)タブの[Basic settings] (基本設定)ビューを開きます。
  2. [Criteria] (条件)テーブルで、[+]ボタンをクリックして1行追加します。
  3. [Schema column] (スキーマカラム)カラムで、ソート操作のベースとなるデータカラムを選択します。この例では、年齢を比較しカウントするため[age]を選択します。
  4. [sort num or alpha?] (数字または英字でソート?)カラムで、実行するソート操作のタイプを選択します。この例では、[age]に整数データが含まれているため、数値を意味する[num]を選択します。
  5. [Order asc or desc?] (昇順/降順?)カラムで[desc] (降順)を選択して、コンソールのデータを降順で表示します。

tMemorizeRowsコンポーネントの設定

Procedure

  1. tMemorizeRowsコンポーネントをダブルクリックし、[Component] (コンポーネント)タブの[Basic settings] (基本設定)ビューを開きます。
  2. [Row count to memorize] (記憶する行数)フィールドに、常時記憶する行の最大数を入力します。この例では、2名の顧客の年齢を毎回比較する必要があるため、2を入力します。このコンポーネントでは常時最大2行を記憶し、常に新しい受信行を0、前の受信行を1としてインデックス化します。
  3. [Columns to memorize] (記憶するカラム)テーブルの[Memorize] (記憶)カラムで、チェックボックスをオンにして、記憶するカラムを決定します。この例では、[age]に対応するチェックボックスをオンにします。

tJavaFlexおよびtJavaコンポーネントの設定

Procedure

  1. tJavaFlexコンポーネントをダブルクリックし、[Component] (コンポーネント)タブの[Basic settings] (基本設定)ビューを開きます。
  2. [Start code] (開始コード)エリアで、初期化フェーズで呼び出すJavaコードを入力します。この例では、変数countを宣言して値0を代入するためにint count=0;を入力します。
  3. [Main code] (メインコード)エリアで、データフローの各行に適用するJavaコードを入力します。このシナリオでは、if(!age_tMemorizeRows_1[0].equals(age_tMemorizeRows_1[1])) { count++; } System.out.println(age_tMemorizeRows_1[0]);を入力します。このコードは、毎回tMemorizeRowsコンポーネントによって記憶された2つの年齢を比較し、年齢が異なるたびに1件の変更をカウントします。このコードは、tMemorizeRowsコンポーネントによってインデックスが設定された経過時間を0として表示します。tJavaFlexコンポーネントがtMemorizeRowsコンポーネントの同じフローにある場合、変数の形式はColumnName_ComponentName[index]になります。
  4. [End code] (終了コード)エリアで、終了フェーズ中に呼び出すJavaコードを入力します。この例では、count変数の値を使用してグローバル変数numberを初期化するためにglobalMap.put("number", count);と入力します。
  5. tJavaコンポーネントをダブルクリックし、[Component] (コンポーネント)タブの[Basic settings] (基本設定)ビューを開きます。
  6. [Code] (コード)エリアで、以下のコードを入力して顧客の異なる年齢の出現回数と最低年齢をコンソールに表示します:System.out.println("Different ages: "+globalMap.get("number")); System.out.println("Lowest age: " + ((Integer[])globalMap.get("tMemorizeRows_1_age"))[0]);
    tJavaによってメソッドglobalMap.get()が使用され、配列の値が取得されます。ここで、tJavaがサブジョブtMemorizeRowsの外で使用されているため、変数フォーマットはComponentName_ColumnNameにする必要があり、同じフローに配置されたコンポーネントによって使われる変数の形式とは異なることにご注意ください。

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

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