SAS技能测试分析

SAS作为一种强大的数据处理和图形展示工具,在数据科学家和分析师中占有重要地位。最近对SAS进行了一项技能测试。本次测试的主题是SAS的基础编程。测试既考察了理论知识也考察了实践能力,共有977人参与了此次测试。如果错过了这次与其他SAS从业者比较自己技能的机会,可以通过以下问题自检测,看看能正确回答多少个问题。

总体结果

以下是分数分布情况,这将帮助评估自己的表现: 。 超过230人参与了技能测试,最高分为35分。以下是一些关于分数分布的统计数据。

总体分布: 平均分:17.73 中位数:19 众数:22

有用资源

SAS学习路径和资源 - SAS中的商业分析师

SAS中合并的全面介绍

SAS中数据探索的全面指南(使用数据步和Proc SQL)

问题与答案

问题1:以下哪个是输出数据集中变量c的值? data work.one; a = 2; b = 3; c = a ** b; run; A) 6 B) 9 C) 8 D) 以上都不是 答案:(C) **是指数运算符,所以c = a ** b = 2 ** 3 = 8

问题2:以下哪个语句不能是“PROC FREQ”的一部分? A) OUTPUT B) WEIGHT C) SET D) Tables E) 以上都不是 答案:(C) 查看PROC FREQ的语法,不需要SET语句。 Proc Freq <options>; BY variables; EXACT statistic-options < computation-options>; OUTPUT < OUT= SAS-data-set > options; TABLES requests < options>; TEST options; WEIGHT variable < option>; RUN;

问题3:提交了以下PROC SORT步骤,它生成了一个输出数据集。 proc sort data = AV.employee out = employee; by Designation; run; 输出数据集存储在哪个库中? A) Work B) AV C) SASHELP D) SASUSER 答案:(A) 如果没有明确提供库名称,则会自动引用临时库“WORK”。

问题4-7:以下是两个表格: 问题4) 执行以下SAS程序后,“AV”表中会有多少个变量? data AV; merge Employee Salary; by name; totsal + salary; run; A) 3 B) 4 C) 5 答案:(B) 如果在数据步程序中使用任何变量名称,它将自动在输出数据集中创建。这里,两个表中有三个独特的变量“name”,“age”,“salary”和一个在数据集中创建的变量“totsal”。

问题5:执行以下SAS程序后,AV数据集会有多少条观测? data AV; merge employee (in=ine) salary(in=ins); by name; run; A) 4 B) 2 C) 1 D) 6 答案:(D) 以上看到的输入数据集,Employee和Salary之间存在一对多的关系。要了解更多关于SAS中合并的信息,请。

问题6:执行以下SAS程序后,AV数据集中会有多少条观测? data AV; merge employee (in=ine) salary(in=ins); by name; if ins=0; run; A) 4 B) 2 C) 1 D) 6 答案:(B) 这里,谈论的是“in”变量,并查看下面的表格以了解in变量的值:在这个程序中,正在寻找ins = 0的观测,这意味着“name”值在“Salary”表中不可用。在上面的表中,只有两条记录满足该条件。

问题7:以下哪个命令将帮助将表“Salary”中的列“Salary”重命名为“Compensation”? A) Data Salary (Rename (Salary = Compensation)); Set Salary; run; B) Data Salary (Rename = (Salary = Compensation)); Set Salary; run; C) Data Salary (Rename = (Salary == Compensation)); Set Salary; run; D) 以上都不是 答案:(B) SAS中重命名变量的语法是: RENAME = (Old_Var1 = NewVar1 Old_Var2=New_Var2 Old_Var3=New_Var3 …)

问题8:以下哪个陈述关于下面的程序不正确? data AV; do year=2000 to 2004; Capital+5000; capital+(capital*.10); output; end; run; OUTPUT语句立即将当前值写入数据集 在这种情况下,新数据集中最后一年是2005 OUTPUT语句覆盖了DATA步骤末尾的自动输出 DO循环执行了5次 答案:(B) 在上面的程序中,在END语句之前写入输出数据集,这意味着它不会将最后一个值2005写入输出数据集,所以最后一个值将是2004。如果移除OUTPUT语句,最后一个值将是2005。

问题9:如何限制DATA步骤中写入输出数据集的变量? DROP KEEP RETAIN VAR A和B A、B或C 答案:(E) DROP和KEEP都可以用来限制数据集中的变量。 DROP=选项告诉SAS想要删除的变量。如果将DROP=选项放在SET语句上,SAS在读取输入数据集时会删除指定的变量;如果将DROP=选项放在DATA语句上,SAS在写入输出数据集时会删除指定的变量。 KEEP=选项告诉SAS想要保留的变量。如果将KEEP=选项放在SET语句上,SAS在读取输入数据集时会保留列出的变量。另一方面,如果将KEEP=选项放在DATA语句上,SAS在写入输出数据集时会保留指定的变量。

问题10:以下哪个语句用于读取分隔的原始数据文件并创建SAS数据集? DATA和SET DATA、SET和INFILE DATA、SET和INPUT DATA、INFILE和INPUT 答案:(D) SET不能用于读取原始数据文件。SET用于从一个或多个SAS数据集中读取数据。

问题11-12:以下是来自csv文件“Emp.csv”的数据: 员工编号,性别,姓名,出生日期,地点,薪水,经理员工编号 这个数据集是关于公司员工的 101,M,John,12/1/1995,Delhi,350000,101 102,F,Sangeeta,7/4/1980,Delhi,450000,103 103,F,Mary,3/5/1973,Mumbai,500000,101 104,M,Richard,6/25/1975,Mumbai,750000,101 105,M,Fredrick,8/20/1990,Delhi,320000,101 并且,以下代码用于读取名为EMP的文件。 问题11)如果运行以下SAS语句来读取“emp.csv”文件,输出会是什么? data WORK.EMP; infile'C:\AV\Skilltest\Emp.csv'dlm=',' ; input Employee_id $ Gender $ Name $ DOB Location $ Salary Manager_Emp_ID; run; A. B. C. D. 以上都不是 答案:(C) INFILE语句从CSV的第一行开始读取,也可能是标题行,所以需要明确指定开始行。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485