[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 해시 객체에 대한 Key와 Data 값을 정의합니다.
▷ C 해시 객체의 정의를 닫습니다.(완료합니다.)
▷ orion.country 데이터 세트에서 데이터를 읽고 ContinentID를 조회하여 ContName 해시 객체에서 ContinentName을 검색합니다.
▷ C 해시 객체에 데이터를 추가합니다.
▷ C 해시 객체 데이터를 work.countries 데이터 셋으로 출력합니다.
▶ 결과를 확인해 보도록 하겠습니다.
- 데이터 셋은 ContinentID에 의해 정렬되지만 터키와 미국을 대표하는 관측치는 없는 것을 확인할 수 있습니다.
이상으로 SAS 데이터 셋에서 해시 객체(Hash Object)를 로드하는 방법에 대해 살펴보았습니다.
감사합니다 ^^
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!