Top Secrecy

我的求职简历:生物统计师
其实这只是徒有虚名而已,真真进入公司之后,肯定需要从最基础的做起,跟着前辈一步一步的学习,前进……希望有机会进入公司,做自己喜欢做的。

 

这里的内容会越来越多的哦……

其它内容测试中……

预览模式: 普通 | 列表

SAS程序员面试遭遇……

今天面试了两家公司,其中一家只有笔试其实。
第一家,出题很不按规则来,把我弄的很郁闷……其中一题我到现在还是没明白那个到底是什么目的。另外有一题我确认做错了。
data k;l="12345678";length l $ 20;run;问变量l的长度。一般我们做的时候肯定会先定义长度,但我没想到是前面的赋值已经定义长度后,后续的length是不能再设置变量长度了,会出现warning。另外有一题,我把sql生成宏变量没有好好深入理解,结果有点搞错了。
用sql生成宏变量,他原来测试的是可以用data步来完成,我写完之后觉得data不太繁琐了,又写了一个sql语句,目的是为了简化代码。可是由于那个不是很常用,记忆上不是很牢靠,就给记错了。
正确的答案应该是select count(gender),gender into :y1-:y2 from test;我把冒号加错地方了,而且这里两个宏变量之间是-连接,每个宏变量名前腰加冒号。失误啊。
第二家的笔试很注重表的输出,而且是用ods输出rtf。好久没那么做了,结果ods语句都写错了,我写成ods rtf output="filepath\filename"了,应该是file="..."。悲剧啊。而且最后一题我还答错了。而且时间比较紧,要写很多代码。哎……不说了。

继续好好努力!主要是学校已经开始办理派遣手续了,我却还没有单位下落,让我比较被动。

Tags: 面试 SAS

分类:心情故事 | 固定链接 | 评论: 3 | 引用: 0 | 查看次数: 440

评价一下刚刚收到的怀炉…

 这几天过节,其实也没啥可以过的,孤苦伶仃,伶仃孤苦的……淘宝团购的零食也没到。

昨天在逛京东的时候看的了一个zippo的白金触媒怀炉,看起来不错,天也怪冷的,买一个吧。好贵啊,260rmb……上几天刚刚189刀烧了一个Kindle电子书阅读器,让我同学带来,还没到,可没那么多钱买着个玩意。不过可以起淘宝看看。在淘宝一查,哦,武汉就有一家,只卖48元,还送133ml的燃料,不错。还说是正品,接收专柜验货。好厉害啊。和京东的图片比照了一下,而且都一样。要不买一个玩玩吧,虽然在办公室有空调用不到,但寝室以及路上还是挺冷的。于是下单订了一个,又加一瓶zippo的煤油。

查看更多...

Tags: 怀炉 zippo

分类:乱七八糟 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 52

Hash在大容量记录快速查找中的应用

上几天刚好在看SAS的Hash,没想到马上就用到了。昨天有一个学遗传方面的人来请教一个问题,要从几十万条记录的数据库中找出1000个人的所有亲代记录。
这几十万条记录包含三个变量:个人代码x,父亲代码f,母亲代码m。
他是他只会用SQL语句查找上一代的,而且因为数据库很大,所以查找起来很慢。

那是,几十万条记录用SQL来做速度是快不了,I/O速度跟不上,效率低,而且他得一代一代的查,直到找不到新的亲代为止,这个要循环多少次还是个未知数。
用Hash的话假设3个变量都是20个字节长度,那么一百万的记录量,占用内存空间应该在六七十兆左右,一般的机器都可以完成,这个可以大大提高搜索速度。
解决的方案定了,剩下的是算法问题了。不过这个不好叙述了,我手边也没有换框图的工具,sorry啦。

现在把代码贴出来吧,有需要的可以拿去用。

data Output;
length x $ 20 f $ 20 m $20;
 array y(10000) $ 20. _temporary_;
 i=1;
 do until (eof);
  set dbscan end=eof;*dbscan是要查找的人;
  y(i)=x;
  i+1;
  end;
 aitem=i-1;

查看更多...

Tags: SAS HASH 快速 遗传学

分类:代码天地 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 308

移动硬盘盒的购买经历……

笔记本500G硬盘经不起PT的折腾,已经快塞满了,好多好东西舍不得删或者没时间及时用,想保留又没地方。之前也想过要买个大的移动硬盘,于是在京东订了一个奥睿科(ORICO)7612sus3 3.5"外置硬盘抽取盒USB3.0+eSATA双接口,配西数的WD20EARS,速度不理想,还出现C7错误,郁闷无比。

…………

查看更多...

Tags: 移动硬盘盒 ORICO USB eSATA

分类:乱七八糟 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 115

求职历程……

这段时间在试着找工作,讲讲两个遭遇吧。

之前投了搜狐的一个职位——数据库工程师。确实和我的专业离得远了点,而且数据库方面我离工程师还是有一定距离,之前倒是学过,不过没有像网络一样那么深究,毕竟我还是考了一个网络工程师(三级+软考)。

我还报了浙江移动……不过我填简历的时候毕业学校选了华中科技大学同济医学院。结果对方打电话来问我,是不是民办学校,拿的是什么学位证……晕倒……

查看更多...

Tags: 求职

分类:心情故事 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 70

也谈360pkqq……

最近qq和360掐的真火爆,幸亏我没装360,但是对于qq强制在装有360的电脑上拒绝服务,要求卸载360,这个就很让人郁闷的了,让我没有用360的人也很郁闷。

 

查看更多...

Tags: 360 qq 绑架

分类:乱七八糟 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 15

SAS中宏变量在跨宏时的堆栈处理

 在宏程序运行过程中,往往会用到很多的宏变量,特别是关于循环的,而这些宏变量由于代码的书写习惯,往往会造成几层的宏无意间使用了同一个宏变量,而造成下一级宏对上一级宏变量的篡改而造成结果得错误。

 
在宏调用过程中使用的参数,默认成为被调用宏的局部宏变量,如果全局或者上一级宏中已经使用该宏变量,则将该宏变量压入宏变量堆栈进行保护,在宏调用结束后取出。
 
同时宏中如果需要一个仅限在局部使用的宏变量(如做循环使用),则可以用%local建立一个局部宏变量,从而保护全局或者上一级宏中的该变量。
 

查看更多...

Tags: SAS MACRO

分类:代码天地 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 122

效率评价2——大型数据集记录的修改与删除

通常我们在整理数据集的时候用data步来计算、修改、更新数据。比如加个format、label、重命名变量名啊,因为data来的直观,用的最多也最熟,手到擒来,所以最受大家的欢迎。
但是如果应用在大的数据集时,会出现效率危机。之前我们也讲了一章关于如何高效修改数据集某些属性,详见http://www.happycoder.cn/article/48.htm

另一个更新数据集的方法是用sql的update语句。
Update table-name|sas/access-view|proc-sql-view <AS alias> 
SET column=sql-expression <, ... column=sql-expression> 
 <SET column=sql-expression<, ... column=sql-expression>> 
 <Where sql-expression>; 
如果要删除某些记录可以用sql的delete语句。
Delete  FROM table-name|sas/access-view|proc-sql-view <AS alias>  <Where sql-expression>; 

以下我们通过一个例子来比较不同方法的效率。在这个例子中,用的的数据集是一个单病种的数据库,有19w6k条记录。

以下是更新一条记录的效率测试:
proc sql stimer;
 update raw.dbz2_ set  indays=24 where  code='X15487501' and patientno='337832' and bzbm='008';
 quit;
*执行时间3.39s(实际时间,下同);

查看更多...

Tags: SAS SQL 效率

分类:代码天地 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 114