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 入力が |
| 入力 | 結果 |
|---|---|
| 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 を使用して直接変換を試みます。まったく解析できない場合は空の値を返します。 |
| 入力 | 結果 |
|---|---|
| 「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 出力は数値です。入力値が数値以外の場合、出力は空です。 |
| 入力 | 結果 |
|---|---|
| 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 出力は入力内で見つかった数値です。 |
| 追加フィールド |
|
| 入力 | 結果 |
|---|---|
| 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 ルックアップ操作に基づく結果のデータ。 |
| 追加フィールド |
|
| 入力 | 結果 |
|---|---|
|
出力フィールド 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 つの値のみを処理します (computer + Windows XP および computer + Linux)。use_unique_inputs_sets が false に設定されている場合、3 つの値はそれぞれ個別に処理されます (computer + Windows XP、computer + Linux、computer + 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」- 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=「置換文字列」 | 「置換文字列」 |
数値を丸める
入力された数値を最も近い整数に四捨五入します。数値以外の値は切り捨てられます。
| 詳細 | |
|---|---|
| テーブル | 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 (文字列) |
| 入力 | 結果 |
|---|---|
| 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 出力は入力文字列の値ですが、先頭と末尾にスペースがありません。 |
| 入力 | 結果 |
|---|---|
| 「 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」 |