앱에 포함된 CMDB용 통합 커먼즈 RTE 운영 유형

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기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.
    입력 결과
    "2018/09/20 11:21:00 AM EST", date_format "yyyy/MM/dd hh:mm:ss a z" "2018-09-20 16:21:00"
    "2018/09/20 01:21:00 PM EST", date_format "yyyy/MM/dd hh:mm:ss a z" "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 (선택 사항, Boolean): true이면 대상 필드의 값이 바뀝니다. 그렇지 않으면 비어 있지 않은 값을 덮어쓰지 않습니다.

    첫 번째 숫자 추출

    대상 필드를 소스 필드에서 발견된 첫 번째 숫자 값으로 설정합니다.

    세부사항
    테이블 RTE 숫자 추출 운영 [sys_rte_eb_extract_numeric_operation]
    입력 필드 source_sys_rte_eb_field

    입력은 값입니다.

    출력 필드 target_sys_rte_eb_field

    출력은 입력에 있는 숫자 값입니다.

    추가 필드
    • decimal_places (선택 사항, number) : 출력에 지정된 소수 자릿수를 갖도록 강제합니다.
    • remainder_target_field (선택 사항, 필드 참조): 첫 번째 숫자 값을 제거한 후 소스 필드의 트리밍된 나머지 부분으로 설정합니다.
    표 5.
    입력 결과
    100mb 100
    100.123 메가바이트 100.123
    100.123MB, decimal_places=2 100.12
    100MB(=2 포함 decimal_places) 100.00
    100MB 포함 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 일치 필드: street,state
    • 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 computer Windows XP
    2 computer Linux
    3 computer Windows XP

    use_unique_inputs_sets가 true로 설정된 경우 스크립트는 두 개의 값(컴퓨터 + Windows XP컴퓨터 + Linux)만 처리합니다. use_unique_inputs_setsfalse로 설정하면 세 개의 값이 각각 개별적으로 처리됩니다(컴퓨터 + 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; 및 replacement_regex=&quot; &quot; &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.
    입력 결과
    match_string = &quot;Original&quot; 및 replacement_string= &quot;Replacement&quot;인 &quot;Original String&quot; &quot;대체 문자열&quot;

    반올림 숫자

    입력 숫자 값을 가장 가까운 정수로 반올림합니다. 숫자가 아닌 값은 잘립니다.

    세부사항
    테이블 RTE 엔터티 숫자 반올림 운영 [sys_rte_eb_round_numeric_operation]
    입력 필드 source_sys_rte_eb_field

    입력은 숫자 값입니다.

    출력 필드 target_sys_rte_eb_field

    출력은 정수입니다.

    추가 필드
    • match_string (문자열)
    • replacement_string (문자열)
    표 10.
    입력 결과
    &quot;1.5&quot; &quot;2&quot;
    &quot;1.4&quot; &quot;1&quot;
    &quot;나는 끈이다&quot; &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);
    */ 

    설정

    필드 값을 필드에 제공된 set_value 문자열로 설정합니다target_sys_rte_eb_field.

    세부사항
    테이블 RTE 엔터티 설정 운영 [sys_rte_eb_set_operation]
    출력 필드 target_sys_rte_eb_field

    출력은 필드와 연결된 값입니다 set_value .

    추가 필드
    • set_value (문자열)
    • overwrite_existing_value (선택 사항,Boolean) :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. 예시
    입력 출력
    &quot;2&quot;, &quot;-1&quot;, &quot;0&quot; 2
    &quot;ᅡ&quot;, &quot;ᄂ&quot; c
    &quot;2&quot;, &quot;-1&quot;, &quot;0&quot; -1
    &quot;ᅡ&quot;, &quot;ᄂ&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||값3&quot;, splitting_string:&quot;||&quot; target_sys_rte_eb_fields {target1,target2,target3} target1 : 값1, target2 : 값2, target3 : 값3
    &quot;값1||값2||값3&quot;, splitting_string:&quot;||&quot; with target_sys_rte_eb_fields {target1} 대상1 : 값1
    &quot;값1&quot;, splitting_string:&quot;||&quot; target_sys_rte_eb_fields {target1,target2,target3} target1 : 값1, target2 : &lt;null>, target3 : &lt;null>

    트림

    입력 값에 포함된 문자열의 시작 부분과 끝 부분에 있는 공백을 source_sys_rte_eb_field 제거하고 결과를 target_sys_rte_eb_field 필드에 할당합니다. 이 변환은 Java String trim() 메서드와 동일합니다.

    세부사항
    테이블 RTE 엔터티 트리밍 운영 [sys_rte_eb_trim_operation
    입력 필드 source_sys_rte_eb_field

    입력은 문자열 값입니다.

    출력 필드 target_sys_rte_eb_field

    출력은 입력 문자열 값이지만 선행 공백과 후행 공백이 없습니다.

    표 13.
    입력 결과
    &quot; 값 1 &quot; &quot; 값 1 &quot;

    대문자

    입력 값의 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.
    입력 결과
    &quot;값1&quot; &quot;값 1&quot;

    대문자 트리밍

    대문자 변환과 트리밍 변환을 모두 결합합니다.

    세부사항
    테이블 RTE 엔터티 대문자 트리밍 운영 [sys_rte_eb_upper_case_trim_operation]
    입력 필드 source_sys_rte_eb_field

    입력은 문자열 값입니다.

    출력 필드 target_sys_rte_eb_field

    Output은 시작과 끝에 공백이 없는 대문자 문자열 값입니다.

    표 15.
    입력 결과
    &quot; 값1 &quot; &quot;값 1&quot;