SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

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

跟crakman做sas base认证试题(1)

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-11-10 20:01:17 | 只看该作者

跟crakman做sas base认证试题(1)

From crackman's blog on Baidu


               
                <p><font size="4">1.The following SAS program is submitted:</font></p>
<p><font size="4">data WORK.TOTAL; </font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  set WORK.SALARY;</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  by Department Gender; </font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  if First.&lt;_insert_code_&gt; then Payroll=0; </font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  Payroll+Wagerate; </font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  if Last.&lt;_insert_code_&gt;; </font></p>
<p><font size="4">run;</font></p>
<p><font size="4">The SAS data set WORK.SALARY is currently ordered by Gender within Department.</font></p>
<p><font size="4">Which inserted code will accumulate subtotals for each Gender within Department?</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  A. Gender</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  B. Department </font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  C. Gender Department</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  D. Department Gender</font></p>
<p> </p>
<p><font size="4">Answer: A</font></p>
<p> </p>
<p><font size="4">本题考察的是:first.var和last.var这两个知识点。 本题的意思,数据集SALAR已经按照department 和gender排序,<br>
现在计算每一个department下每一个gender的某一个变量值的累积和。<br>
根据本题的意思,写了一个模拟程序:<br>
data crackman;<br>
input department $ gender $ salary@;<br>
datalines;<br>
market f 6000<br>
market m 5000<br>
market f 5500<br>
market m 8000<br>
market f 6000<br>
market m 7000<br>
sales f 6000<br>
seles m 4000<br>
sales f 6000<br>
seles m 4000<br>
sales f 6000<br>
seles m 4000<br>
;<br>
proc sort data=crackman;<br>
by department gender;<br>
run;<br>
data result;<br>
set crackman;/*1*/<br>
by department gender;<br>
if first.gender then subtotal=salary;/*2*/<br>
else subtotal+salary;/*3*/<br>
if last.gender;/*4*/<br>
run;/*5*/</font></p>
<p><font size="4">这个DATA RESULT 部分程序执行的过程是这样(不是编译过程):/*我把执行的语句分为标记1 2 3 4 5*/<br>
1.1--2--4--1(先读数据---判断first.gender是否为1,第一个肯定是1------所以直接跳过else到if last.gender,last.gender=0所以---set crackman,继续读数据)<br>
2.1--2--3--4--1<br>
3.1--2--3--4--5--1(因为是第三个了,所以last.gender=1 然后到run,输出到result.<br>
后面都是一样。<br>
这里第三条语句其实===subtotal=subtotal+salary,只是这里简写了,体现程序的简洁性,但是对于入门同学来说增加了可读性的难度。<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
</font></p>
<p> </p> <a href="http://hi.baidu.com/crack%5Fman/blog/item/e2eb9cce6248e796c81768ed.html">阅读全文</a>
               
                <br/><b>类别:</b><a href="http://hi.baidu.com/crack%5Fman/blog/category/%B8%FAcrackman%D7%F6sas%20base%C8%CF%D6%A4%CA%D4%CC%E2">跟crackman做sas base认证试题</a>&nbsp;<a href="http://hi.baidu.com/crack%5Fman/blog/item/e2eb9cce6248e796c81768ed.html#comment">查看评论</a>
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-3 16:36 , Processed in 0.067693 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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