SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1951|回复: 0
打印 上一主题 下一主题

跟crackman做sas adv认证试题(3)

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 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&nbsp;&nbsp;  Count&nbsp;&nbsp;&nbsp;  <br>
  --------  --------  -----  -------  -----&nbsp;&nbsp;&nbsp;  <br>
  absent&nbsp;&nbsp;&nbsp;  No&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  0-29&nbsp;&nbsp;  serious&nbsp;&nbsp;&nbsp;&nbsp;  31&nbsp;&nbsp;&nbsp;  <br>
  absent&nbsp;&nbsp;&nbsp;  No&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  0-29&nbsp;&nbsp;  not&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  1419&nbsp;&nbsp;&nbsp;  <br>
  absent&nbsp;&nbsp;&nbsp;  No&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  30-49  serious&nbsp;&nbsp;&nbsp;  191&nbsp;&nbsp;&nbsp;  <br>
  absent&nbsp;&nbsp;&nbsp;  no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  30-49  not&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  2004&nbsp;&nbsp;&nbsp;  <br>
  absent&nbsp;&nbsp;&nbsp;  no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  50+&nbsp;&nbsp;&nbsp;  serious&nbsp;&nbsp;&nbsp;  216&nbsp;&nbsp;&nbsp;  <br>
<br>
  The following SAS program is submitted:<br>
<br>
  proc sql noprint;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  select distinct&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Speed  [_insert_SQL_clause_]&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  from SASUSER.HIGHWAY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  ; <br>
  quit;<br>
<br>
  title1 &quot;Speed values represented are: &amp;GROUPS&quot;; <br>
  proc print data=SASUSER.HIGHWAY;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
  run; <br>
<br>
  Which SQL clause stores the text 0-29,30-49,50+ in&nbsp;&nbsp;&nbsp;&nbsp;  <br>
  the macro variable GROUPS?&nbsp;&nbsp;&nbsp;  </font></p>
<p><br>
<font size="4" face="宋体"> A.into &amp;GROUPS&nbsp;&nbsp;  <br>
<br>
B.into :GROUPS&nbsp;&nbsp;  <br>
<br>
C.into :GROUPS separated by ','&nbsp;&nbsp;  <br>
<br>
D.into &amp;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&lt;,column2,...&gt;<br>
INTO :macro-variable-1&lt;,:macro-variable-2,...&gt;<br>
FROM table-1 | view-1<br>
&lt;WHERE expression&gt;<br>
&lt;other clauses&gt;;<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 &lsquo;delimiter1&rsquo;<br>
FROM table-1 | view-1<br>
&lt;WHERE expression&gt;<br>
&lt;other clauses&gt;;<br>
QUIT;</font></p>
<p><font size="4" face="宋体">回头看看题目的要求:如何将这个文本&ldquo; 0-29,30-49,50+&rdquo;放在一个宏变量&amp;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&nbsp;&nbsp;&nbsp;  No&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  0-29&nbsp;&nbsp;  serious&nbsp;&nbsp;&nbsp;&nbsp;  31&nbsp;&nbsp;&nbsp;  <br>
absent&nbsp;&nbsp;&nbsp;  No&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  0-29&nbsp;&nbsp;  not&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  1419&nbsp;&nbsp;&nbsp;  <br>
absent&nbsp;&nbsp;&nbsp;  No&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  30-49  serious&nbsp;&nbsp;&nbsp;  191&nbsp;&nbsp;&nbsp;  <br>
absent&nbsp;&nbsp;&nbsp;  no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  30-49  not&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  2004&nbsp;&nbsp;&nbsp;  <br>
absent&nbsp;&nbsp;&nbsp;  no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  50+&nbsp;&nbsp;&nbsp;  serious&nbsp;&nbsp;&nbsp;  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>&nbsp;<a href="http://hi.baidu.com/crack%5Fman/blog/item/d23a3fd7cf4ecc103bf3cfe4.html#comment">查看评论</a>
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-3 14:52 , Processed in 0.080402 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表