SAS中文论坛

标题: 跟crakman做sas base认证试题(30) [打印本页]

作者: shiyiming    时间: 2010-11-12 01:19
标题: 跟crakman做sas base认证试题(30)
From crackman's blog on Baidu


               
                <p><font size="4">30.You're attempting to read a raw data file and you see the following messages displayed in the SAS Log: <br>
<br>
NOTE: Invalid data for Salary in line 4 15-23.<br>
RULE:&nbsp;&nbsp;&nbsp;&nbsp;  ----+----1----+----2----+----3----+----4----+----5--<br>
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  120104&nbsp;&nbsp;  F&nbsp;&nbsp;&nbsp;  46#30&nbsp;&nbsp;&nbsp;&nbsp;  11MAY1954 33<br>
Employee_Id=120104 employee_gender=F Salary=. birth_date=-2061 _ERROR_=1 _N_=4<br>
NOTE: 20 records were read from the infile 'c:\employees.dat'.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  The minimum record length was 33.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  The maximum record length was 33.<br>
NOTE: The data set WORK.EMPLOYEES has 20 observations and 4 variables.<br>
<br>
What does it mean? </font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;  A. A compiler error, triggered by an invalid character for the variable Salary. <br>
&nbsp;&nbsp;&nbsp;&nbsp;  B. An execution error, triggered by an invalid character for the variable Salary.<br>
&nbsp;&nbsp;&nbsp;&nbsp;  C. The 1st of potentially many errors, this one occurring on the 4th observation.<br>
&nbsp;&nbsp;&nbsp;&nbsp;  D. An error on the INPUT statement specification for reading the variable Salary.</font></p>
<p><font size="4">Answer: B</font></p>
<p><font size="4">本文属于博客:</font><a href="http://hi.baidu.com/crack_man/home"><font size="4"><!-- 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"> 版权归作者所有,欢迎转载!如有转载,请务必注明出处!未经本文作者同意不得用于商业应用。</font></p>
<p><br>
<font size="4">这里先给大家解释哈两个名词:<br>
编译阶段(Compilation Phase):在这个阶段,系统扫描每个语句检查它是否有语法错误。大部分语法错误导致系统无法对数据步作</font></p>
<p><font size="4">进一步的处理。在编译阶段将建立要创建的数据集的描述部分。<br>
语法检查的主要内容:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  漏掉或错拼的关键词<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  无效的变量名<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  遗漏或错误的符号<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  无效的选择项&nbsp;&nbsp;&nbsp;&nbsp;  <br>
在内存中建立程序数据列PDV<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  用于建立SAS系统的数据集,一次只处理一个观测<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  两个自动变量<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  _N_ 记录DATA步执行的次数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  _ERROR_指示出错信息.  0表示无错误,1表示有错误<br>
建立数据集的描述部分<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  数据集名<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  观测数和变量个数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  变量名及其属性</font></p>
<p><br>
<font size="4">执行阶段(Execution Phase):若数据步编译成功,就开始执行阶段。在这个阶段对源数据文件的每一条记录斗执行一次数据步,除</font></p>
<p><font size="4">非在程序中指明其它处理方式。在这个阶段建立数据集的数据部分。</font></p>
<p><font size="4">执行顺序<br>
PDV中外部为题初始化为缺省值<br>
输入每条记录至输入缓冲器,按INPUT语句读至PDV<br>
按数据步的其它语句处理后存入PDV<br>
在数据步结束时缺省地将PDV的内容作为一条观测<br>
&nbsp;&nbsp;&nbsp;  写入新的数据集<br>
回到数据步的开始.使PDV中外部变量初始化为缺省值<br>
对源文件中每条记录都按上述步骤执行一次<br>
当对源文件最后一条记录执行结束后,数据步执行完成</font></p>
<p><br>
<font size="4">对上述两个名字了解之后,很容理解答案为B。是在读取数据的时候出现的错误。</font></p>
<p> </p> <a href="http://hi.baidu.com/crack%5Fman/blog/item/175605f06f8385ff7709d753.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/175605f06f8385ff7709d753.html#comment">查看评论</a>




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2