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

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む17読むのに数分
  • 強力な変換エンジン (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.
    入力 結果
    "2018/09/20 11:21:00 AM EST" と "yyyy/MM/dd hh:mm:ss a z" date_format 「2018-09-20 16:21:00」
    "2018/09/20 01:21:00 PM EST" と "yyyy/MM/dd hh:mm:ss a z" date_format "2018-09-20 18:21:00"
    "09/20/18" と date_format "yyyy/MM/dd hh:mm:ss a z" ""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 の場合、ターゲットフィールドの値が置換されます。それ以外の場合、空でない値は上書きされません。

    最初の数値を抽出

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

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

    入力は値です。

    出力フィールド target_sys_rte_eb_field

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

    追加フィールド
    • decimal_places (オプション、数字):指定された小数点以下の桁数が出力に含まれるように強制します。
    • remainder_target_field (オプション、フィールドへの参照):最初の数値を削除した後、ソースフィールドのトリミングされた残りの部分に設定します。
    表 : 5.
    入力 結果
    100 メガバイト 100
    100.123 メガバイト 100.123
    100.123 メガバイト decimal_places(=2) 100.12
    =2 で decimal_places100 MB 10000
    で 100 MB remainder_target_field 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 つの値 (コンピューター + Windows XPおよびコンピューター + Linux) のみを処理します。use_unique_inputs_setsfalse に設定されている場合、3 つの値がそれぞれ個別に処理されます (コンピューター + Windows XP、コンピューター + Linux、およびコンピューター + 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.
    入力 結果
    &quot;String&amp;With(Special)$Characters&quot; with match_regex=&quot;[^0-9a-zA-Z]+&quot; and replacement_regex=&quot; &quot; 「特殊文字を含む文字列」

    置き換える

    フィールドで指定された文字列と一致する入力文字列の各サブ文字列を、フィールドで指定された 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.
    入力 結果
    &quot;元の文字列&quot; と match_string = &quot;オリジナル&quot; および replacement_string= &quot;置換&quot; 「置換文字列」

    数値を丸める

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

    詳細
    テーブル 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」
    「文字列です」 &quot;&quot;

    スクリプト操作

    入力があるスクリプトを実行し、そのスクリプトの出力としてフィールドを設定します 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 (文字列、数値、および日付の値を持つ選択リスト)
    • min_max (最小値と最大値を持つ選択リスト)
    表 : 11.
    入力 出力
    「2」、「-1」、「0」 2
    &quot;a&quot;、&quot;b&quot; c
    「2」、「-1」、「0」 -1
    &quot;a&quot;、&quot;b&quot; 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.
    入力 結果
    &quot;値1||値2||value3&quot;, splitting_string:&quot;||&quot; を {target1,target2,target3} target_sys_rte_eb_fields target1:value1、target2:value2、target3:value3
    &quot;値1||値2||value3&quot;, splitting_string:&quot;||&quot; を {target1} target_sys_rte_eb_fields target1:value1
    &quot;value1&quot;, splitting_string:&quot;||&quot; を {target1,target2,target3} target_sys_rte_eb_fields 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」