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

[统计--软件] 07/22/2019 SAS 9.4 Base Programming - Performance-based exam 经验分享

 
全局:

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

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

x
今天刚考完,892分过。七月初才决定要考SAS base,当时查了一下居然在6月30号之后改版了,只好硬着头皮考这个新版的了。先说一下我的背景,专业统计,去年学过一学期SAS,但只是一些基本的data cleaning,没学到do loop, macro, proc sql这些,为了这次考试准备了两段时间,前后加起来大概一周。然后我说一下为什么是“两段时间”……. Χ
这是我约的第二次考试,第一次考试是约了在上周一晚上,我选的是take from home,自己的电脑系统很顺利test过了。然而刚开考10分钟的时候,我只是调了一下lab的界面大小,整个exam窗口就闪退了,也没有办法重新登录,proctor也没有打电话联系我,我打SAS和Pearson的客服电话也是在下班时间没有人回应,所以第一次考试就这么结束了。第二天我联系了客服report了这件事情,两天后客服给了我免费reschedule第二次考试的折扣码,我就约了今天的考试,果断选了在test center考。现在回想一下,第一次的时候闪退可能是因为exam系统崩了…因为我刚开始在lab写code的时候就感觉特别卡,每打一个字母都要延迟几秒出现在屏幕上这个样子。所以我感觉这个新版的考试最好还是在test center考吧(虽然也有点卡),但至少出了问题可以马上有人来处理。
我的复习资料是70题,123题,和SAS提供的免费training course: https://support.sas.com/edu/schedules.html?crs=PROG1&ctry=us 对于这个新版考试来说,只看题库已经不够了,其中的基本coding也都需要熟练掌握。这个training course对于学习和练习coding很有帮助,考点基本都在里面了。. 1point 3 acres
然后我说一下考题的形式。我的考题一共是44道,其中22道是lab,大概有6-7个project(具体几个记不清了),每个project有2-4个小题,都需要运行code,然后根据输出结果填空,可以选择使用sas studio或者enterprise。另外22道是选择和填空,和改版前的形式是一样的。

在lab里面,开头需要先使用libname建立一个input data的library,和一个output data的library,这些不算在project里面。然后开始project,前面3-4个project是需要自己写全部的code,最后3个project是题目给了code,让我改bug。
第一个project是用libname读一个xlsx file,然后填第一个worksheet和第二个worksheet的名字。好像还需要再求一下某个变量的mean,我记不清了,这一问比较简单。
第二个project是有一个employee表,先sort一下,有指定的by var,回答了2个问题,第几个observation的哪一个变量值是什么啊这种的。然后的问题是,表中的变量包括postalcode和income,需要在每一个postalcode对应的observations里面,找出最高的income,题目里面提示了可以用by processing和first./last. variable,这个我一开始忘记了first./last. variable怎么写,费了一些时间。
后面几个project顺序记不清了,说一下考点,有一个project让one-to-one merge两个表,有common variable。
有一个project需要提取出customerid中的numeric部分,customerid都是‘CSXnnnnn’这种形式的,nnnnn都是数字,我用substr(customerid, 4)做的。然后还需要把提取后的结果转化成numeric的,我用的input()函数。
还有一个project的数据表里面的变量有firstname和lastname,让把两个变量的数据concatenate成一个新的变量叫fullname,需要fullname的长度刚好是最长的那个record的长度,这个我是先把fullname的长度定义成了20,然后发现有warning,再试了30没有warning,然后试25有warning,就从25一个一个往上加直到刚好没有warning,最后答案好像是27还是28没记清。然后还是这个project,让把firstname和lastname中有z和Z的observation都subset出来,然后回答了1-2个问题。. .и
还考到了proc means,proc contents让回答encoding和label,这些都比较简单。
最后3个让改bug的project,前两个比较简单,包括改if-then/else去output几个不同的表这种。但第三个我做起来费了一些时间,数据表中有一个变量叫firstname,然后需要找出指定的first name (有Amanda, Tao, Chen, ...),如果它们是连续出现在原来的数据表中的话,就要建立一个increment variable叫count,对应的count值是0, 1, 2, 3,...这个样子。如果没有连续出现,这个observation对应的count值就是0. 题目给出的code里面有:
data dataname;
    set rawdataname; . Χ
    by firstname; ..
    if firstname in (需要找出的firstname list) then do; -baidu 1point3acres
        if first.firstname then count=0;
. From 1point 3acres bbs            count=count+1;
(下面的code记不清了,还原的可能有问题)
        else count=0;
    end;
run;
然后lab就结束了,我做完lab距离考试结束还剩40分钟。
接下来是选择和填空题,大部分都是70题里面的,但出现了一些新题:
有一个问怎么定义macro statement,选%let。
有一道填空题,给了几行code,其中有个macro variable忘了叫什么了,在这里用abc代替吧。让我把macro statement补充在第一行,需要赋值8,我写的%Let abc=8;
有一道填空题,给了raw data的截图和proc import的code,让填dbms是什么。
分别有一道选择和一道填空是关于proc transpose的。选择题是给了原数据表和output的表,让选是用了什么statement能够得到的这个output表,选项有idlabel, id, by, var. 填空题也是给了原数据表和output,让填充code,需要填出来by什么变量,var什么变量,id什么变量。感觉需要把proc transpose弄懂,才能答上来这些。
. 1point 3acres
就是这些了…感觉改版过后准备考试不能只刷题了,还需要掌握基本coding。祝大家都顺利考过!

评分

参与人数 5大米 +9 收起 理由
bluecloudszy + 2 很有用的信息!
lucylucy712 + 2 给你点个赞!
tenetenexzyus + 1 给你点个赞!
Fish0K + 3 给你点个赞!
kair + 1 赞一个

查看全部评分


上一篇:SAS Performance-based Base Programming Exam
下一篇:07/19/2019 北美 SAS Adv 过经 online版流程介绍 加 一道生题
推荐
 楼主| Sophie7 2019-9-3 09:16:42 | 只看该作者
全局:
godirty 发表于 2019-9-3 06:38
请问楼主这个题目,“”让把两个变量的数据concatenate成一个新的变量叫fullname,需要fullname的长度刚好 ...
. 1point3acres.com
我记不清code了,但这题不难,可能是我没说清楚,是这个样子的:
比如 First name 变量值是 Sheldon, Amy, Leonard. Last name 变量值是 Cooper, Fowler, Hofstadter. 合并后的新变量 full name 值是 Sheldon Cooper, Amy Fowler, Leonard Hofstadter. 这个变量是一个character,所以需要先定义长度。这3个full name里面,Leonard Hofstadter 是长度最长的 record, 长度是18. 题目要求的意思就是 full name 变量的长度要定义成 Leonard Hofstadter 这个record的长度。如果定义的长度小于18,运行后的log里面会出现warning,定义的长度大于等于18都不会出现warning,所以我试着一个一个往上加去找刚好没有warning的那个数就是答案。
回复

使用道具 举报

推荐
godirty 2019-9-3 14:42:44 | 只看该作者
全局:
Sophie7 发表于 2019-9-3 09:16
我记不清code了,但这题不难,可能是我没说清楚,是这个样子的:. 1point3acres
比如 First name 变量值是 Sheldon, Am ...

楼主不必理会我的上面的回复了,大不了我就按照楼主的方法,能得出结果就行。

我现在有个非常重要的问题希望楼主能解答,就是考试要把东西save 到 program的文件夹,能不能麻烦你详细解释一下这个怎么搞得?我只会把code存在左边的那些目录里,比如存为program1.sas, program2.sas。。。然后拖到右边就复制了程序。 但是怎样save到program的文件夹呢?是把code存到这个文件夹还是把code产生的最终结果存到这个文件?这个文件袋到底在哪?不好意思我就想清清楚楚知道这个,不想考试浪费时间琢磨,输不起,考试费对我来说是很大的一笔费用。多谢了!!
回复

使用道具 举报

推荐
godirty 2019-9-3 14:17:30 | 只看该作者
全局:
Sophie7 发表于 2019-9-3 09:16
我记不清code了,但这题不难,可能是我没说清楚,是这个样子的:
比如 First name 变量值是 Sheldon, Am ...

哦,原来我理解错了。那这个fullname不定义长度不是也能合并吗?我自己试过,用cats 或者catx,, 或者 !!来合并,没问题的, 不需要预先设定长度。请问你用哪个命令合并?
还有, 用length不是可以直接给出长度结果吗?我的这个方法行不行?就是 n= length (fullname)在结果就出来了行吗?
回复

使用道具 举报

全局:
后悔没有早点考,看到楼主的经验还是很有用的。那楼主自己准备考试时写code是用的什么呢?
回复

使用道具 举报

🔗
 楼主| Sophie7 2019-7-27 04:51:03 来自APP | 只看该作者
全局:
吃瓜群众2017 发表于 2019/07/27 04:41:13
后悔没有早点考,看到楼主的经验还是很有用的。那楼主自己准备考试时写code是用的什么呢?
..
我用的是sas studio,考试的时候也是
回复

使用道具 举报

全局:
考完了才看到楼主的贴子,要早点看到就好了,幸好这次勉强考过了,分享了你的贴子,谢谢楼主哈
回复

使用道具 举报

🔗
艾姆小鱼 2019-8-3 00:43:16 | 只看该作者
全局:
可以跳过base直接考原版advanced for SAS 9吗?
回复

使用道具 举报

🔗
 楼主| Sophie7 2019-8-3 03:34:35 | 只看该作者
全局:
艾姆小鱼 发表于 2019-8-3 00:43. Waral dи,
可以跳过base直接考原版advanced for SAS 9吗?

应该不可以,我看到advanced的考试说明讲了必须要过base考试。
https://www.sas.com/en_us/certif ... ced-programmer.html
这个链接你可以看一下
回复

使用道具 举报

🔗
艾姆小鱼 2019-8-3 04:00:55 | 只看该作者
全局:
Sophie7 发表于 2019-8-3 03:34
应该不可以,我看到advanced的考试说明讲了必须要过base考试。. 1point3acres.com
https://www.sas.com/en_us/certificatio ...
. check 1point3acres for more.
好的谢谢~
因为之前看未名上好像有同学直接考了adv,有成绩单但是没有证书
那请问考了SAS 9.4 base后,接着是考SAS 9.4 advanced,还是考原版的advanced for SAS 9?
回复

使用道具 举报

🔗
 楼主| Sophie7 2019-8-5 06:39:31 | 只看该作者
全局:
艾姆小鱼 发表于 2019-8-3 04:00
.. 好的谢谢~. Χ
因为之前看未名上好像有同学直接考了adv,有成绩单但是没有证书
那请问考了SAS 9.4 base后, ...
. Waral dи,
现在应该 SAS9.4 advanced 和原版 advanced for SAS9 都可以考,但10.31过后就只能考SAS9.4 advanced了。我准备赶在那之前考原版advanced for SAS9,因为感觉比改版后的好考哈哈哈哈
回复

使用道具 举报

🔗
cxtlt 2019-9-2 09:50:01 | 只看该作者
本楼:
全局:
谢谢分享
回复

使用道具 举报

🔗
godirty 2019-9-3 06:38:03 | 只看该作者
全局:
请问楼主这个题目,“”让把两个变量的数据concatenate成一个新的变量叫fullname,需要fullname的长度刚好是最长的那个record的长度“”, 这个具体怎么做呢? 两个名字合并后长度必定超过其中之一的名字啊,怎么可能让合并的名字等于其中一个名字呢?拜托楼主能不能把code 传授一下??多谢了!!
回复

使用道具 举报

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

本版积分规则

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