10452 11

[问答] 请教几道SAS advanced题目 [推广有奖]

  • 0关注
  • 0粉丝

本科生

68%

还不是VIP/贵宾

-

威望
0
论坛币
528 个
通用积分
0
学术水平
3 点
热心指数
0 点
信用等级
0 点
经验
4464 点
帖子
46
精华
0
在线时间
148 小时
注册时间
2011-4-2
最后登录
2017-12-10

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教群里各位大神们几道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呢~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Advanced ADVANCE advan VANCE ance following current display always title

本帖被以下文库推荐

沙发
龙在云霄柳在岸 发表于 2014-6-5 12:00:21 来自手机 |只看作者 |坛友微信交流群
自己顶。。。

使用道具

藤椅
mingfeng07 学生认证  发表于 2014-6-5 12:41:46 |只看作者 |坛友微信交流群
Item 12:sysdate是系统日期,today()才是当前日期。
Item 26:这个题是选A啊。
Item 23:
  1. /*Item 23 of 63 Mark item for review
  2. Given the SAS data set SASUSER.HIGHWAY:
  3. Steering Seatbelt Speed Status Count
  4. -------- -------- ----- ------- -----
  5. absent No 0-29 serious 31
  6. absent No 0-29 not 1419
  7. absent No 30-49 serious 191
  8. absent no 30-49 not 2004
  9. absent no 50+ serious 216
  10. The following SAS program is submitted:
  11. */
  12. %macro SPLIT;
  13. proc sort
  14. data=SASUSER.HIGHWAY
  15. out=WORK.UNIQUES(keep=Status)
  16. nodupkey;
  17. by Status;
  18. run;
  19. /*上面程序是对数据集进行排序*/

  20. data _null_;
  21. set uniques end=Lastobs;
  22. call symputx('Status'||left(_n_),Status);
  23. if Lastobs then call symputx('Count',_n_);
  24. run;
  25. /*这个是利用call symputx()函数创建宏变量status1,status2,……,直到数据最后一个,每一个宏变量的值对应每一个观测,lastobs代表最后一个观测,此时创建宏变量count,它的值为数据集中观测的个数N*/

  26. %local i;
  27. data
  28. %do i=1 %to &count;
  29. [_insert_reference_]/*答案应该是B*/
  30. %end;
  31. ;
  32. /*上面实际是一个data status1 status2 status3 …………直到status(&count),利用(%do-%end;)循环来达到这个目的*/
  33. set SASUSER.HIGHWAY;
  34. select(Status);
  35. %do i=1 %to &Count;
  36. when("[_insert_reference_]") output [_insert_reference_];
  37. %end;
  38. otherwise;
  39. end;
  40. run;
  41. %mend;

  42. %SPLIT

  43. /*What macro variable reference completes the program to create the WORK.NOT and WORK.SERIOUS data sets?

  44. A. &Status&i
  45. B. &&Status&i
  46. C. &Status&Count
  47. D. &&Status&Count
  48. */
复制代码

Ttem 43:在对group里的变量进行条件设置的时候需要用having,where是针对所有观测的。
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

使用道具

mingfeng07 发表于 2014-6-5 12:41
Item 12:sysdate是系统日期,today()才是当前日期。
Item 26:这个题是选A啊。
Item 23:
太感谢了!受益匪浅!!

使用道具

mingfeng07 发表于 2014-6-5 12:41
Item 12:sysdate是系统日期,today()才是当前日期。
Item 26:这个题是选A啊。
Item 23:
再请教一道:
65. The following SAS program is submitted:
proc append data = M base = F; run;
Which SQL procedure program will produce the same results?
A.proc sql;
insert into F select * from M;
quit;

B.proc sql;
select * from F
outer union corr
select * from M;
quit;

C.proc sql;
create table F as
select * from F intersect
select * from M;
quit;

D.proc sql;
create table F as
select * from F intersect corr
select * from M;
quit;

为什么选A而不是B?outer union不是就是concatenate吗?

使用道具

地板
mingfeng07 学生认证  发表于 2014-6-6 10:24:55 |只看作者 |坛友微信交流群
龙在云霄柳在岸 发表于 2014-6-6 09:38
再请教一道:
65. The following SAS program is submitted:
proc append data = M base = F; run;
B选项只是把结果呈现出来,并没有创建表格。
已有 1 人评分学术水平 热心指数 收起 理由
condor_gz + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

使用道具

mingfeng07 发表于 2014-6-6 10:24
B选项只是把结果呈现出来,并没有创建表格。
原来如此!懂了非常感谢!!

使用道具

mingfeng07 发表于 2014-6-6 10:24
B选项只是把结果呈现出来,并没有创建表格。
再请教一道题:
Given the following OPTIONS statement:
Libname A 'SAS library reference';
libname F 'SAS library reference';
options fmtsearch=(A F.X);

What is the second location searched for formats?

A. F.X
B. A.FORMATS
C. WORK.FORMATS
D. SAS supplied formats

答案给的是C,但我觉得应该是B吧, work的不是第一个search吗~然后是library.formats

使用道具

9
mingfeng07 学生认证  发表于 2014-6-7 22:57:47 |只看作者 |坛友微信交流群
龙在云霄柳在岸 发表于 2014-6-7 12:06
再请教一道题:
Given the following OPTIONS statement:
Libname A 'SAS library reference';
嗯,你想的是对的。

使用道具

mingfeng07 发表于 2014-6-7 22:57
嗯,你想的是对的。
好的谢谢啊!!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 05:38