나루다루

SAS BASE Q2. set & in & pdv 본문

Study/SAS BASE

SAS BASE Q2. set & in & pdv

나루다루 2018. 2. 11. 01:06
728x90
반응형

QUESTION NO: 2

The following SAS program is submitted:

data work.empsalary;

set work.people (in = inemp)

work.money(in = insal);

if insal and inemp;

run;

 

The SAS data set WORK.PEOPLE has 5 observations, and the data set WORK.MONEY has 7 observations. How many observations will the data set WORK.EMPSALARY contain?

 

A. 0

B. 5

C. 7

D. 12

 

 

Answer: A





# 문제 풀이

 - sas에서 데이터셋을 생성할 때, pdv -> data set 순으로 생성된다. pdv는 프로그램 메모리 상에만 존재한다. 일반적인 프로그램에서 a=1을 입력하면 a의 값이 저장은 되지만 출력 되지는 않는다. 출력하고 싶으면 출력 명령어를 따로 적어줘야 한다. 이와 같이 일반적으로는 pdv상에 데이터를 입력하고 출력 명령어를 해줘야 값이 출력된다. sas base에서는 pdv와 output의 차이를 구별할 줄 알아야 한다.

  - pdv : program data vector 


 - set에서 (in=임시변수) 옵션을 쓰면 pdv상에만 저장된다. 해당되는 변수에는 1, 아니면 0을 표시한다. 

work.people에는 a에서 e까지의 데이터가, work.money에는 1에서 7까지의 데이터가 들어 있다. 

 아무 옵션 없이 set만 한 결과이다.

               


 in 옵션을 사용한 결과이다.                             

    


 - if insal and inemp : insal과 inemp 둘 다를 만족하는 데이터만을 가져오라는 것이다.

  - if insal=1 and inemp=1과 동일 의미이다.


728x90
반응형

'Study > SAS BASE' 카테고리의 다른 글

SAS BASE Q5. footnote  (0) 2018.02.11
SAS BASE Q4. if & output [수정] / 15,20번과 비교  (1) 2018.02.11
SAS BASE Q3. length 구문  (0) 2018.02.11
SAS BASE Q1. label 설정  (0) 2018.02.11
SAS BASE 덤프(크램바이블, 킬테스트)  (0) 2018.02.03
Comments