[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 를 포함하는 새 테이블이 생성됩니다.
- Type 및 Record 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 계획
- Compare(비교)할 current table(현재 테이블)과 previous table(이전 테이블)을 식별합니다.
- Compare(비교)할 field(s)를 식별합니다.
- 비교(Comparison)를 keyed(key 지정)로 할지 또는 unkey(key 없음)로 할지를 결정합니다.
- 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)에 리포트됩니다.
- Compare(비교)할 field(s) 와 key field 의 이름(name)이 두 table 모두에서 동일한지 확인하십시오.
테이블 테스트 및 준비:
- Duplicates command(중복 명령)를 사용하여 key field 에 duplicates(중복 항목)가 없을 것으로 예상될 때마다 하나 또는 두 테이블 모두를 테스트합니다. Duplicates(중복 항목)가 발견되면, Summarize command(요약 명령)를 사용하여 중복 제거를 고려할 수 있습니다.
- 두 테이블의 해당 field 에 공백(blank)이 있는지 테스트합니다. 공백(Blank)은 비교 가능한 데이터를 나타내지는 않지만 비교(compare) 될 것입니다.
- 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)시킵니다.
- 두 테이블 모두에서 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)
- Primary table(기본 테이블)을 열기
- Data > Compare 를 선택
- Previous table(이전 테이블) 드롭다운 목록에서 secondary table(보조 테이블)을 선택
- Compare options 에서 Unkeyed/key 없음(기본값/default) 또는 Unique sorted key(고유한 정렬 키)를 선택
- Unique sorted key(고유한 정렬 키)를 선택한 경우, Choose 를 클릭하고 key field(s) 를 선택. OK 클릭.
- Choose 를 클릭하고 Fields to compare(비교할 필드)를 선택. OK 클릭.
- Output table(출력 테이블) 텍스트 상자에 이름을 입력
- OK 클릭
- Command Log(명령 로그)를 검토합니다.
<예시 3>
Active Directory 2월 기준 1월과 변화된 내역 확인해 보기.
(Tables: Active_Directory_Feb 와 Active_Directory_Jan)
- current table(현재 테이블-Feb)과 previous table(이전 테이블-Jan) 확인 후
* 이미지를 클릭 > 큰 화면으로 보실 수 있습니다.
- Compare command(비교 명령)을 실행해 봅니다.
- 변경(F -> T) 된 OU 및 삭제(D), 추가(A) 된 내역을 확인해 볼 수 있습니다.
* 이미지를 클릭 > 큰 화면으로 보실 수 있습니다.