BookmarkSubscribeRSS Feed

[SAS 고급] DATA Step Hiter Object (2)

Started ‎06-17-2020 by
Modified ‎06-17-2020 by
Views 135

[SAS 고급] DATA Step Hiter Object (2)

 

 

 

안녕하세요^^

 

 

이번 시간에는 지난시간에 이어 SAS Data Step의 Hiter Object를 사용하는 방법에 대해 살펴보겠습니다.

 

지난 시간 간단한 코드를 통해 해시 반복기 객체를 사용하여 해시 객체 데이터를 검색하는 네 가지 방법에 대해 살펴보았습니다.

이번 시간에는 예제를 통해, Hiter object의 사용 방법과 과정에 대해 살펴보겠습니다. .

 

 

 

▶ 비즈니스 시나리오를 살펴보도록 하겠습니다.

▷ 마케팅 부서에서는 가장 비싼 물건과 두 명의 고객과 가장 저렴한 물건을 주문한 두 명의 고객을 파악하려고 합니다.

 

SE22017061822431170.jpg

 

▷ 해시 반복기 객체는 이러한 4명의 고객을 효율적으로 찾기 위해, 오름차순 또는 내림차순으로 해시 객체 데이터를 검색할 수 있습니다.

 

SE22017061822432870.jpg

 

▷ 다음과 같은 코드로 data step에서 Hiter object를 사용할 수 있습니다.

 

SE22017061822440570.jpg

 

▷ 해시객체는 순서가 정렬되지 않았기 때문에 주의해야 합니다.

 

SE22017061822442370.png

 

▷ 그에 비해, 해시객체의 순서를 ‘descending’으로 지정하였기 때문에, Hiter object의 뷰(view)는 내림차순으로 정렬됩니다.

 

SE22017061822443870.png

 

▷ work.top에 현재의 관측값을 출력합니다, c.first();로 첫 번째 데이터 값이 출력됩니다.

 

SE22017061822450270.png

 

▷ c.next();로 다음 데이터 값으로 이동합니다.

 

SE22017061822453670.png

 

▷ end;를 만나면 i=1의 값에서 i=2의 값으로 바뀝니다.

 

SE22017061822455070.png

 

▷ work.top에 현재의 관측값을 출력합니다. 즉, 두 번째 관측값을 출력합니다.

 

SE22017061822460470.png

 

▷ c.next();로 다음 데이터 값으로 이동합니다

 

SE22017061822461970.png

 

▷ end;를 만나면 i=2의 값에서 i=3의 값으로 바뀝니다. 

 

SE22017061822465770.png

 

▷ do 문장의 조건을 만족하지 않기 때문에, Do loop에서 빠져나옵니다.

 

SE22017061822471170.png

 

▷ c.last();에 의해 마지막 데이터 값으로 이동하며, work.bottom에 현재의 값을 출력합니다.

 

SE22017061822472370.png

 

▷ c.prev();에 의해 데이터 항목을 역순으로 반환합니다.

 

SE22017061822480270.png

 

▷ end;를 만나면 i=1의 값에서 i=2의 값으로 바뀝니다.

 

SE22017061822482570.png

 

▷ work.bottom에 현재의 관측값을 출력합니다. 즉, 두 번째 관측값을 출력합니다.

 

SE22017061822485070.png

 

▷ c.prev();에 의해 데이터 항목을 역순으로 반환합니다.

 

SE22017061822490570.png

 

▷ end;를 만나면 i=2의 값에서 i=3의 값으로 바뀝니다.

 

SE22017061822492370.png

 

▷ do 문장의 조건을 만족하지 않기 때문에, Do loop에서 빠져나옵니다.

 

SE22017061822494270.png

 

▷ STOP 문장은 로그창에 “NOTE: DATA step stopped due to looping.” note가 나타나지 않게 합니다.

 

SE22017061822500870.png

 

이상으로 예제를 통해 해시 객체 데이터를 검색하는 네 가지 방법을 어떻게 사용하고어떤 논리에 의해 실행되는지 살펴보았습니다.

감사합니다^^

 

 

Version history
Last update:
‎06-17-2020 04:29 AM
Updated by:
Contributors

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Article Labels
Article Tags