先说下本人的基本情况,软件行业从业11年,截至到去年只有C,C++和JAVA的经验。去年年底参与了银行的一个BI项目,跟SAS沾了点皮毛,从那时候算是开始接触SAS。准备考一下SAS资格也就是最近这两三个月的事,学习资料也很简单,只有online tutor,BASE和Advance时都只看了这个教材。另外就是做题,如果只是为了取得资格,BASE弄清楚70道题,Advance弄清楚63道题就足够了。想取得高分的话,再看下论坛的最新机经,考前一两天看看机经,90以上应该没任何问题。
我是5月底考的BASE,100%通过,当时没碰到任何新题,半小时就提交了。今天又考了Advance,在东京站附近的日本桥考试中心考的,整个过程都伴随着隆隆的雷声。上来前两道题就把我唬住了,之前准备时完全没见过,联想到刚进入8月份,莫非换题库了?不过之后的过程就很顺利了,确切的说,碰到了两三道新题,其余的还是63题+机经,准备考ADV的尽可放心。
简单说一下,填空题就那么几道,前面机经里全提到过:
out union corr
Avg() = 7
"HashAlpha"
%put _GLOBAL_
所谓的新题,其实有一道还是跟proc sort nodupkey有关系,变形而已。
另外就是给了一堆没排序的数据,但是告诉你已经有ID的index了,最后问
proc print data=数据;
by ID;
run;
的执行结果,结果是顺利执行。
还有一个是给出执行结果,问哪个程序能实现的(问题集中类似的多了去了)。
一直在以下两个选项里面犹豫不定:
proc sql;
select coalesce(A.X,B.X) as X
from A
union all
from B
quit;
data XXX;
Merge A B;
By X;
run;
最后联想到Merge前要先排序,就选择了SQL实现的,事实证明是对的。
以上只是示例,本人记性不好,不能重现原题,请见谅。