CMDB 共通統合 アプリ内にある RTE 操作タイプ

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:16分
  • 強力な変換エンジン (RTE) 操作タイプは、複雑なデータ変換を自分で記述しなくても ETL で使用可能な、一般的な操作方法です。

    CMDB 共通統合 アプリで使用できる操作タイプは次のとおりです。

    連結

    入力フィールドの値を単一の文字列に組み合わせ、オプションの joining_string フィールドで結合します。

    詳細
    テーブル RTE エンティティ連結操作 [sys_rte_eb_concat_operation]
    入力フィールド source_sys_rte_eb_fields

    入力はフィールドと定数のセットです。

    出力フィールド target_sys_rte_eb_field

    出力は指定されたフィールドが単一の文字列として組み合わされた値です。

    追加フィールド joining_string (オプション)
    表 : 1.
    入力 joining_string 結果
    「input_1」、「input_2」、「input_3」 「, 」 「input_1, input_2, input_3」

    ブール値に変換

    受信値をブール値に変換します。

    詳細
    テーブル RTE エンティティブーリアン変換操作 [sys_rte_eb_to_boolean_operation]
    入力フィールド source_sys_rte_eb_field

    入力は文字列の値です。

    出力フィールド target_sys_rte_eb_field

    入力が true または 1 の場合は出力が true で、それ以外の場合は false です。(大文字と小文字を区別しない)

    表 : 2.
    入力 結果
    input_1 false
    true true
    1 true
    0 false
    11 false

    日付に変換

    受信値に date_format を適用して、受信値の GlideDateTime 値への変換を試みます。

    詳細
    テーブル RTE エンティティ日付変換操作 [sys_rte_eb_to_date_operation]
    入力フィールド source_sys_rte_eb_field

    入力は日付形式のデータのタイムスタンプの値です。

    出力フィールド target_sys_rte_eb_field

    出力は指定された日付形式の日付タイムスタンプです。date_format が正しくない場合、GlideDateTime を使用して直接変換を試みます。まったく解析できない場合は空の値を返します。

    表 : 3.
    入力 結果
    「yyyy/MM/dd hh:mm:ss a z」の日付形式で「2018/09/20 11:21:00 AM EST」 「2018-09-20 16:21:00」
    「yyyy/MM/dd hh:mm:ss a z」の日付形式で「2018/09/20 01:21:00 PM EST」 「2018-09-20 18:21:00」
    「yyyy/MM/dd hh:mm:ss a z」の日付形式で「09/20/18」 「"0018-09-20 00:00:0」

    数値に変換

    受信値を数値に変換します。

    詳細
    テーブル RTE エンティティ数値変換操作 [sys_rte_eb_to_numeric_operation]
    入力フィールド source_sys_rte_eb_field

    入力は値です。

    出力フィールド target_sys_rte_eb_field

    出力は数値です。入力値が数値以外の場合、出力は空です。

    表 : 4.
    入力 結果
    input_1 null
    1.23 1.23
    1.00 1
    2 null

    コピー

    ソースフィールドの値をすべてのターゲットフィールドにコピーします。

    詳細
    テーブル RTE エンティティコピー操作 [sys_rte_eb_copy_operation]
    入力フィールド source_sys_rte_eb_field

    入力は値です。

    出力フィールド target_sys_rte_eb_fields

    出力はコピーされたソースフィールドの値です。

    追加フィールド overwrite_existing_value (オプション、ブーリアン):true の場合、ターゲットフィールドの値が置換されます。true でない場合、空でない値は上書きされません。

    最初の数値を抽出

    ソースフィールドで最初に見つかった数値にターゲットフィールドを設定します。

    詳細
    テーブル RTE 数値抽出操作 [sys_rte_eb_extract_numeric_operation]
    入力フィールド source_sys_rte_eb_field

    入力は値です。

    出力フィールド target_sys_rte_eb_field

    出力は入力内で見つかった数値です。

    追加フィールド
    • decimal_places (オプション、数字):指定した小数点以下の桁数が出力に含まれるように強制します。
    • remainder_target_field (オプション、フィールドへの参照):最初の数値を削除した後、ソースフィールドのトリミングされた残りの部分に設定します。
    表 : 5.
    入力 結果
    100 mb 100
    100.123 mb 100.123
    decimal_places = 2 が設定された 100.123 mb 100.12
    decimal_places = 2 が設定された 100 mb 10000
    remainder_target_field が設定された 100 mb mb

    Glide ルックアップ操作

    target_table フィールドで指定されたターゲットテーブルの データベースでルックアップを実行します。

    詳細
    テーブル RTE Glide ルックアップ操作 [sys_rte_eb_glide_lookup_operation]
    入力フィールド source_sys_rte_eb_fields

    ルックアップ用のデータベーステーブル。

    出力フィールド target_sys_rte_eb_fields

    ルックアップ操作に基づく結果のデータ。

    追加フィールド
    • target_table
    • glide_matching_fields (文字列):ターゲットテーブルの列名のカンマ区切りリスト。source_sys_rte_eb_fields 内の各入力フィールドについて、glide_matching_fields に同数の値が存在している必要があります。
    • glide_target_fields (文字列):ターゲットテーブルの列名のカンマ区切りリスト。target_sys_rte_eb_fields 内の各ターゲットフィールドについて、glide_target_fields に同数の値が存在している必要があります。
    表 : 6.
    入力 結果
    • 入力フィールド 1:南チャールズ通り 100、バルチモア
    • 入力フィールド 2:MD
    • ターゲットフィールド:場所 (cmn_location)
    • Glide マッチングフィールド:通り、州
    • Glide ターゲットフィールド:sys_id
    出力フィールド 1:25ab9c4d0a0a0bb300f7dabdc0ca7c1c

    複数の入力スクリプト

    複数の入力があるスクリプトを実行し、target_sys_rte_eb_field フィールドをそのスクリプトの出力に設定します。

    詳細
    テーブル RTE エンティティ複数入力スクリプト操作 [sys_rte_eb_multi_in_script_operation]
    入力フィールド source_sys_rte_eb_fields

    入力はスクリプトです。

    出力フィールド target_sys_rte_eb_field

    出力は入力スクリプトの結果です。

    追加フィールド
    • script (スクリプト)
    • use_unique_input_sets (ブーリアン):true の場合、一意の入力値のみが IRE 処理のデータバッチに含まれます。それ以外の場合は、すべての入力オブジェクトのフィールド値が含まれます。

    入力として record_typeoperating_system を取り、record_with_os を返すスクリプト関数で use_unique_input_sets を使用する例:

    表 : 7.
    レコード record_type operating_system
    1 コンピューター Windows XP
    2 コンピューター Linux
    3 コンピューター Windows XP

    use_unique_inputs_sets が true に設定されている場合、スクリプトは 2 つの値のみを処理します (computer + Windows XP および computer + Linux)。use_unique_inputs_setsfalse に設定されている場合、3 つの値はそれぞれ個別に処理されます (computer + Windows XPcomputer + Linuxcomputer + Windows XP)。

    サンプル スクリプト:
    (function(batch, output) { 
                    for (var i = 0; i < batch.length; i++) { 
                            // batch[i] is the unique set of inputs/individual record 
                            // batch[i].<field> gives access to the field value 
                            var in0 = gs.nil(batch[i].record_type) ? '' : batch[i].record_type;
                            var in1 = gs.nil(batch[i].operating_system) ? '' : batch[i].operating_system;
                            // output[i] is the output for the specific combination of inputs/individual record 
                            output[i] = in0 + "_" + in1; 
                        } 
                    } 
                })(batch, output);

    複数の入力/出力スクリプト

    複数の入力があるスクリプトを実行します。その際、target_sys_rte_eb_fields フィールドで指定されたターゲットフィードをそのスクリプトの複数の出力に設定します。

    詳細
    テーブル RTE エンティティ複数入力/出力スクリプト操作 [sys_rte_eb_multiple_input_output_script_operation]
    入力フィールド source_sys_rte_eb_fields

    入力はスクリプトです。

    出力フィールド target_sys_rte_eb_fields

    出力は入力スクリプトの結果です。

    追加フィールド script (スクリプト)
    サンプル スクリプト:
    (function(batch, output) { 
                    for (var i = 0; i < batch.length; i++) { 
                            var userId = (batch[i].user_id);
                            var userIdParts = userId.split(".");
                            output[i].first_name = userIdParts[0]; 
                            output[i].last_name = userIdParts[1];
                        } 
                    } 
                })(batch, output);

    正規表現置換

    match_regex フィールドで指定された正規表現パターンに一致する入力文字列のサブ文字列それぞれを、replacement_regex フィールドで指定された文字列に置き換えます。

    詳細
    テーブル RTE エンティティ正規表現の置換操作 [sys_rte_eb_regex_replace_operation]
    入力フィールド source_sys_rte_eb_field

    入力は文字列の値です。

    出力フィールド target_sys_rte_eb_field

    出力は置換された文字列です。

    追加フィールド
    • match_regex (文字列、正規表現)
    • replacement_regex (文字列)
    表 : 8.
    入力 結果
    「String&With(Special)$Characters」- match_regex=「[^0-9a-zA-Z]+」で replacement_regex=「 」 "String With Special Characters"

    置換

    match_string フィールドで指定された文字列に一致する入力文字列のサブ文字列それぞれを、replacement_string フィールドで指定された文字列に置き換えます。

    詳細
    テーブル RTE エンティティ置換操作 [sys_rte_eb_replace_operation]
    入力フィールド source_sys_rte_eb_field

    入力は文字列の値です。

    出力フィールド target_sys_rte_eb_field

    出力は置換された文字列です。

    追加フィールド
    • match_string (文字列)
    • replacement_string (文字列)
    表 : 9.
    入力 結果
    「元の文字列」- match_string =「元の文字列」で replacement_string=「置換文字列」 「置換文字列」

    数値を丸める

    入力された数値を最も近い整数に四捨五入します。数値以外の値は切り捨てられます。

    詳細
    テーブル RTE エンティティ数値丸め演算 [sys_rte_eb_round_numeric_operation]
    入力フィールド source_sys_rte_eb_field

    入力は数値です。

    出力フィールド target_sys_rte_eb_field

    出力は整数です。

    追加フィールド
    • match_string (文字列)
    • replacement_string (文字列)
    表 : 10.
    入力 結果
    「1.5」 「2」
    「1.4」 「1」
    「文字列です」 「」

    スクリプト操作

    入力が 1 つあるスクリプトを実行し、target_sys_rte_eb_field フィールドをそのスクリプトの出力に設定します。
    注:
    スクリプトの操作タイプは多くの場合、複数入力スクリプト操作に置き換えられ、既存の構成との下位互換性のためスクリプトの中に含まれています。
    詳細
    テーブル RTE エンティティスクリプト操作 [sys_rte_eb_script_operation]
    入力フィールド source_sys_rte_eb_field

    入力はスクリプトです。

    出力フィールド target_sys_rte_eb_field

    出力は入力スクリプトの結果です。

    追加フィールド
    • script (スクリプト)
    • use_unique_input_sets (ブーリアン):true の場合、一意の入力値のみが IRE 処理のデータバッチに含まれます。それ以外の場合は、すべての入力オブジェクトのフィールド値が含まれます。例と詳細については、「複数入力スクリプト変換」を参照してください。
    ソースフィールドは、JavaScript フィールド「input」として「batch」変数に含まれています。
    (function(batch, output) { 
                    for (var i = 0; i < batch.length; i++) { 
                            // batch[i] is the unique set of inputs/individual record 
                            // batch[i].input gives access to the field value 
                            var in0 = gs.nil(batch[i].input) ? '' : batch[i].input; 
                            // output[i] is the output for the specific combination of inputs/individual record 
                            output[i] = in0 + " modified by script"; 
                        } 
                    } 
                })(batch, output); 
    例:
    /* Example Script
     (function(batch, output) {
         for (var i = 0; i < batch.length; i++) {
             //step1: access the input variables
             var a = batch[i].input; //Value of the source field.
     
             //step2: Your script/code goes here.
             var b = a + 1;
             //step3: set the output for each elements
             output[i] = b;
         }
     })(batch, output);
    */ 

    設定

    target_sys_rte_eb_fieldフィールドの値を set_value フィールドで指定された文字列に設定します。

    詳細
    テーブル RTE エンティティセット操作 [sys_rte_eb_set_operation]
    出力フィールド target_sys_rte_eb_field

    出力は set_value フィールドに関連付けられた値です。

    追加フィールド
    • set_value (文字列)
    • overwrite_existing_value (オプション、ブーリアン):true の場合、ターゲットフィールドの現在の値が上書きされます。それ以外の場合、空でない値は置き換えられません。

    最小値/最大値を設定

    ターゲットフィールドを、すべての入力フィールドの値の最大値または最小値に設定します。

    詳細
    テーブル RTE エンティティ最小/最大操作 [sys_rte_eb_min_max_operation]
    入力フィールド source_sys_rte_eb_fields

    入力は値のセットです。

    出力フィールド target_sys_rte_eb_field

    出力は、min_max の値に基づく最大値または最小値です。

    追加フィールド
    • data_type (STRING、NUMERIC、および DATE の値を持つ選択リスト)
    • min_max (MIN と MAX の値を持つ選択リスト)
    表 : 11.
    入力 出力
    「2」、「-1」、「0」 2
    「a」、「b」 c
    「2」、「-1」、「0」 -1
    「a」、「b」 a

    分割

    source_sys_rte_eb_field 入力値に含まれる文字列を、splitting_string フィールドで指定されたセパレーターで分割し、結果の文字列アレイを target_sys_rte_eb_field フィールドに順番に割り当てます。

    詳細
    テーブル RTE エンティティ分割操作 [sys_rte_eb_split_operation]
    入力フィールド source_sys_rte_eb_field

    入力は文字列の値です。

    出力フィールド target_sys_rte_eb_fields

    出力はサブ文字列のリストです。

    追加フィールド splitting_string (文字列)
    表 : 12.
    入力 結果
    target_sys_rte_eb_fields {target1,target2,target3} に対する「value1||value2||value3」、splitting_string = 「||」 target1 : value1, target2 : value2, target3 : value3
    target_sys_rte_eb_fields {target1} に対する「value1||value2||value3」、splitting_string = 「||」 target1:value1
    target_sys_rte_eb_fields {target1,target2,target3} に対する「value1」、splitting_string = 「||」 target1:value1、target2:<null>、target3:<null>

    トリミング

    source_sys_rte_eb_field の入力値に含まれる文字列の先頭と末尾の空白を削除し、結果を target_sys_rte_eb_field フィールドに割り当てます。 この変換は、Java 文字列の trim() メソッドと同等です。

    詳細
    テーブル RTE エンティティトリム操作 [sys_rte_eb_trim_operation]
    入力フィールド source_sys_rte_eb_field

    入力は文字列の値です。

    出力フィールド target_sys_rte_eb_field

    出力は入力文字列の値ですが、先頭と末尾にスペースがありません。

    表 : 13.
    入力 結果
    「 value 1 」 「value 1」

    大文字

    source_sys_rte_eb_field の入力値のすべての文字を大文字に変更し、結果を target_sys_rte_eb_field フィールドに割り当てます。

    詳細
    テーブル RTE エンティティ大文字操作 [sys_rte_eb_upper_case_operation]
    入力フィールド source_sys_rte_eb_field

    入力は文字列の値です。

    出力フィールド target_sys_rte_eb_field

    出力は大文字の文字列値です。

    表 : 14.
    入力 結果
    「value1」 「VALUE1」

    大文字トリミング

    大文字変換とトリミング変換の両方を組み合わせます。

    詳細
    テーブル RTE エンティティ大文字トリム操作 [sys_rte_eb_upper_case_trim_operation]
    入力フィールド source_sys_rte_eb_field

    入力は文字列の値です。

    出力フィールド target_sys_rte_eb_field

    出力は、先頭と末尾に空白がない大文字の文字列値です。

    表 : 15.
    入力 結果
    「      value1    」 「VALUE1」