1、SASBase认证考试70真题 答案解析详解SAS Base认证考试70题SAS分多个认证种类:base,advanced,clinic等,但大多需要先通过base认证。但凡这类商业组织提供的考证,基本都是题库型,所以想考过难度并不大。对于只想拿SAS认证的人,如果熟练掌握网上流传甚广的sas真题70题,通过base认证基本就没问题。Q 11. The following SAS program is submitted:data WORK.TOTAL; set WORK.SALARY; by Department Gender; if First. then Payroll=0; Payro
2、ll+Wagerate; if Last.;run;The SAS data set WORK.SALARY is currently ordered by Gender within Department.Which inserted code will accumulate subtotals for each Gender within Department?A. GenderB. DepartmentC. Gender DepartmentD. Department Gender答案:A 本题知识点:自动变量在SAS读取数据时,在PDV过程中会产生很多自动变量,在输出的数据集中是不可见
3、的。 FIRST.VARIABLE:同一个BY变量(组),若新的变量值第一次出现时,其first.variable值为1。 LAST.VARIABLE:同一个BY变量(组),若新的变量值最后一次出现时,其last.variable值为1。另外,在BY变量右面有多个变量时,先按第一个变量排序,若第一个变量的观测存在重复时,才按第二个变量排序。 Q 2Given the following raw data records in TEXTFILE.TXT: -|-10-|-20-|-30 John,FEB,13,25,14,27,Final John,MAR,26,17,29,11,23,Curr
4、ent Tina,FEB,15,18,12,13,Final Tina,MAR,29,14,19,27,20,CurrentThe following output is desired: Obs Name Month Status Week1 Week2 Week3 Week4 Week5 1 John FEB Final $13 $25 $14 $27 . 2 John MAR Current $26 $17 $29 $11 $23 3 Tina FEB Final $15 $18 $12 $13 . 4 Tina MAR Current $29 $14 $19 $27 $20Which
5、SAS program correctly produces the desired output?A. data WORK.NUMBERS; length Name $ 4 Month $ 3 Status $ 7; infile TEXTFILE.TXT dsd; input Name $ Month $; if Month=FEB then input Week1 Week2 Week3 Week4 Status $; else if Month=MAR then input Week1 Week2 Week3 Week4 Week5 Status $; format Week1-Wee
6、k5 dollar6.; run; proc print data=WORK.NUMBERS; run;B. data WORK.NUMBERS; length Name $ 4 Month $ 3 Status $ 7; infile TEXTFILE.TXT dlm=, missover; input Name $ Month $; if Month=FEB then input Week1 Week2 Week3 Week4 Status $; else if Month=MAR then input Week1 Week2 Week3 Week4 Week5 Status $; for
7、mat Week1-Week5 dollar6.; run; proc print data=WORK.NUMBERS; run;C. data WORK.NUMBERS; length Name $ 4 Month $ 3 Status $ 7; infile TEXTFILE.TXT dlm=,; input Name $ Month $ ; if Month=FEB then input Week1 Week2 Week3 Week4 Status $; else if Month=MAR then input Week1 Week2 Week3 Week4 Week5 Status $
8、; format Week1-Week5 dollar6.; run; proc print data=WORK.NUMBERS; run;D. data WORK.NUMBERS; length Name $ 4 Month $ 3 Status $ 7; infile TEXTFILE.TXT dsd ; input Name $ Month $; if Month=FEB then input Week1 Week2 Week3 Week4 Status $; else if Month=MAR then input Week1 Week2 Week3 Week4 Week5 Statu
9、s $; format Week1-Week5 dollar6.; run; proc print data=WORK.NUMBERS; run;答案:C本题知识点:INFILE语句与指示器、INFILE filespecification options;其中,filespecification用来定义文件, options给出选择项; filespecification有以下三种形式:、fileref(文件标志)、filename(文件名)、CARDS指明输入的数据,紧跟着CARDS语句 下列选择项(options)可以出现在INFILE语句中:、COLUMN=variable或COL=v
10、ariable 定义一个变量, 其值是指针所在的当前列位置。、END=variable 定义一个变量, 作为文件结束的标志。、EOF=label是一个语句标号, 当INFILE语句读到文件末尾时, 作为隐含的GOTO语句的目标。、LENGHT=variable 定义一个变量, 其值是当前输入数据行的长度。、FIRSTOBS=linenumber 要求从指定的行开始读取数据, 而不是从文件的第一个记录开始。、OBS=n 指定从一个顺序输入文件中读取数据的最后一个行(即第1第n行)。一个观察可能占n行。、DLM= 若分隔符不是空格,则使用DLM=指定、DSD 忽略引号中数值的分隔符;自动将字符数据
11、中的引号去掉;将两个相邻分隔符视为缺失值处理。、MISSOVER 阻止INPUT进入下一行读取,未赋值变量视为缺失值。、TRUNCOVER 与MISSOVER相似,但在COLUMN INPUT或FORMATTED INPUT中使用。 比较 与 的区别: 用于1个数据行用多个input语句读取,停留到下一个INPUT语句。 用于1个数据行含有多个观测值读取时,停留到下一个DATA步。 Q 3The following SAS program is submitted:data WORK.DATE_INFO; Day=01 ; Yr=1960 ; X=mdy(Day,01,Yr) ;run;Wha
12、t is the value of the variable X?A. the numeric value 0B. the character value 01011960C. a missing value due to syntax errorsD. the step will not compile because of the character argument in the mdy function.答案:A 本题知识点:数据类型的自动转换在SAS中,日期时间是以1960年1月1日0时0分0秒作为起点的。因此,mdy(1,1,1960)=0。若把日期时间表示为常数时,要使用相应的格
13、式,带单或双引号,在后面紧跟一个D(日期)、T(时间)、DT(日期时间)。在本题中,日期函数的参数应该是数值,若是字符串,会先尝试字符串是否可以转换为数值,这是自动转换。自动转换是指系统产生一个临时的变量来完成赋值或运算。当自动转换发生时,会在LOG窗口中给出提示。1)、字符型变量 - 数值型变量在下面的情况中,VarB是一个字符型变量,其它是数字型变量。 赋值于一个数字型变量,如:VarA=VarB; 在算术运算中使用,如:VarA=VarB+0; 与一个数字型变量进行比较,如:if VarB=VarA; 在函数中,参数要求数字型变量,如:VarA=sum(VarB,0);2)、数值型变量
14、- 字符型变量在下面的情况中,VarB是一个数字型变量,其它是字符型变量。 赋值于一个字符型变量,如:VarA=VarB; 在与要求字符的运算符一起使用,如:VarA=|VarB; 在函数中,参数要求字符型变量,如:VarA=trim(VarB); Q 4The Excel workbook REGIONS.XLS contains the following four worksheets: EAST WEST NORTH SOUTHThe following program is submitted: libname MYXLS regions.xls;Which PROC PRINT s
15、tep correctly displays the NORTH worksheet?A. proc print data=MYXLS.NORTH;run;B. proc print data=MYXLS.NORTH$;run;C. proc print data=MYXLS.NORTHe;run;D. proc print data=MYXLS.NORTH$n;run;答案:D本题知识点:打印Excel的某个工作表的数据WHAT IS THAT “$” CHARACTER? Looking at SAS Explorer it may be surprising that each data
16、set written to Excel appears twice, once with the expected name and once with a trailing “$”. Unlike a typical data source, data in an Excel spreadsheet need not be left and top aligned. For this Excel has named ranges which allow data to be placed anywhere inside a spreadsheet. By default SAS reads
17、 and writes data from named ranges on spreadsheets, but will also read spreadsheet data directly in the absence of a named range. When a new SAS dataset is created in an Excel library, SAS creates both a spreadsheet and a named range. Each is given the same name, with thespreadsheet denoted by a tra
18、iling “$”. In the example at right CLASS is the named range created by the Excel engine and CLASS$ is the spreadsheet created by the Excel engine to hold the named range. Within SAS, the named range is referred to as Wrkbk.CLASS, and the spreadsheet is referenced using the name literal Wrkbk.CLASS$n
19、. SAS name literals are name tokens written as strings within quotation marks, followed by the letter n. Name literals allow the use of special characters that are not otherwise allowed in SAS names , like the “$” used by the Excel libname engine to distinguish worksheets from named ranges. For more
20、 information see the Recommended Readings.摘自De-Mystifying the SAS LIBNAME Engine in Microsoft Excel: A Practical Guide Q 5Which statement specifies that records 1 through 10 are to be read from the raw data file customer.txt?A. infile customer.txt 1-10;B. input customer.txt stop10;C. infile customer
21、.txt obs=10;D. input customer.txt stop=10; 答案:C本题知识点:INFILE的选项FIRSTOBS=常数,要求从指定的行开始读取数据, 而不是从文件的第一个记录开始。OBS=常数,指定从一个顺序输入文件中读取数据的最后一个行(即第1第n行)。一个观测可能占n行。 Q 6After a SAS program is submitted, the following is written to the SAS log: 101 data WORK.JANUARY; 102 set WORK.ALLYEAR(keep=product month num_So
22、ld Cost); 103 if Month=Jan then output WORK.JANUARY; 104 Sales=Cost * Num_Sold; 105 keep=Product Sales; - 22 ERROR 22-322: Syntax error, expecting one of the following: !, !, &, *, *, +, -, , =, , =, , =, AND, EQ, GE, GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, =, |, |, =. 106 run;What changes
23、should be made to the KEEP statement to correct the errors in the LOG?A. keep=(Product Sales);B. keep Product, Sales;C. keep=Product, Sales;D. keep Product Sales;答案:D本题知识点:KEEP语句与KEEP=选项在处理大型数据集时,KEEP=选项的效率较高。 KEEP语句:KEEP variable(s); 不能用于过程步。 KEEP=选项:data-set-name( KEEP=variable(s) ) 可以用于数据步(如,DATA
24、语句、SET语句)、过程步。其中,variable(s)是具体变量,不能是数组、_N_、_ERROR_等。 Q 7Which of the following choices is an unacceptable ODSdestination for producing output that can be viewed in Microsoft Excel?A. MSOFFICE2KB. EXCELXPC. CSVALLD. WINXP答案:D本题知识点:ODS输出Most of these destinations are designed to create output for vie
25、wing on a screen or for printing.The OUTPUT destination creates SAS data sets. The MARKUP destination is a general purposetool for creating output in formats defined by tagsets. This includes XML (eXtensible MarkupLanguage), EXCELXP, LaTeX, CSV (comma-separated values), and many other formats where
26、datacan be thought of as separated by tags. The DO CUMENT destination, on the other hand, allowsyou to create a reusable output “document” that yo u can rerender for any destination. So, if yourboss decides he really wants that report in PDF, not RTF, you can replay the output documentwithout having
27、 to rerun the entire SAS program that created the data. With an output document,you can also rearrange, duplicate, or delete tables to further customize your output.摘自The Little SAS Book(Fourth) P152页 Q 8The SAS data set named WORK.SALARY contains 10 observations for each department, and is currentl
28、y ordered by Department.The following SAS program is submitted: data WORK.TOTAL; set WORK.SALARY(keep=Department MonthlyWageRate); by Department; if First.Department=1 then Payroll=0; Payroll+(MonthlyWageRate*12); if Last.Department=1; run;Which statement is true?A. The by statement in the DATA step
29、 causes a syntax error.B. The statement Payroll+(MonthlyWageRate*12); in the data step causes a syntax error.C. The values of the variable Payroll represent the monthly total for each department in the WORK.SALARY data set.D. The values of the variable Payroll represent a monthly total for all value
30、s of WAGERATE in the WORK.SALARY data set.答案:C本题知识点:类似第1题 Q 9data course;input exam;datalines;50.1;run;proc format;value score 1 50 = Fail 51 100 = Pass;run;proc report data =course nowd;column exam;define exam / display format=score.;run;What is the value for exam?A. FailB. PassC. 50.1D. No output答案:C本题知识点:PROC FORMAT语句PROC FORMAT;VALUE namerange-1=formatted-text-1;range-2=formatted-text-2;range-n=formatted-text-n;若name为字符串设计格式,则必须在开头加$,长度不超过32字节;name不能以数字结尾,除了下划线外,不能含其他的任何特殊字符。在range右侧文本可达到32767字节。 变量值是字符串要加引号。 range是多个值,要用逗号。 连续的要用-。 关键字low、high指代变量中最小和最大的非缺
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2