请教群里各位大神们几道advance题目,都是63题里面的:
Item 12.
Which title statement would always display the current date?
A. title "Today is: &sysdate.";
B. title "Today is: &sysdate9.";
C. title "Today is: &today.";
D. title "Today is: %sysfunc(today(),worddate.)";
用SAS试了一下至少A和B也是可以的啊,但是答案是D
Item 26
Given the following SAS data sets:
WORK.VISIT1 WORK.VISIT2
Id Expense Id Cost
--- ------- --- ----
001 500 001 300
001 400 002 600
003 350
The following result set was summarized and consolidated using the SQL procedure:
Id Cost
--- ----
001 300
001 900
002 600
003 350
Which of the following SQL statements was most likely used to generate this result?
A.
select
Id,
sum(Expense) label='COST'
from WORK.VISIT1
group by 1
union all
select
Id,
sum(Cost)
from WORK.VISIT2
group by 1
order by 1,2
;
B.
select
id,
sum(expense) as COST
from
WORK.VISIT1(rename=(Expense=Cost)),
WORK.VISIT2
where VISIT1.Id=VISIT2.Id
group by Id
order by
Id,
Cost
;
C.
select
VISIT1.Id,
sum(Cost) as Cost
from
WORK.VISIT1(rename=(Expense=Cost)),
WORK.VISIT2
where VISIT1.Id=VISIT2.Id
group by Id
order by
Id,
Cost
;
D.
select
Id,
sum(Expense) as Cost
from WORK.VISIT1
group by Id
outer union corr
select
Id,
sum(Cost)
from WORK.VISIT2
group by Id
order by 1,2
;
为什么不是A呢?union all不可以吗?
Item 23
Item 23 of 63 Mark item for review
Given the SAS data set SASUSER.HIGHWAY:
Steering Seatbelt Speed Status Count
-------- -------- ----- ------- -----
absent No 0-29 serious 31
absent No 0-29 not 1419
absent No 30-49 serious 191
absent no 30-49 not 2004
absent no 50+ serious 216
The following SAS program is submitted:
%macro SPLIT;
proc sort
data=SASUSER.HIGHWAY
out=WORK.UNIQUES(keep=Status)
nodupkey;
by Status;
run;
data _null_;
set uniques end=Lastobs;
call symputx('Status'||left(_n_),Status);
if Lastobs then call symputx('Count',_n_);
run;
%local i;
data
%do i=1 %to &count;
[_insert_reference_]
%end;
;
set SASUSER.HIGHWAY;
select(Status);
%do i=1 %to &Count;
when("[_insert_reference_]") output [_insert_reference_];
%end;
otherwise;
end;
run;
%mend;
%SPLIT
What macro variable reference completes the program to create the WORK.NOT and WORK.SERIOUS data sets?
A. &Status&i
B. &&Status&i
C. &Status&Count
D. &&Status&Count
完全没有get到这道题的point啊TT,大神们可否给讲一下程序要干啥~
Item 43
Given the SAS data set WORK.ONE:
Rep Cost
----- ----
SMITH 200
SMITH 400
JONES 100
SMITH 600
JONES 100
The following SAS program is submitted:
proc sql;
select
Rep,
avg(Cost) as Average
from WORK.ONE
[either__insert_SQL_where_clause_]
group by Rep
[_or_ _insert_SQL_having_clause_]
;
quit;
The following output is desired:
Rep Average
----- -------
SMITH 400
Which SQL clause completes the program and generates the desired output?
A. where calculated Average > (select avg(Cost) from WORK.ONE)
B.having Average > (select avg(Cost) from WORK.ONE)
C. having avg(Cost) < (select avg(Cost) from WORK.ONE)
D. where avg(Cost) > (select avg(Cost) from WORK.ONE)
答案是B,为啥A不可以呢?用了calculated呢~