2016-11-29 3 views
0

PS 파일의 각 직원에 대한 최신 레코드를 필터링해야합니다. DFSORT를 사용하여 어떻게 이것을 수행 할 수 있습니까?원본 직원 주문순으로 직원의 최근 날짜로 레코드 보관

직원 ID (6 자리) 및 날짜 (8 자리)로 PS 파일에 기록하십시오. 나는 직원이 등장하는 원래 순서를 유지 각 직원의 최신 레코드를 필터링 할 필요가

예 :. I/P 파일 :

10000120150101 
10000320130101 
10000120160101 
10000220170101 
10000220160101 
10000320160101 

O/P 파일 :

10000120160101 
10000320160101 
10000220170101 

동일한 주문이지만 최신 기록을받지 못하면 답을 함께 보내주십시오.

+1

는 원래 순서를 원하거나하지 마십시오 추가 오버 헤드 것인가? 원래 주문에 대해 걱정하지 않는다면 @ cschnied의 대답은 괜찮습니다. 원래 주문에 대해 염려가되는 경우 질문의 마지막 부분을 왜 귀찮게합니까? –

+0

아 .. 나는 SaggingRufus를 의미했다. 미안합니다. –

답변

1
//SYSIN DD * 
SORT FIELDS=(1,6,CH,A, 
       7,8,CH,D) 
SUM FIELDS=NONE 
/* 

Y4T 유형은 YYYYMMDD 날짜를 정렬 함을 나타냅니다. 따라서이 종류는 모든 직원 기록을 유지하면서 그 직원에 대한 가장 최근의 기록을 먼저 기록합니다.

편집이 : 7,8에 SORT의 마지막 줄을 변경에게, CH이로 여전히 올바르게 정렬되지

+0

죄송합니다. 다른 사람과 혼동 스럽습니다 :-) SORT에서 Y4T를 사용할 수 없으므로 CH (best 또는 BI, 동등하지만 많은 것을 혼동합니다)가되어야합니다. 당신은 Y2T를 사용할 수 있었는데 올바른 정렬 순서를 찾기 위해 "윈도우 잉"의 오버 헤드가 있다고 생각합니다. –

+0

@BillWoodger 제안 된 편집을했습니다. 내 자신의 지식에 따라 왜 Y2T는 작동하지만 Y4T는 작동하지 않습니까? 나는 그것들이 단지 다른 포맷 이었지만 동일하게 기능해야한다는 인상 아래에 있었다. – SaggingRufus

+0

Y2T는 01에서 99보다 높은 값을 정렬해야한다는 것을 알기 위해 "연도 창"을 사용합니다. 이것은 CH로 올바르게 정렬 될 수있는 YYYYMMDD 형식의 경우 의미가 없습니다. –