|
|
楼主

楼主 |
发表于 2010-11-15 23:16:11
|
只看该作者
跟crackman做sas adv认证试题(3)
From crackman's blog on Baidu
<p><font size="4" face="宋体">Given the SAS data set SASUSER.HIGHWAY:<br>
<br>
Steering Seatbelt Speed Status Count <br>
-------- -------- ----- ------- ----- <br>
absent No 0-29 serious 31 <br>
absent No 0-29 not 1419 <br>
absent No 30-49 serious 191 <br>
absent no 30-49 not 2004 <br>
absent no 50+ serious 216 <br>
<br>
The following SAS program is submitted:<br>
<br>
proc sql noprint; <br>
select distinct <br>
Speed [_insert_SQL_clause_] <br>
from SASUSER.HIGHWAY <br>
; <br>
quit;<br>
<br>
title1 "Speed values represented are: &GROUPS"; <br>
proc print data=SASUSER.HIGHWAY; <br>
run; <br>
<br>
Which SQL clause stores the text 0-29,30-49,50+ in <br>
the macro variable GROUPS? </font></p>
<p><br>
<font size="4" face="宋体"> A.into &GROUPS <br>
<br>
B.into :GROUPS <br>
<br>
C.into :GROUPS separated by ',' <br>
<br>
D.into &GROUPS separated by ',' </font></p>
<p><font size="4" face="宋体">本文属于博客:</font><a href="http://hi.baidu.com/crack_man/home"><font size="4" face="宋体"><!-- m --><a class="postlink" href="http://hi.baidu.com/crack_man/home">http://hi.baidu.com/crack_man/home</a><!-- m --></font></a><font size="4" face="宋体"> 版权归作者所有,欢迎转载!如有转载,请务必注明出处!未经本文作者同意不得用于商业应用。 </font></p>
<p><font size="4" face="宋体">此题考察的是SQL与宏的结合。<br>
用SQL语句产生宏变量,语法结构如下:<br>
PROC SQL NOPRINT;<br>
SELECT column1<,column2,...><br>
INTO :macro-variable-1<,:macro-variable-2,...><br>
FROM table-1 | view-1<br>
<WHERE expression><br>
<other clauses>;<br>
QUIT;</font></p>
<p><font size="4" face="宋体">下面这个语法结构是将一变量的多个值组合在一个宏变量里面,例如:<br>
General form, SELECT statement with INTO clause for combining values into one macro variable:<br>
PROC SQL NOPRINT;<br>
SELECT column1<br>
INTO :macro-variable-1<br>
SEPARATED BY ‘delimiter1’<br>
FROM table-1 | view-1<br>
<WHERE expression><br>
<other clauses>;<br>
QUIT;</font></p>
<p><font size="4" face="宋体">回头看看题目的要求:如何将这个文本“ 0-29,30-49,50+”放在一个宏变量&GROUPS中?<br>
显然是采用第二个语法结构。<br>
答案为C。</font></p>
<p><font size="4" face="宋体">示例程序:<br>
data crackman;<br>
input Steering $ Seatbelt $ Speed $ Status $ Count@;<br>
datalines; <br>
absent No 0-29 serious 31 <br>
absent No 0-29 not 1419 <br>
absent No 30-49 serious 191 <br>
absent no 30-49 not 2004 <br>
absent no 50+ serious 216 <br>
;<br>
run;<br>
proc sql;<br>
select distinct speed into:groups separated by ',' from crackman;<br>
quit;<br>
%put _all_;</font></p>
<p><font size="4" face="宋体">大家可以思考一些,这里创建的宏变量是全局宏变量还是局部宏变量,这两者之间的差别是什么?</font></p>
<p> </p> <a href="http://hi.baidu.com/crack%5Fman/blog/item/d23a3fd7cf4ecc103bf3cfe4.html">阅读全文</a>
<br/><b>类别:</b><a href="http://hi.baidu.com/crack%5Fman/blog/category/%B8%FAcrackman%D7%F6sas%20adv%C8%CF%D6%A4%CA%D4%CC%E2">跟crackman做sas adv认证试题</a> <a href="http://hi.baidu.com/crack%5Fman/blog/item/d23a3fd7cf4ecc103bf3cfe4.html#comment">查看评论</a> |
|