今天刚把sas base过了,写上机经回报大家~
在准备考试时,还找了很多资料,其实现在想来,如果只是单纯为了考试,70题+123+机经 绝对足够了,弄清楚这里所有的就肯定不会有问题。但是当然,如果想要系统学习sas,觉得sas网站那个learing path很不错,非常详细系统的讲解,每一节后的习题也推荐。打算过年后趁热把sas advance过了,攒人品啦~
献上机经啦:
SAS BASE 70题中:
Q3
Q5
Q10
Q11
Q13 array difcount{3} diff1-diff3;答案也就变成diff1 diff2 diff3
Q15这种概念题自己做做对了,结果在考场答错了T.T
Q16
Q17
Q20
Q21 改成了GT50 选1
Q22
Q24
Q28
Q30
Q31
Q32
Q33
Q34
Q35改成else output, 选221
Q36变成day在前面,选ddmmyy10
Q37
Q42 填空 pos=5
Q43选put( shipdate, worddate20 )
Q45
Q46多了个missing revenue, mean不变
Q51
Q52加了个EmpID 选3
Q53,
Q56
Q57 问day是哪一天,选了day(begindata)
Q58
Q60 drop 语句变成drop=sales returns 所以答案是3
Q61
Q62 改成pdf
Q63
Q65
Q66 一个end 后加了一个output,选5
Q67改成了ifx<10,then X=3, 最后else X=3 改成了X1,问missing value,选3
Q69
sasbase 123:
Q7
Q11
Q50
Q52
Q54
Q88
Q104
Q110
机经:
1.给出几个data set的名字,让你选有几个是valid的。2TEST,_TEST什么的,选2
2. 如果2012年人口是XX, 每年增长2%,要求最后人口,出来dataset效果要是每年的数据写一个obs
答案是有do loop, do year=2012 to 2021,loop中间要output
3. 问proc means可以处理的数据是什么,选项有
nonmissing numbers
missing and nonmissing numbers
nonmissing numbers and numbers in character form
missing and nonmissing numbers and numbers in character form
应该是第一个
5. 考yearcutoff
options yearcutoff=1920;
data work.one;
dateA='01JAN19'd;
yearA=year(dateA);
dateB='01JAN20'd;
yearB=year(dateB);
diff=yearbyearA;
run;
问diff等于几,答案99
6. 考_N_和_ERROR_
问每一步中的_N_和_ERROR_值分别是多少,_N_肯定是1234, _Error_有人说是1001,有人说是1111
8.有两个dataset a和b,a中变量为empid,name,age,b中变量为emp,name,age;变量type全是一样的,只有empid和emp名字不一样,问你seta b之后的新dataset有几个变量 选了4个
9.给你一段程序,问output
iffirst.A then total=0; elsetotal=(A+B); 答案是total第一个值为零,其他为A+B的和
比如说举例:原本的dataset
Name Bonds Salary
Jack 5 30
Mary 2 30
Bella 7 30
在run过程序后选择输出,我在两个选项里想不太清楚,最后选了第二个,这里有知道的人可以解答一下~
两个选项
Name Bonds Salary Total
Jack 5 30 0
Mary 2 30 32
Bella 7 30 67
Name Bonds Salary Total
Jack 5 30 0
Mary 2 30 32
Bella 7 30 37
11.dateline 没有分号 semicolon
12.proc print data=data1label; label emp = ‘id*name*job’; run; 问加上什么语句来分隔label? 答案为split=’*’;
13. proc xx data;
proc freqdata;
XXXXXX
run;
ods freq close
问输出的 是两者都有 还有只有一个还是都没有