查看: 3056| 回复: 1
跳转到指定楼层
上一主题 下一主题
收起左侧

[统计--软件] SAS BASE 2020/11/06 改革后经验分享/考题回忆

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
考过了非常开心,都是站在大佬的脚印上哈哈~激情分享经验希望大家都过过过。. 1point 3 acres

三个部分:复习步骤,考试题回忆,和考试体验。如果哪里代码打错了请指出来~. From 1point 3acres bbs

复习步骤:.1point3acres
1. udemy买了sas课复习一遍 (对没有基础的人来讲可能比较有用)。
2. 地里jj+crackman70题。参考了好多大佬的经验(此处不完全收录)。
https://www.1point3acres.com/bbs/thread-540191-1-1.html
https://www.1point3acres.com/bbs ... 26orderby%3Dlastpos
https://www.1point3acres.com/bbs/thread-540573-1-1.html
3. 有个大佬自己弄的每日一练lab怎么都找不到那个帖子了,非常非常非常好用,几乎囊括了我考到的全部lab题,还有部分选择/填空题。如果你们也找不到,就参考比如这里列出的这些帖子,里面的lab自己打几遍练手,争取不用思考就能打。
4.考前几天做官方模拟测试题,非常懵,第一次做只对了60%左右。那些lab一定要亲手打几遍熟悉相关知识点。没准儿就考了类似的。
. 1point3acres
. check 1point3acres for more.
考试题回忆: ..
选择填空部分
1. 选择/填空基本是70题原型或变形。-baidu 1point3acres
2. 两个macro和两个transpose题。 ..
3. 我考到的macro题:
        1.怎么定义一个macro变量:选项有%let,%macro等等,选%let。
        2.填空,给了一段代码,比如:
        a = &target
        叫你找出代码中的macro变量并赋值=8。填写:%let target=8;
        看别的jj似乎有考到引用lib。记得引用之后再加个点。
        比如:
        %let libname=mydata
        PROC PRINT DATA=&libname..filename; RUN;
4. 考到的transpose题要搞清楚ID,VAR,BY的用法。我的理解,ID拿来转换过后命名各column,VAR拿来框选要转换的字符变量或特定的数字变量,BY就是搞分组。如果没有var就默认为把所有的数值变量转换了,不管字符变量。如果要转换字符变量一定要用var,不想转换全部的数值变量也要用var选。
在大佬的手打lab题里他说有个拿来transpose的文件我没找到,这里在附件上传一个自己搞来练transpose的文件供大家参考。
5.有一题(70之42)是给了变量比如:
        text=‘Australia, US, Canada’;
        pos=find(text, 'us', 'i');
        问你pos的值,此处是2。70题原题是find(text, 'us', 'i',5),从第五位开始寻找,所以答案不同。一定要看清楚不要大意。
6.这道题我肯定错了,给了个长得像txt的文件截图 (图上类似于age, name, 等等 用逗号隔开) 问import xxx.dat文件DBMS=?我不知道填什么。下来在网上查,据说要写 DBMS= dlm replace 后面还要指定delimiter, 不过我考的时候试过那个空根本没那么长,后面写不了replace,也并没有指定delimiter。估计这道题还有变形,问csv啊txt啊excel都用什么DBMS,我知道txt用DBMS=tab。下一题题干上import txt file就是用的这个,问的什么忘记了。
7.有一道ods html 的题,中间一个proc print步一个proc freq步只有一个run,问你最后的html能有几个proc步能输出。好像是70题原题?
8. ods题,给一段代码叫你选输出pdf的syntax。ods pdf file='output.pdf ';ods pdf close;
9.(大佬lab练习题里有)给个表格的截图,解释说x地2012年人口数是比如1000,每年增加6%,到2020年每年的人口结果如图,第一行是ID,第二行是逐渐递增的人口数,第三行是年份,问以下哪个代码可以输出这个表格。类似代码:
        DATA populationx;
.         population=1000;
        year=2012;
        DO UNTIL (year=2020);
                population=population*1.06;
                year+1;.--
                OUTPUT;. Χ
        END;-baidu 1point3acres
        RUN;
有个选项是year=2012 - 2020,有个选项没有在循环里加output,不符合题目截图。有个没有year+1直接死循环。
10.70题变形之drop语句改错。原题中要在data那一行写等效的(drop= var1 var2 var3),考题要在原位置改错,即drop var1 var2 var3; keep和drop的类似问题一共考了两题。
11.70题之66原题,do loop套do loop问最后几个obs。
12.70题之65原题,给变量加label。
13.70题之56题,问table语句。
14. X=mdy(1,15,1960) 问x值等于多少,等于14。
15. 70题之52题,merge数据得在A不在B,在B不在A的结果。. ----
16. 70题之34题,问format储存问题,选catalog。
17. 70题之43题变形,直接问把shipped变成char要怎么写成Feburary, 20, 1996之类的格式: char_sh=PUT(shipped, worddate20.); 字符和数值转换似乎在lab也有考。
18. 70题之37题,label问题。似乎label一共考了两题。-baidu 1point3acres
19.70之33,PILOT2那道。
20.70题之21,几个分组,问OUTDOOR里几个变量。
21.70题之17, TULSA呀Los Angeles那道,问最后表格的结果。.--
22.就记得这么多了,知识点都差不多。

注意有一个版本的70题之45题,问cvs类型的文件能怎么打开,答案选的只能在text editor里打开是错的,能在excel和text editor里打开。

LAB部分
1.lab考到给excel文件让你建立library:
        libname certxl xlsx 'c:\cert\input\input11.xlsx';
        然后问你sheet1的名字。一般来讲sheet A应该叫sheet A$,我本地练习的时候不管直接点进左侧library查看还是proc contents都是sheet A$。奇怪的地方在于考试当中那两个sheet的名字直接不带$符号,就是people和income。用它里面的某个变量算平均值也是直接PROC MEANS DATA=certxl.income;不知道怎么回事。还有就是本地练习的时候我的电脑只能写 libname certxl excel 'c:\cert\input\input11.xlsx'; 来识别xlsx,但考试的时候只有xlsx能正确读取。. From 1point 3acres bbs
2.那个最简单的lab题也考到了,就是问encoding和label,然后求了个什么值。
3.lab改错。遇到某几个重复的firstname就count+1。比如:
PROC SORT DATA=cert.input44 OUT=input44; (所有的原文件都只读不能修改)
BY firstname;
RUN;

DATA out;
SET input44;
BY firstname;
IF upcase(firstname) in ('TAO', 'CHEN', 'AMANDA', 'JAMES') THEN DO; (原题在in的条件里不打引号,且前面没有upcase变量,导致没有一个变量符合要求). check 1point3acres for more.
        IF first.firstname THEN count=0;
        count+1;
END;
ELSE IF upcase(firstname) not in ('TAO', 'CHEN', 'AMANDA', 'JAMES') THEN count=0; (不知道这里直接else count=0不要后面的可不可以)
然后问第361个obs的firstname是什么?第582个obs的count是什么?
4.lab改错。给几个条件split dataset。. ----
DATA sofas chairs tables beds;
SET cert.input38;. 1point3acres.com
IF product='SOFA' THEN OUTPUT sofas; (改错前条件里没有大写,和数据集不符,output后面没有跟目标数据集)
ELSE IF product='CHAIR' THEN OUTPUT chairs;
ELSE IF product='TABLE' THEN OUTPUT tables;
. From 1point 3acres bbsELSE IF product='BED' THEN OUTPUT beds; (谨慎起见我都会加if...then...,不知道这里只else行不行)
RUN;
然后问你sofas和chairs里面有几个obs?beds里第42个obs的price是多少?
5.lab给一个数据集,按照特定方式排序,并保留相同var1里面var2值最高的那个。记得用first./last.前先排序,否则会报错。
PROC SORT DATA=cert.input13 OUT=input13;
BY descending postal_code income; (邮编降序,收入升序。descending只管后面一个。). 1point 3 acres
RUN;
DATA results.output13;
. 1point 3acres SET input13;
BY descending postal_code income;
IF last.income; (同一邮编,升序排在末尾即数值最大)
RUN;
然后问了第64个obs的ID是多少?第52个obs的age是多少?(总之是某个别的变量)
6. lab给数据集,empID的格式是CABnnnnn,比如CAB12306,提取数字部分组成新的num变量numID,y=numID*5,求y在某个组的平均值。
DATA output21;
SET cert.input21;
numID=INPUT(substr(empID,4,5),5.);
y=numID*1.5;
RUN;
问y在比如department='clean'时的平均值。
7. 似乎和上述lab3一个题,firstname含有大小写z的zflag=1,否则zflag=0,求全部数据中zflag=0的数量。
DATA out2;
SET cert.input44;
IF find(firstname,'z','i') ne 0 THEN zflag=1;
ELSE IF find(firstname,'z','i') = 0 THEN zflag=0;
RUN;. 1point 3acres
8.给一个数据集,叫你先drop smoking weight height等,再根据cholesterol建立新变量,比如小于80是正常,80-200是临界,201以上是高。要求不包含missing。
DATA health;
SET cert.input08;-baidu 1point3acres
LENGTH grade $11;
IF cholesterol ne . THEN DO;
        IF cholesterol < 80 THEN grade='normal';
        ELSE IF cholesterol <=200 THEN grade='normal-high';
        ELSE IF cholesterol >=201 THEN grade='high';. Χ
END;
RUN;
问最后normal里有多少obs,high里有多少obs。
这里就是没有定义200-201之间的值,所以200-201之间和原本missing的值一起在grade里都missing。
9.在官方模拟题里有。给数据集,只选择group=A或者B(有大写有小写)的数据。分别算price的median,再把范围外(45-310)的price根据分组分别等于A或者B的median,最后分组算mean。
DATA output45;
SET cert.input45;
WHERE upcase(group) in ('A','B');
RUN;

PROC MEANS DATA=output45 median;
VAR price;
. 1point3acresCLASS group;
RUN;. Χ
. From 1point 3acres bbs
DATA output45a;
SET output45;
IF price lt 45 or price gt 310 THEN DO;
        IF group='A' THEN price=61;
        ELSE IF group='B' THEN price=72;
END;
RUN;
PROC MEANS DATA=output45a mean maxdec=0; (答案要求整数,直接一步到位)
VAR price;
CLASS group;
RUN;
好像问了output45里面一共多少个obs,然后问了output45a里priceA组的mean是多少。

11.给俩数据集合并,全部合上得一个,全部合不上得一个,问问题。
记得先sort再合并。这里假装sort过了。
DATA match nomatch;
SET input32a(IN=a) input32b(IN=b);
IF a=1 and b=1 THEN OUTPUT match;
IF a=0 or b=0 THEN OUTPUT nomatch;
RUN;
具体问题忘了。反正牢记IN=的用法,1是凡是在该数据集中obs就添加,0是凡是该数据集中的obs都减去。

10.lab就记得这么多,总之proc contents 和proc means 和proc print 几乎是每题都要用,所以练熟一点。.
凡是问某个obs的某个变量都精准输出,比如问第55个obs的name:. .и
PROC PRINT DATA=printdata (firstobs=55 obs=55);
VAR name;
RUN;
. Χ
考试体验:
在家考,必须全程挂梯子否则根本打不开。提前半小时开始check-in,网络问题卡掉了一次。先是手机上上传四张考试环境的照片,上传护照的照片,拍摄自己的大头照,然后等待那边工作人员联系你开始你的考试。到你约定的时间,工作人员让你把桌面都清理干净只剩键盘鼠标显示器,让你摄像头拍摄考试环境,把手机啥的放到拿不到的地方,中途不能离开摄像头范围,不能使用草稿纸啥的,不能有人打扰。-baidu 1point3acres
网络时好时坏,准备阶段给我重启了一次考试,后来经常连不上远程桌面,等半天才等到页面,有时候又快到打字几乎没延迟,很过山车了。. 1point3acres.com
两个多小时的考试时间一共40题好像,时间绝对充足,全部做完一遍花了一个小时,检查花了半个小时,交卷当场出成绩。讨厌的是网络又卡掉了,导致最后有个结束考试的窗口没按,貌似就不能deliver成绩啥的。
考之前先去官网看看考试界面啥的,很有用,不会抓瞎。
最后,朋友们加油!
就一个excel文件,你们都懂的度娘https冒号斜线斜线pan点baidu点com斜线s斜线1O5NwSihyLaKFNpSpyK-JzA  提取: lelo

评分

参与人数 1大米 +30 收起 理由
pikado + 30 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分


上一篇:Wayfair BIE/DA/各种analyst 面经总结
下一篇:寻求数学好的同学做study partner,我可以提供工程指导
🔗
kstefanie 2020-11-12 01:07:08 | 只看该作者
全局:
        很有用的信息!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表