<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"> set WORK.SALARY;</font></p>
<p><font size="4"> by Department Gender; </font></p>
<p><font size="4"> if First.<_insert_code_> then Payroll=0; </font></p>
<p><font size="4"> Payroll+Wagerate; </font></p>
<p><font size="4"> if Last.<_insert_code_>; </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"> A. Gender</font></p>
<p><font size="4"> B. Department </font></p>
<p><font size="4"> C. Gender Department</font></p>
<p><font size="4"> 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>
<br>
</font></p>
<p> </p> <a href="http://hi.baidu.com/crack%5Fman/blog/item/e2eb9cce6248e796c81768ed.html">阅读全文</a>