アプリ内に含まれる CMDB 共通統合 RTE 操作タイプ
強力な変換エンジン (RTE) 操作タイプは、独自の複雑なデータ変換を記述することなく ETL で使用できる一般的な操作方法です。
アプリでは CMDB 共通統合 、次の操作タイプを使用できます。
連結
入力フィールドの値を単一の文字列に組み合わせ、オプションの joining_string フィールドで結合します。
| 詳細 | |
|---|---|
| テーブル | RTE エンティティ連結操作 [sys_rte_eb_concat_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力は、フィールドと定数のセットです。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、指定されたフィールドが単一の文字列として組み合わされた値です。 |
| 追加フィールド | joining_string (オプション) |
| 入力 | 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 または |
| 入力 | 結果 |
|---|---|
| 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 を使用した直接変換を試みます。まったく解析できない場合は空の値を返します。 |
| 入力 | 結果 |
|---|---|
| "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 出力は数値です。入力値が数値以外の場合、出力は空です。 |
| 入力 | 結果 |
|---|---|
| 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 出力は、入力で見つかった数値です。 |
| 追加フィールド |
|
| 入力 | 結果 |
|---|---|
| 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 ルックアップ操作の結果のデータ。 |
| 追加フィールド |
|
| 入力 | 結果 |
|---|---|
|
出力フィールド 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 出力は入力スクリプトの結果です。 |
| 追加フィールド |
|
を、record_typeとoperating_systemを入力として受け取り、record_with_osを返すスクリプト関数で使用するuse_unique_input_sets例:
| レコード | record_type | operating_system |
|---|---|---|
| 1 | コンピューター | Windows XP |
| 2 | コンピューター | Linux |
| 3 | コンピューター | Windows XP |
use_unique_inputs_sets true に設定されている場合、スクリプトは 2 つの値 (コンピューター + Windows XPおよびコンピューター + Linux) のみを処理します。use_unique_inputs_sets が false に設定されている場合、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 出力は置換された文字列です。 |
| 追加フィールド |
|
| 入力 | 結果 |
|---|---|
| "String&With(Special)$Characters" with match_regex="[^0-9a-zA-Z]+" and replacement_regex=" " | 「特殊文字を含む文字列」 |
置き換える
フィールドで指定された文字列と一致する入力文字列の各サブ文字列を、フィールドで指定された match_string 文字列に置き換えます replacement_string 。
| 詳細 | |
|---|---|
| テーブル | RTE エンティティ置換操作 [sys_rte_eb_replace_operation |
| 入力フィールド | source_sys_rte_eb_field 入力は文字列値です。 |
| 出力フィールド | target_sys_rte_eb_field 出力は置換された文字列です。 |
| 追加フィールド |
|
| 入力 | 結果 |
|---|---|
| "元の文字列" と match_string = "オリジナル" および replacement_string= "置換" | 「置換文字列」 |
数値を丸める
入力された数値を最も近い整数に丸めます。数値以外は切り捨てられます。
| 詳細 | |
|---|---|
| テーブル | RTE エンティティ数値丸め演算 [sys_rte_eb_round_numeric_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力は数値です。 |
| 出力フィールド | target_sys_rte_eb_field 出力は整数です。 |
| 追加フィールド |
|
| 入力 | 結果 |
|---|---|
| 「1.5」 | 「2」 |
| △1.4 | 「1」 |
| 「文字列です」 | "" |
スクリプト操作
| 詳細 | |
|---|---|
| テーブル | RTE エンティティスクリプト操作 [sys_rte_eb_script_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力はスクリプトです。 |
| 出力フィールド | target_sys_rte_eb_field 出力は入力スクリプトの結果です。 |
| 追加フィールド |
|
(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 に関連付けられた値です。 |
| 追加フィールド |
|
最小値/最大値を設定
ターゲットフィールドを、すべての入力フィールドの値の最大値または最小値に設定します。
| 詳細 | |
|---|---|
| テーブル | RTE エンティティの最小/最大操作 [sys_rte_eb_min_max_operation] |
| 入力フィールド | source_sys_rte_eb_fields 入力は値のセットです。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、値に基づく min_max 最大値または最小値です。 |
| 追加フィールド |
|
| 入力 | 出力 |
|---|---|
| 「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 (文字列) |
| 入力 | 結果 |
|---|---|
| "値1||値2||value3", splitting_string:"||" を {target1,target2,target3} target_sys_rte_eb_fields | target1:value1、target2:value2、target3:value3 |
| "値1||値2||value3", splitting_string:"||" を {target1} target_sys_rte_eb_fields | target1:value1 |
| "value1", splitting_string:"||" を {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 出力は入力文字列の値ですが、先頭と末尾にスペースはありません。 |
| 入力 | 結果 |
|---|---|
| 「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 出力は大文字の文字列値です。 |
| 入力 | 結果 |
|---|---|
| 「value1」 | 「VALUE1」 |
大文字トリミング
大文字変換とトリミング変換の両方を組み合わせます。
| 詳細 | |
|---|---|
| テーブル | RTE エンティティ大文字トリム操作 [sys_rte_eb_upper_case_trim_operation] |
| 入力フィールド | source_sys_rte_eb_field 入力は文字列値です。 |
| 出力フィールド | target_sys_rte_eb_field 出力は、先頭と末尾に空白がない大文字の文字列値です。 |
| 入力 | 結果 |
|---|---|
| 「value1」 | 「VALUE1」 |