사이트맵  |  Contact Us
 
홈 > SAS Tech & Tip > SAS 고수의 팁
SAS Ceritified Advanced Programmer 덤프 풀이 62-64 2020.03.11
강아미 290 1
http://www.mysas.co.kr/sas_tiptech/a_all.asp?b_no=11324&cmd=content&bd_no=33

 

 

#62. Given the following SAS data set ONE.

 

      [ONE]

 

REP

COST

SMITH

200

SMITH

400

JONES

100

SMITH

600

JONES

100

JONES

200

JONES

400

SMITH

800

JONES

100

JONES

300

 

The following SAS program is submitted:

Which one of the following reports is generated?

A. 

REP   AVERAGE  

--------------------  

JONES     200

B. 

REP   AVERAGE

 --------------------

JONES     320

C. 

REP   AVERAGE

--------------------

SMITH     320

 

D. 

REP   AVERAGE

--------------------

SMITH     500



정답) D

풀이)


 

[결과]


 

SELECT: 결과값에 지정한 변수만 가져오는 함수. Repcost에 평균값(avg)을 취해서 새로운 AVERAGE변수를 가져옵니다.

FROM: 인용한 테이블

GROUP BY: 기준 변수를 이용해 데이터를 요약

HAVING: 요약된 테이블에 조건을 거는 것. One table에서 전체 평균은 320입니다. SMITH의 평균은 500, JONES의 평균은 200입니다. ONE테이블에서 전체 평균 320보다 큰 avg(cost)라는 조건을 걸어서 결과는 SMITH 500이 정답이 됩니다. 

 

 

 

 

63. The following SAS program is submitted:

 

proc sort data = sales tagsort;

by month year;

run;

 

 

Which of the following resource(s) is the TAGSORT option reducing?

 

 

A. I/O usage only

B. CPU usage only

C. I/O and CPU usage

D. temporary disk usage



[정답] D


[풀이]

Proc sort는 데이터셋을 특정 변수를 기준으로 정렬할 때 사용됩니다.

by문을 사용하여 변수를 입력한 순서대로 데이터가 정렬됩니다.

여기서 tagsort옵션은 대용량 데이터를 처리할 때 쓰는 방법으로 일시적으로 디스크 사용을 줄여줍니다. 

 

 

 

 

64. Which one of the following statements is true?

 

A. The WHERE statement can be executed conditionally as part of an IF statement.

B. The WHERE statement selects observations before they are brought into the PDV.

C. The subsetting IF statement works on observations before they are read into the PDV.

D. The WHERE and subsetting IF statements can be used interchangeably in all SAS programs.

  

 

[정답]B


[풀이]

WHERE절은 사용자가 원하는 데이터를 조회할 때 사용하는 조건 절입니다. WHERE문은 PDV로 가져가기 전에 원하는 데이터를 조회할 때 사용됩니다.

 

PDV(Program Data Vector): SAS가 한 번에 하나씩 관찰하여 데이터 세트를 빌드하는 메모리 영역입니다.

쉽게 설명하면, sas 프로그램에서 DATA STEP을 돌리면 항상 데이터를 불러오기 전에 SAS내부에서 거치는 컴파일이라는 작업이 필요합니다. 컴파일이란 작성한 코드에서 오타 여부를 확인하고, 각 문장을 컴퓨터 자체가 알아들을 수 있는 컴퓨터 언어로 바꿔준 후, 각 변수들의 이름, 종류, 길이를 설정해 주는 단계입니다.

 

그 단계를 Compiliation Phase라고 합니다.

1)     INPUT BUFFER: SAS가 처음 raw data를 불러 읽을 때 저장할 곳을 의미하는 것으로 DATA STEP에서 데이터를 읽을 때만 생깁니다. 반대로 읽을 데이터가 SAS DATA일 경우에는 바로 PDV내부로 읽어옵니다.

 

2)     Program Data Vector(PDV): SASoutput data를 하나하나 지어가는 메모리 공간을 의미합니다. 이 안에는 _N_, _ERROR_ 변수뿐만 아니라 모든 data의 변수들, 형식, drop/keep 여부등을 모두 담고 있습니다.

_N_ DATA STEP이 몇 번 작동했는지를 의미하며, _ERROR_는 실행 중에 에러가 발생하였는지를 담아줍니다. 이때 0은 에러가 없음을 1은 한 번 이상의 에러(횟수가 아닌, 존재의 여부)가 있음을 의미합니다.

 

3)     Descriptor Information: SAS가 데이터에 대한 정보를 보존하는 곳입니다. 주로 DATA SET의 이름, 형성된 날짜와 시간, 변수의 이름과 종류, 길이 등을 포함합니다.

 

 

Compiliation Phase 다음에는 Execution Phase단계가 진행됩니다. 

 

 

 
 
휴대폰 번호
휴대폰 인증번호
 
 SAS Ceritified Advanced Programmer 덤프 풀이 65-67
  SAS Ceritified Advanced Programmer 덤프 풀이 59-61