SAE BASE 67

Crambible / sas 문제 11

1. 문제 수정 rail -> fail 2. 문제 풀이 work.employee와 work.salary 데이터 셋을 set, by 구문으로 fname에 대해 각각 내림차순 정렬 해주었다. 그 뒤에 merge by에서는 위의 두 데이터 셋을 오름차순으로 정렬해 주기를 원하기 때문에일치 하지 않는다. 따라서 답은 D: The data sets were not merged in the order by which they were sorted. 해석 : 데이터 셋들은 그들이 정렬되었던 순서대로 합쳐지지 않기 때문이다.

SAS BASE 2016.01.28

Crambible / sas 문제 9

문제 보기이 문제에서 merge work.employee work.salary;BY FNAME;두 데이터 셋을 MERGE 함수로 합치는데, BY로 FNAME을 지정해주어 기준 변수로 사용되게 하였다. 1. 문제 풀이같은 이름의 변수가 필요하므로 WORK.SALARY 데이터 셋의 NAME 변수를 FNAME으로 바꿔 주어야 한다. MERGE에서 변수 이름을 바꿀 때에는보기 D 처럼,merge work.employee work.salary(rename = (name = fname)); 과 같이 바꿔 주어야 한다.

SAS BASE 2016.01.28

Crambible / sas 문제 8

DO UNTIL과 DO WHILE의 차이점DO UNTIL (조건문)과 DO WHILE (조건문)이 있을 때 1. DO UNTIL은 조건문과 상관 없이반복문을 우선 실행한다.따라서 (prod gt 6)을 먼저 보는게 아니라 prod +1 ; 을 먼저 실행.따라서 초기값 0 부터 시작해 1 .. 2 .. 3 .. 4 .. 5.. 6.. 7 하면서 조건문 (prod gt 6)과 계속적으로 비교 7이 되었을 때 빠져 나온다.따라서 답은 B : 7 2. DO WHILE은 조건문을 우선 고려한다.조건문을 반복 초기에, 즉 DO문을 실행하기 이전에 논리식을 평가함. 문제에서 DO UNTIL이 아니라 DO WHILE이라면(prod gt 6)이 맞지 않으므로 그냥 나오기 때문에 결과는 0이 나올 것이다.

SAS BASE 2016.01.28