메뉴 건너뛰기

[Compare Command(비교 명령) 간략 설명 및 예시]

Compare command(비교 명령)를 사용하면 master 파일을 두 개의 서로 다른 시점(points in time)에서 비교(compare)하여 추가(addition), 삭제(deletion) 및 변경(change) 사항을 식별할 수 있습니다.

 

교재 내용에서 일부 발취하여 다음과 같이 명기해 드립니다.

 

고려 사항:

Compare command(비교 명령)를 성공적으로 사용할 수 있도록 다음과 같은 다양한 항목을 고려해야 합니다.

 

  • Compare(비교)되는 두 테이블을 current table(현재 테이블)과 previous table(이전 테이블)이라고 합니다. Current table(현재 테이블)은 작성된 date(날짜)를 기준으로 가장 최근 테이블이어야 합니다.
     
  • 'Compare options' 파라미터의 기본값(default)은 Unkeyed(key 없음)로, 선택한 비교 field(s)가 두 테이블의 모든 레코드(all records)에서 비교됨을 의미합니다. 
    예: 데이터 마이그레이션에서, 두 테이블에서 비교되는 모든 필드의 number(수) 또는 record(레코드) 및 내용(content)은 동일할 것으로 예상됩니다. Key 가 필요하지 않습니다.
     
  • ‘Compare options’ 파라미터는 Unique sorted key(고유한 정렬 키)로 변경할 수 있습니다. 
    즉, 선택한 비교 field(s)가 두 테이블에서 key field 모두 일치(match)하는 경우에만 비교됩니다. 
    예: 서로 다른 두 기간의 sales price(판매 가격)를 비교할 때는, product number(제품 번호)가 일치(match)하는 경우에만 sales price(판매 가격)을 비교(comparisons)해야 합니다. Product number(제품 번호)는 key field 로 사용됩니다.
     
  • Unique sorted key(고유한 정렬 키) 프로세스의 경우:
    - Key field 는 두 테이블에서 동일한 이름(same name)을 가져야 합니다.
    - Key field 데이터 카테고리는 두 테이블(character/문자 또는 numeric/숫자)에서 동일해야 합니다.
    - 테이블은 key field 에서 순서대로 정렬(sequential order)되어야 합니다.
    - Key field 값(value)은 고유(unique)해야 합니다(duplicates/중복 없음).
    - Character(문자) key field 는 길이(length), 대/소문자(case) 및 정렬(justification)을 구별합니다.
     
  • 다음 field 를 포함하는 새 테이블이 생성됩니다.
    - TypeRecord Number: 추가(addition), 삭제(deletion) 및 변경(change)을 나타냄:

    Type

    설명

    Record Number

    Reports record # ...

    F

    Record previous table 에서(from) 변경됨.

    ... current table 관점에서.

    Type D 경우, key field 순차적

    정렬(sequential order) record

    있었던 위치를 나타냅니다.

    T

    Record current table (to) 변경됨.

    A

    Record current table 추가됨(added).

    D

    Record previous table 에서 삭제됨(deleted).










    - Key field: Unique Sorted Key(고유한 정렬 키) 프로세스에만 해당됩니다.
    - Comparative fields: 비교(comparison)를 위해 선택한 field(s)입니다.
    - Additional output fields: (옵션) current table 의 Additional fields(추가 필드)입니다.

Compare Command 체크리스트:

Compare command(비교 명령)를 실행하기 전에 이 체크리스트를 사용하여 접근 방식을 계획하십시오.

 

Compare 계획

  1. Compare(비교)할 current table(현재 테이블)과 previous table(이전 테이블)을 식별합니다.
  2. Compare(비교)할 field(s)를 식별합니다.
  3. 비교(Comparison)를 keyed(key 지정)로 할지 또는 unkey(key 없음)로 할지를 결정합니다.
  4. Unique sorted key(고유한 정렬 키) 비교/comparison(keyed/key 지정)의 경우:
    - 두 table 의 key field 를 검사하여 이름(name)과 데이터 카테고리 (character/문자 또는 numeric/숫자)가 동일한지 확인합니다.
    - Character(문자) key 의 경우, 길이(length), 대/소문자(case)가 동일하고 두 table 모두에서 왼쪽 정렬(left justified)되어 있는지 확인하십시오.
    - 두 table 이 모두 key field 에서 순서대로 정렬(sequence)되어 있는지 확인하십시오.
    - 두 table 중 하나의 key 에 duplicate(중복) 값(value)이 있는 경우, 첫 번째 instance 만 비교됨.

    ** Duplicated(중복)된 instance 는 건너뛰고 command log(명령 로그) 결과(result)에 리포트됩니다.
     
  5. Compare(비교)할 field(s) 와 key field 의 이름(name)이 두 table 모두에서 동일한지 확인하십시오.

테이블 테스트 및 준비:

  1. Duplicates command(중복 명령)를 사용하여 key field 에 duplicates(중복 항목)가 없을 것으로 예상될 때마다 하나 또는 두 테이블 모두를 테스트합니다. Duplicates(중복 항목)가 발견되면, Summarize command(요약 명령)를 사용하여 중복 제거를 고려할 수 있습니다.
     
  2. 두 테이블의 해당 field 에 공백(blank)이 있는지 테스트합니다. 공백(Blank)은 비교 가능한 데이터를 나타내지는 않지만 비교(compare) 될 것입니다.
     
  3. Character(문자) key field 는 길이(length), 대/소문자(case) 및 정렬(justification)을 구별합니다. 필요에 따라 Substr(), Blanks(), Upper(), Proper(), Lower(), Alltrim() function(함수)을 사용하여 문제를 조정(harmonize)할 수 있습니다. 예를 들어, expression(표현식) Substr(Alltrim(Upper(KeyFieldName)), 1 , 15) 는 대/소문자(case),정렬(justification) 및 길이(length)를 15 bytes 로 조정(harmonize)시킵니다.
     
  4. 두 테이블 모두에서 key field 의 순서(sequence)를 테스트하십시오. 테이블이 순차적으로 정렬 (sequential order)되지 않은 경우, Sort command(정렬 명령)를 사용하여 재정렬(reorder) 할 수 있습니다. 그런 다음, 정렬된(sorted) 테이블(들)에서 Compare command(비교 명령)를 실행합니다.

    ** 테이블이 이전(previously)에 key field 에 대해 Summarized(요약)된 경우, 해당 key 에서 이미 순차적 정렬(sequential order)이 되어 있습니다.

데이터를 테스트하고 field 를 조정(harmonize)시키면(필요한 경우), Compare command 결과의 신뢰성과 품질이 보장됩니다. 

 

<예시 1>

이 예에서는 January 2021 payroll(current table/현재 테이블)과 December 2020 payroll (previous table/이전 테이블) 간의 pay(급여) 차이를 식별합니다. Unique sorted key(고유한 정렬 키)는 EmployeeNo 입니다.

Compare(비교)할 field 는 EmployeeNo, Gross_Pay, Net_Pay, Tax_Amount, Work_Dept 입니다.

 

(Tables: PayrollJan2021 과 PayrollDec2020)

 

결과(Result)는 다음을 나타냅니다.

  • Employee number(사원 번호) 000080 이 January 에 added(추가)되었습니다.
  • Employee(사원) 000108 과 000109 는 January 에 deleted(삭제)되었습니다.
  • Employee(사원) 000160 의 pay rate(급여율)이 변경(From .. To)되었습니다.
  • Employee(사원) 000320 의 work department(작업 부서)가 다릅니다(duplicate/중복).

 

<예시 2> - 단계별 상세

Keyed(Key 지정) Compare(비교)를 사용하여 January 와 February expense(비용) 파일 간의 차이점을 식별합니다.

 

(Tables: Expenses_January 와 Expenses_February)

  1. Primary table(기본 테이블)을 열기
      
     
  2. Data > Compare 를 선택

     
  3. Previous table(이전 테이블) 드롭다운 목록에서 secondary table(보조 테이블)을 선택
  4. Compare options 에서 Unkeyed/key 없음(기본값/default) 또는 Unique sorted key(고유한 정렬 키)를 선택
  5. Unique sorted key(고유한 정렬 키)를 선택한 경우, Choose 를 클릭하고 key field(s) 를 선택. OK 클릭.
  6. Choose 를 클릭하고 Fields to compare(비교할 필드)를 선택. OK 클릭.
  7. Output table(출력 테이블) 텍스트 상자에 이름을 입력
  8. OK 클릭



     
  9. Command Log(명령 로그)를 검토합니다.

<예시 3> 

Active Directory 2월 기준 1월과 변화된 내역 확인해 보기.

 

(Tables: Active_Directory_Feb 와 Active_Directory_Jan)

  1. current table(현재 테이블-Feb)과 previous table(이전 테이블-Jan) 확인 후


    * 이미지를 클릭 > 큰 화면으로 보실 수 있습니다.
     
  2. Compare command(비교 명령)을 실행해 봅니다.

     
  3. 변경(F -> T) 된 OU 및 삭제(D), 추가(A) 된 내역을 확인해 볼 수 있습니다.

    * 이미지를 클릭 > 큰 화면으로 보실 수 있습니다.