로그인   |  회원가입  |  사이트맵  |  Contact Us
  아이디 저장하기
 
홈 > SAS Tech & Tip > SAS Programming 활용하기
[SAS 고급] SAS DATA SET에서 Hash Object 로드2(Loading a Hash Object from a SAS Data Set2) 2017.05.20
MYSAS 시샵 212 0
http://www.mysas.co.kr/SAS_tiptech/a_question.asp?b_no=7290&gotopage=1&con=subject&keyword=&cmd=content&bd_no=05&gubun=

[SAS 고급] SAS DATA SET에서 Hash Object 로드2(Loading a Hash Object from a SAS Data Set2)

 


안녕하세요 ^^


이번 시간은 SAS 데이터 셋에서 해시 객체(Hash Object)를 로드할때 OUTPUT 메소드를 사용해보도록 하겠습니다.


▶ PDV 변수 정의

LENGTH 문 대신 실행되지 않는 SET 문을 사용할 수 있습니다.

- SET 문이 ContinentName PDV에 추가하고 초기 누락 값을 지정하므로 CALL MISSING 문은 필요하지 않습니다.

 

 

데이터 세트 옵션 사용

SAS DATA 설정 옵션은 해시 객체에 로드되는 데이터의 양을 제한할 수 있습니다.


 


비즈니스 시나리오는 다음과 같습니다.

마케팅 부서는 ContinentID에 의해 국가별로 하나의 관찰을 정렬된 순서로 포함하는 새로운 데이터 셋를 생성하려 합니다.


 

 

orion.country 데이터 세트에는 work.countries를 작성하는데 필요한 네 개의 변수가 들어 있습니다.

또한 ContinentID에 대한 중복 값을 포함합니다.


 

 

OUTPUT 방법(메소드)은 국가 데이터 셋을 작성하고 orion.country의 변수와 orion.continent에서 채워진 해시 객체를 포함합니다.(아래 프로그램에서 사용해보도록 하겠습니다.)


리턴 코드 값 0 OUTPUT 방법이 성공적임을 나타냅니다.



비즈니스 시나리오의 프로그램입니다.



- 프로그램의 실행과정은 다음과 같습니다.

 [프로그램 과정]

DATA _NULL_;은 출력 SAS 데이터 셋을 생성하지 않도록 합니다.

ContinentName 조회에 대한 해시 객체 ContName을 만듭니다.

work.count에 출력할 데이터를 보유할 해시 객체 C를 만듭니다. 해시 객체는 Key 값에 따라 오름차순으로 정렬됩니다.

C 해시 객체에 대한 KeyData 값을 정의합니다.

C 해시 객체의 정의를 닫습니다.(완료합니다.)

orion.country 데이터 세트에서 데이터를 읽고 ContinentID를 조회하여 ContName 해시 객체에서 ContinentName을 검색합니다.

C 해시 객체에 데이터를 추가합니다.

C 해시 객체 데이터를 work.countries 데이터 셋으로 출력합니다.

 

 


결과를 확인해 보도록 하겠습니다.

- 데이터 셋은 ContinentID에 의해 정렬되지만 터키와 미국을 대표하는 관측치는 없는 것을 확인할 수 있습니다.



이상으로 SAS 데이터 셋에서 해시 객체(Hash Object)를 로드하는 방법에 대해 살펴보았습니다.


감사합니다 ^^


 

 
 
 
 
 [SAS 고급] DATA Step Hiter Object (1)
 [SAS 고급] SAS DATA SET에서 Hash Object 로드1(Loading a Hash Object from a SAS Data Set1)