Types d’opération RTE inclus dans l’application Éléments communs d'intégration pour CMDB
Les types d’opération RTE (Robust Transform Engine) sont des méthodes d’opération courantes à utiliser dans ETL sans avoir à écrire vos propres transformations de données complexes.
Les types d’opération suivants sont disponibles dans l’application Éléments communs d'intégration pour CMDB .
Concaténation
Combine les valeurs des champs d’entrée en une seule chaîne, en les joignant dans le champ facultatif joining_string .
| Détails | |
|---|---|
| Table | Opération de concaténation de l’entité RTE [sys_rte_eb_concat_operation] |
| Champ d'entrée | source_sys_rte_eb_fields L’entrée est un ensemble de champs et de constantes. |
| Champ de sortie | target_sys_rte_eb_field La sortie est la valeur combinée des champs fournis sous la forme d’une seule chaîne. |
| Champs supplémentaires | joining_string (facultatif) |
| Entrée | joining_string | Résultat |
|---|---|---|
| « input_1 », « input_2 », « input_3 » | ", " | « input_1, input_2, input_3 » |
Convertir en booléen
Convertit la valeur entrante en booléen.
| Détails | |
|---|---|
| Table | Conversion en booléen d’une opération de l’entité RTE [sys_rte_eb_to_boolean_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur de chaîne. |
| Champ de sortie | target_sys_rte_eb_field La sortie est |
| Entrée | Résultat |
|---|---|
| input_1 | faux |
| VRAI | VRAI |
| 1 | VRAI |
| 0 | faux |
| 11 | faux |
Convertir en date
Tente de convertir la valeur entrante en valeur GlideDateTime en appliquant le date_format à la valeur entrante.
| Détails | |
|---|---|
| Table | Opération de conversion en date de l’entité RTE [sys_rte_eb_to_date_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur d’horodatage de données au format date. |
| Champ de sortie | target_sys_rte_eb_field La sortie est l’horodatage de la date au format de date spécifié. Tente d’effectuer une conversion directe à l’aide de GlideDateTime si le date_format est incorrect. Renvoie une valeur vide si l’analyse est impossible du tout. |
| Entrée | Résultat |
|---|---|
| « 20/09/2018 11:21:00 AM EST » avec date_format « aaaa/MM/jj hh :mm :ss a z » | "2018-09-20 16:21:00" |
| « 20/09/2018 01:21:00 PM EST » avec date_format « aaaa/MM/jj hh :mm :ss a z » | « 2018-09-20 18:21:00 » |
| « 09/20/18 » avec date_format « aaaa/MM/jj hh :mm :ss a z » | ""0018-09-20 00:00:0" |
Convertir en numérique
Convertit la valeur entrante en nombre.
| Détails | |
|---|---|
| Table | Conversion en numérique d’une opération de l’entité RTE [sys_rte_eb_to_numeric_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur. |
| Champ de sortie | target_sys_rte_eb_field La sortie est une valeur numérique. Si la valeur d’entrée n’est pas numérique, la sortie est vide. |
| Entrée | Résultat |
|---|---|
| input_1 | null |
| 1.23 | 1.23 |
| 1.00 | 1 |
| deux | null |
Copier
Copie la valeur du champ source dans tous les champs cibles.
| Détails | |
|---|---|
| Table | Opération de copie de l’entité RTE [sys_rte_eb_copy_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur. |
| Champ de sortie | target_sys_rte_eb_fields La sortie est la valeur du champ source copiée. |
| Champ supplémentaire | overwrite_existing_value (facultatif, booléen) : si la valeur est vrai, les valeurs des champs cibles sont remplacées. Dans le cas contraire, aucune valeur non vide n’est remplacée. |
Extraire le premier numérique
Définit le champ cible comme première valeur numérique trouvée dans le champ source.
| Détails | |
|---|---|
| Table | Opération numérique d’extraction RTE [sys_rte_eb_extract_numeric_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur. |
| Champ de sortie | target_sys_rte_eb_field La sortie est la valeur numérique trouvée dans l’entrée. |
| Champs supplémentaires |
|
| Entrée | Résultat |
|---|---|
| 100 Mo | 100 |
| 100.123 Mo | 100.123 |
| 100.123 Mo avec decimal_places=2 | 100.12 |
| 100 Mo avec decimal_places=2 | 100.00 |
| 100 Mo avec remainder_target_field | Mo |
Opération de recherche Glide
Effectue une recherche dans la base de données sur la table cible spécifiée dans le target_table champ.
| Détails | |
|---|---|
| Table | Opération de recherche Glide RTE [sys_rte_eb_glide_lookup_operation] |
| Champ d'entrée | source_sys_rte_eb_fields Table de base de données pour la recherche. |
| Champ de sortie | target_sys_rte_eb_fields Données obtenues basées sur l’opération de recherche. |
| Champs supplémentaires |
|
| Entrée | Résultat |
|---|---|
|
Champ de sortie 1 : 25ab9c4d0a0a0bb300f7dabdc0ca7c1c |
Script d’entrée multiple
Exécute un script avec plusieurs entrées définissant le target_sys_rte_eb_field champ comme sortie pour ce script.
| Détails | |
|---|---|
| Table | Opération de script d’entrée multiple RTE [sys_rte_eb_multi_in_script_operation] |
| Champ d'entrée | source_sys_rte_eb_fields L’entrée est un script. |
| Champ de sortie | target_sys_rte_eb_field La sortie est le résultat du script d’entrée. |
| Champs supplémentaires |
|
Exemple d’utilisation use_unique_input_setsde , avec une fonction de script qui prend record_type et operating_system comme entrée et renvoie record_with_os :
| Enregistrement | record_type | operating_system |
|---|---|---|
| 1 | ordinateur | Windows XP |
| 2 | ordinateur | Linux |
| 3 | ordinateur | Windows XP |
Si use_unique_inputs_sets est défini sur true, le script ne traite que deux valeurs (ordinateur + Windows XP et ordinateur + Linux). Si use_unique_inputs_sets est défini sur false, chacune des trois valeurs est traitée individuellement (ordinateur + Windows XP,ordinateur + Linux et ordinateur + 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);Script d’entrée/sortie multiple
Exécute un script avec plusieurs entrées définissant les champs cibles spécifiés dans le target_sys_rte_eb_fields champ comme sorties multiples pour ce script.
| Détails | |
|---|---|
| Table | Opération de script d’entrée/sortie multiple RTE [sys_rte_eb_multiple_input_output_script_operation] |
| Champ d'entrée | source_sys_rte_eb_fields L’entrée est un script. |
| Champ de sortie | target_sys_rte_eb_fields La sortie est le résultat du script d’entrée. |
| Champs supplémentaires | script (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);Remplacement Regex
Remplace chaque sous-chaîne de la chaîne d’entrée qui correspond au modèle d’expression régulière spécifié dans le match_regex champ par la chaîne spécifiée dans le replacement_regex champ.
| Détails | |
|---|---|
| Table | Opération de remplacement d’expression régulière de l’entité RTE [sys_rte_eb_regex_replace_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur de chaîne. |
| Champ de sortie | target_sys_rte_eb_field La sortie est la chaîne remplacée. |
| Champs supplémentaires |
|
| Entrée | Résultat |
|---|---|
| « String&With(Special)$Characters » avec match_regex="[^0-9a-zA-Z]+ » et replacement_regex= » » | « chaîne avec des caractères spéciaux » |
Remplacer
Remplace chaque sous-chaîne de la chaîne d’entrée qui correspond à la chaîne spécifiée dans le match_string champ par la chaîne spécifiée dans le replacement_string champ.
| Détails | |
|---|---|
| Table | Opération de remplacement de l’entité RTE [sys_rte_eb_replace_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur de chaîne. |
| Champ de sortie | target_sys_rte_eb_field La sortie est la chaîne remplacée. |
| Champs supplémentaires |
|
| Entrée | Résultat |
|---|---|
| « Original String » avec match_string = « Original » et replacement_string= « Remplacement » | « Chaîne de remplacement » |
Numérique arrondi
Arrondit la valeur numérique entrée au nombre entier le plus proche. Les non-nombres sont tronqués.
| Détails | |
|---|---|
| Table | Opération numérique d’arrondi de l’entité RTE [sys_rte_eb_round_numeric_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur numérique. |
| Champ de sortie | target_sys_rte_eb_field La sortie est un nombre entier. |
| Champs supplémentaires |
|
| Entrée | Résultat |
|---|---|
| « 1,5 » | « 2 » |
| « 1,4 » | « 1 » |
| « Je suis une chaîne » | "" |
Opération du script
| Détails | |
|---|---|
| Table | Opération de script de l’entité RTE [sys_rte_eb_script_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est un script. |
| Champ de sortie | target_sys_rte_eb_field La sortie est le résultat du script d’entrée. |
| Champs supplémentaires |
|
(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);
*/ Définir
Définit la valeur du target_sys_rte_eb_field champ sur la chaîne fournie dans le set_value champ.
| Détails | |
|---|---|
| Table | Opération de définition de l’entité RTE [sys_rte_eb_set_operation] |
| Champ de sortie | target_sys_rte_eb_field La sortie est la valeur associée au set_value champ. |
| Champs supplémentaires |
|
Définir Min/Max
Définit le champ cible sur la valeur maximale ou minimale des valeurs de tous les champs d’entrée.
| Détails | |
|---|---|
| Table | Opération min./max. de l’entité RTE [sys_rte_eb_min_max_operation] |
| Champ d'entrée | source_sys_rte_eb_fields L’entrée est un ensemble de valeurs. |
| Champ de sortie | target_sys_rte_eb_field La sortie est la valeur maximale ou minimale basée sur la min_max valeur. |
| Champs supplémentaires |
|
| Entrée | Sortie |
|---|---|
| "2", "-1", "0" | 2 |
| « a », « b » | c |
| « 2 », « -1 », « 0 » | -1 |
| « a », « b » | a |
Diviser
Divise la chaîne incluse dans la source_sys_rte_eb_field valeur d’entrée au séparateur spécifié dans le splitting_string champ et affecte le tableau de chaînes obtenu au champ, dans l’ordre target_sys_rte_eb_field .
| Détails | |
|---|---|
| Table | Opération de division de l’entité RTE [sys_rte_eb_split_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur de chaîne. |
| Champ de sortie | target_sys_rte_eb_fields La sortie est une liste de sous-chaînes. |
| Champs supplémentaires | splitting_string (chaîne) |
| Entrée | Résultat |
|---|---|
| "valeur1||valeur2||value3 », splitting_string :"||» avec target_sys_rte_eb_fields {target1,target2,target3} | target1 : value1, target2 : value2, target3 : value3 |
| "valeur1||valeur2||value3 », splitting_string :"||» avec target_sys_rte_eb_fields {target1} | target1 : valeur1 |
| « value1 », splitting_string :"||» avec target_sys_rte_eb_fields {target1,target2,target3} | target1 : value1, target2 : <null>, target3 : <null> |
Découpage
Supprime les espaces blancs au début et à la fin de la chaîne incluse dans la valeur d’entrée source_sys_rte_eb_field et affecte le résultat au target_sys_rte_eb_field champ. Cette transformation est équivalente à la méthode trim() de chaîne Java.
| Détails | |
|---|---|
| Table | Opération de transformation de l’entité RTE [sys_rte_eb_trim_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur de chaîne. |
| Champ de sortie | target_sys_rte_eb_field La sortie est la valeur de chaîne d’entrée, mais sans espaces de début et de fin. |
| Entrée | Résultat |
|---|---|
| « valeur 1 » | « valeur 1 » |
Majuscule
Remplace tous les caractères de la source_sys_rte_eb_field valeur d’entrée en majuscules target_sys_rte_eb_field et affecte le résultat au champ.
| Détails | |
|---|---|
| Table | Opération de conversion en majuscules de l’entité RTE [sys_rte_eb_upper_case_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur de chaîne. |
| Champ de sortie | target_sys_rte_eb_field La sortie est la valeur de chaîne en majuscules. |
| Entrée | Résultat |
|---|---|
| « valeur 1 » | « VALEUR1 » |
Découpage des majuscules
Combine les transformations Majuscule et Découpage.
| Détails | |
|---|---|
| Table | Opération de découpage en majuscules de l’entité RTE [sys_rte_eb_upper_case_trim_operation] |
| Champ d'entrée | source_sys_rte_eb_field L’entrée est une valeur de chaîne. |
| Champ de sortie | target_sys_rte_eb_field La sortie est la valeur de chaîne en majuscules sans aucun espace au début et à la fin. |
| Entrée | Résultat |
|---|---|
| « valeur1 » | « VALEUR1 » |