msgbartop
List for SAS fans and programmer
msgbarbottom

09 7月 11 SAS资讯 from 新浪微博-2011-06-30


本期亮点:

1,各种微博、社交网络研究方法逐渐成熟,SAS公司将推出社交媒体分析解决方案,目前处于研发阶段;

2,微博与博客:微博信息具有短、快的,微博上的信息经常会很快被时间冲掉,特别是有价值的难以保留下来。越来越的微博作者开始整理微博上有价值的内容,并且定期发布。

3,各种漂亮图表和免费网络资源闪耀上市,请谨慎收藏,慢慢品尝,以防消化不良。

原创文章: ”SAS资讯 from 新浪微博-2011-06-30“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/145


18 6月 11 SAS资讯 from 新浪微博-2011-06-15


微博信息是零碎的,在此我坚持整理所有与数据相关的微博信息,集腋成裘,积少成多,尽管很多深度可能不够,希望能给大家带来最新并且比较系统的资讯。
本期(2011.6.1-2011.6.15)SAS资讯亮点为:1,前几期发布的通知会议结束了,不过会议组提供了资料下载,特别是R会议,有视频看哦 ;2,继续有很多pp的信息图片可以看;3,SAS的发展历史回顾
包括以下五部分内容:

第一部分  最新的消息,如行业前沿信息、招聘、会议资料,不要错过哦

1.1  行业前沿信息;   1.2  招聘信息;     1.3  刚刚结束的部分会议的资料,视频,可下载; 1.4  最新SAS博文

第二部分  数据挖掘,数据分析  理论、应用、工具软件及资料

2.1 数据挖掘,数据分析  理论、应用、工具软件及资料;      2.2 数据分析工具及讨论;     2.3  SAS讨论,官方资讯、历史回顾 ;

第三部分 图表展示理论、图表点评和各种应用例子——很多精彩图片哦,内容和展示形式都非常吸引人,懂的入,不懂可以熏陶下

3.1 图表学习与点评;      3.2     内容和形式都很好的精美图表欣赏

第四部分  微博传播研究、分析方法和文化杂谈

第五部分    数据挖掘,数学统计理论、文化书籍推荐

(更多…)

原创文章: ”SAS资讯 from 新浪微博-2011-06-15“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/143


05 1月 11 读者来信一 请教一些关于SAS学习及工作前景的一些问题


今天收到一个新鲜SASor的来信,我也做了一个回复,我觉得他是很有准备的一个人,对QA稍作修改,问和答见下面,希望给有同样问题的新手有个参考。

from: www.saslist.net
Q:
sxlion **:您好!冒昧来信,恳请见谅,个人现在处于SAS学习的初级阶段,关于SAS学习及行业应用有一些问题,想向前辈请教一下,十分感谢您能抽空阅读一下我邮件,谢谢!

首先,简单的介绍下我的相关信息 :-):
我叫***,现在就读于**大学,是统计系2008级的学生。2009年底接触SAS,2010后半年投入SAS的学习中,开始关注SAS方面的一些论坛、博客及工作信息。2010年10月至12月学习完成了SAS Base和Adv的考试,算是刚刚有一点入门吧。英语方面应该还算过得去吧,口语交流有待提高。计算机其他软件方面的能力比较欠缺,如C++等。

我近期初步的规划是:大四毕业的时候,能以SAS为工具技术,找到一份与统计相关的工作。

下面有几点希望前辈能给予一些指导与建议:

1.关于SAS工作及前景
个人之前关注过一些SAS相关的招聘信息,然而由于眼界有限,对从事SAS相关工作(尤其对本科毕业生来说)仍是不太明了,希望前辈能就您所了解的介绍下SAS在各个行业的应用情况。若希望将来有比较好的发展前途,有哪些方向?需要具备怎的素质?以及学位有怎样的重要性?(好像很多高级职位都需要硕士及以上学历)
2.关于SAS应用能力
从接触SAS到现在,总是感觉自己SAS知识掌握的不牢,面对一些实际问题时总是难以很好的解决,考完SAS初高级后,仍感觉自己SAS的编程及应用能力很欠缺。若是希望能全面(或者某一方面)提高自己的SAS应用能力,不知道前辈您有没有一些建议?另外也希望前辈能介绍下您SAS学习过程中的经验,以及重要的阶段和体会。
祝,新年快乐!工作顺利!

—————–  from: www.saslist.net     ————————
A:
hi, ***, 谢谢信任。 你是一个有准备的人,比我们这些老的好多了 – : )。

必须提前说明的是,我对这些情况了解有限,不过我仍然愿意倚老卖老的按你的问题做些回答。
你的目标是找一份与SAS相关的工作, 在我看来,SAS方面的工作前景不错,特别是对于本科生来说机会会更多。我觉得你的基础和专业也很好,不过为了得到更好的offer,提一些小小的建议把,其实这也是一些大公司的硬性要求。
  1. 英语口语要好。 我感觉90后的英语感觉都不错,不过还是建议花的钱去学点商业英语,然后把你自己统计专业英语词汇熟悉下,就差不多了。这个在中国很重要,因为给SAS工作机会多地方在上海,北京和广州,用你的公司多多少少和外国有点关系。
  2. SAS基本编程能力要好。 你有base和adv认证,一般HR会给你机会面试的。面试你的未来上司会考察SAS编程能力,这个对新手,会逃不到考察项目。 建议去论坛回答问题,留下自己的代码,就算写的不是很好。另外和别人的代码多比较下,会学到很多的。
  3. 专业。你应该属于很对口,基本上有关SAS的工作,HR会直接考虑你的,如果有一份很好的专业成绩表,HR会更喜欢。
  4. 业务上   你自己必须知道,光大学毕业是没有业务经验,毕业之前找个公司实习吧,这个更实在,你的上司对这个很看重。
如果你上面都顺利的话,也就是搞定了HR和你的未来上司,你这份工作就差不多了,也是你尽自己的能力做得非常好了。剩下的就看老大拍板了,上不上差不多和你关系不大了,这个运气成分很大。
哈哈,上面的问题很严肃,这个没办法,实际中就这样,下面调侃些轻松的吧。
  1. 提供SAS工作的公司挺多的,就业面挺广,目前需求也旺盛的。有钱有风险的行业,像金融、银行、证券、保险、投行之类的,要SASor的多;稳定工资不错的,像CRO,药厂等等也是招SASor的大户;另外国内现在很多外包型的公司,接大公司的业务,直接外派你去做项目,这样的公司还不少,大中小的公司都有,不少SASor都是从这样的公司入行的。
  2. SAS工作前景总体感觉不错,但是SAS学起来很枯燥,学习周期挺长的,也挺难学的,需要涉及的东西很多,编程能力,统计知识和业务敏感三个方面,能做到oloolo所说的三合一的业内顶尖统计人才不多。很多做SAS工作的人,只是个程序员(又称码农),而不是一个SAS程序员。当然如果规划好,加上几年的业务积累,速度成为顶级的业内高手也是可能的。
  3. 其他语言或工具软件,像C,C++,java之类的流行语言,刚开始不用学太好,基本了解就行了,实际工作中在根据需要用。倒是像如SAS同类型的软件,比如SPSS,R,matlab需要了解一点点,不过学好SAS的话,这几个难度不大。最近挖掘挺热的,SAS/em,还有IBM的clementine神马的,倒是需要练练手。
  4. 谈谈SAS认证,这个表示你不讨厌SAS,系统的学习过SAS编程的一些知识,离实际比较远,是个有胜于无的东西,受HR偏爱。实际能力还需多练手才能提高。【还有学位证什么的,只要人家不是招你去做研究的(这个非常之少的),学位真的是浮云。工作以后有钱有闲的,读个MBA会划算很多的。注:后面详谈,以保客观评价】
  5. 谈谈学位,学位一张纸,本身是浮云。你读了博士或硕士,表示你有时间和机会去接触前沿知识,这个很开阔眼界,至少不会陷入井底之见。如果不浪费时间,还会有项目积累和研究经验,会为简历添光不少。硕博学习经历和三年或以上的工作经验,两者怎么取? 就算是问过来人,你得到总是会得到两种或者三种看法,这个是社会问题,读者自清。老话重听不无道理:“师傅领进门,修行在各人”。顺便提一下,个别职位会严格要求学历的,不过大部分公司职位往往会前面提学历要求,后面会加上,“如果能力非常强的话,前面可以忽略”之类的。这里面有学习经历和经验之间的PK潜台词就是对学位问题最好的解答。
  6. 提高SAS应用能力的话,自学或者公司锻炼都可以,个人造化。现在网上资源非常多,前人给的建议也非常实在,提不提高看个人意愿了。

OK,差不多,你需要的我知道的都在上面。

最后给你来个私人建议吧,参杂大量我个人主观意愿。
  1. 尽可能回答mysas.net 或 sasor.feoh.net论坛上的所有问题。
  2. 开始写博客吧,把你写过的程序,稍微总结一下,并加以讨论。慢慢积累,以后招聘你的上司,一看你写的东西,就知道你的SAS水平了。
  3. 当你感觉你准备差不多的时候,要找实习或者工作了,去mysas圈子发短信给shiyiming。国内的一些公司时常会在mysas或者我的博客上有消息的。51或者招聘什么的网站,广告太多,圈子里面工作信息很多,感谢shiyiming吧。
by sxlion
ps:顺便广告下,想在SAS博客列表 http://saslist.com的开博客的TX,可以来邮件告之。
ps2:2010年1月7日 增加了对学位的看法,尽量保证客观公正的评价。

原创文章: ”读者来信一 请教一些关于SAS学习及工作前景的一些问题“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/100


04 10月 10 SAS语言管窥 SAS_Dream 2004


这个文章最早见于2004年的sasor论坛,现在读来,仍然感觉经典。

尽管SAS经过这么多年发展,并且现在版本更新越来快,新模块和新功能如雨后春笋般冒出来,但是经典的文章仍值得再读一遍,哪怕是你读过很多遍。前一文转载了SAS的零碎印象一文,这两文每次读来都感到自己见识局限。因此,“精通“一词不管用于形容一个人的SAS技术,还是用来作为书名,值得谨慎考虑,再此,重读一些这些经典文章来提醒自己。因此,本博虽崇尚原创,并且网上的转载无数到连作者和出处都变更无数或者干脆没有,但是这里仍推荐大家重读一次经典。          saslist.net

另外,我很迷惑一点,为什么时隔五六年,还没有超过这两篇的关于SAS的中文评论出现,是没有像SAS_DREAM这样的技术高手,还是技术高手很忙?

附:

SAS语言管窥

由 SAS_Dream » 2004-3月-28 00:15

感觉SAS语言体系是庞杂多于宏大。因为很多可以称得上宏大的语系例如微软系或者现在的Java系,多是先有一个比较周全的架构,通过有序的新生、继承和变异,逐渐扩展膨胀的,语言元素之间有比较规范的关联。而SAS的语系虽有局部的架构,但就全局而言,主要是自发形成,也就是20多年的堆积和承袭。其实这也自然,SAS的应用领域靠近最终用户,模式千变万化,很难现有周全架构,只要有可行解就行了,而很多有组织的语系比较靠近系统底层,实际范畴比较集中,比较容易研究出架构。

因此,SASOR们的武艺和兵器往往是门派繁多,千变万化,但是很难有那种18般兵刃样样精通的武林宗师(如果那位知道有,麻烦通知一下,我们好沐浴焚香去拜)。

粗浅的印象是,SAS语系可以大致如下划分:

国语:Base语系

这是SASOR们不分阶级不分贫富都可以讲的话,里面就包含了常说的Data Step,Proc Step和Macro。SAS的基础语言元素主要是在这里演进而来。这个语言可以说是七十和八十年代面向过程处理语言的扛鼎之作,甚至还带有浓郁的非结构化色彩;难得的是SAS公司作为偏重技术的私人公司,二十多年以继承发展而非不断否定的方式打造Base,使得一些二十多岁“高龄”的函数和过程历久弥新,在如今面向对象的强势群体中仍以面向过程的独特魅力占有一席之地。

Data Step为处理与数据存储引擎的交互提供了规范,可以处理大量复杂的数据操作和变量操作,Data Step的底层是用C语言开发的。而Proc Step的出现则具有两重含义,一是将一些常用的过程组合归整为固定的过程调用,在语言书写上或处理效率上起到提升作用;二是确定了今后很多SAS模块语言的规范,比如PROC 的调用格式,CLASS, VAR, BY等语句,被广泛地应用在统计模块(如Proc Reg),数据访问模块(如Proc DBLoad),多维模块(Proc MDDB),数据共享模块(如Proc Server)以及很多GUI驱动的模块的shell命令(如EM中的Proc Neural)。Proc Step用Data Step和C语言结合开发而成。

Macro是Base中增强程序流程控制的语言机制。Macro并不是函数封装的概念,它的核心思路是文本替换,同操作系统shell脚本的机制相似。因此,macro的执行是依据macro定义首先进行文本替换,得出最终程序语句后再解释执行。所以在内存分配中,并不像其它语言中那样形成函数调用堆栈。所以在Macro开发中,不能像函数调用那样实现调用现场退栈式的参数传递。虽然这种机制不像函数调用那样带来更多的编程灵活性,但是由于文本替换不涉及复杂的内存分配管理,所以即使用很复杂的macro,替换的效率也很高,同时出现内存管理错误的概率也较小。由于Macro的设计含有大量的非结构性元素,所以编程的流程管理要多加注意,否则很容易造成程序可读性差的现象(事实上,看到%就想吐的现象是普遍存在的)。

Base中有一个过程值得单独加以考察,就是Proc SQL。事实上,它实现了对SQL的兼容,给很多熟悉SQL的编程者多了一个选择。截至V8系列,Proc SQL使用的SQL是基于SQL92标准的SAS SQL超集,有很多SAS特点的语法。关于同样的处理是使用SQL还是Data / Proc Step效率高的问题可以另行讨论,简单的说,从设计思路上,SQL是基于集合的语言,而SAS是基于记录的语言;SAS的开发在SQL和Data / Proc Step上并不是协调一致的,在V6的SAS中,很多SQL操作明显比Data / Proc Step低效,在V8中,SQL有了明显改善,有些情况下会超过Data / Proc Step,但是也需具体情况具体分析,随着数据量的增长,Proc SQL不如Data / Proc Step内存管理稳定的现象会渐渐明显,效率会有较大差距;在V9开发中,SQL的势力进一步增强,提升幅度也会比以前大。

Base语言的技能和思路是SAS的基本功,也是进入至高境界的重要途径。对于初入江湖的少侠,Base语言像马步冲拳非连不可,而到了“手中无剑,心中有剑”境界的大侠,也往往只用SAS摆平一切,代码思路之惊艳让人叹为观止。

官方语言:分析语系

分析语系是以PROC STEP架构扩展一些分析模块的语言,包括STAT,OR,QC,ETS,Insight和EM的shell过程,还有用于算法扩展的IML等。

分析语言有些贵族,因为需要有相应的背景特别是统计背景的人才能讲好。换句话说,SAS的贵族气质,主要也是靠分析语言表达。

经典统计语言STAT是名门望族的常用语,每个过程都是多年的功力积累,所以即便是极为常见的过程,也是在性能、精度特别是边界条件处理上表现出众,任何一个竞争对手,如果有机会去看到STAT开发组的豪华阵容和深厚积淀,都应该知道想要技术上超越STAT要承受的压力。

经济时间序列语言ETS也是在一个专门领域练透内功的产物,支持的算法种类和可定制性十分突出。

QC和OR语言是在专门学科应用领域的力作,尤其QC,是大型分析套件中,位置十分突出,不过这个领域里竞争对手的研究也很深入,做到关键功能不逊于SAS的也有。

Insight的语言主体是PROC Insight,可以以后台批量方式完成Insight操作。

EM的语言是针对EM中的各个处理节点,提供相应的PROC集合,例如PROC DMDB来生成数据挖掘数据库,PROC TREE实现决策树,PROC NEURAL实现神经元网络,等等;这种语言扩展有很重要的意义,很多厂家在炒“in database mining”的概念,实质上就是可以用一些挖掘语言直接对数据库进行挖掘操作,而EM语言与SAS数据引擎和其它SAS语言本身就是浑然天成,优势独到。

IML是针对矩阵定义和运算的语言扩展,有些另类,但是用好了可以写出很多复杂的算法。并不是所有的人都能或者都需要学好分析语言,而且把所有分析语言都精通和熟练也非易事,但是结合实际问题和统计知识,多理解一些对于思路的发展益处多多。其实数据库领域本身是非常适合统计知识的应用的,经常为数据库管理所累的设计开发者,借助SAS实地操练一些统计知识,会发现另外一片天地,比如数据库的查询命中率优化和结果数估算,数据量推算,数据仓库里的数据质量评估和提升,数据库厂家的很多方法知识含量少得可怜,用上SAS的分析语言,往往是迎刃而解。

形体语言:Graph

SAS Graph的强项不在于免编程的易用性,而在编程语句的完备。真正掌握了Graph编程会获得极大的自由,尤其是会熟练运用Annotate之后。有两大类方向上可以施展Graph功力,一是统计分析,当年SAS的数据挖掘大师Will Potts(现在在Data-miners,与Gordon Linoff等大师共事)讲解神经元网络的时候,就是自如运用Graph语句观看效果,辅助分析,熟稔程度令人叹为观止;一是应用展示,Graph对于图形种类的支持、定制的变化、比例的调配、边界条件的处理以及大数据量绘图的优化处理上均有不俗表现,很多时候Graph结果会给应用展示增添耀眼的亮点。

Graph技能出色的SASOR,像是轻功超卓的大侠,挥洒之间,偶像感十足。

时尚语言:SCL(AF)

SCL隶属于AF模块,是SAS语言中具有面向对象特征的开发语言。它的主创人之一据说是在SAS总部的一位台湾设计师,而且是OOP里还算开始比较早的开发语言。SAS一度想利用SCL与业界的流行开发语言体系接轨,其间加大投入,但是由于这个领域自身变幻莫测,SAS又不是领头羊,因而SCL在最近版本中具有极强的“时尚色彩”,所谓“时尚”,就是容易张扬也容易过气。SCL的名字也经历着变化,原先叫Screen Control Language,老老实实地想做GUI,后来叫SAS Component Language,俨然一副改天换地挑大梁的架势。而现在,Java在研发中的呼声很高,SCL的前景就很微妙,因为新派的Java系开发者对SCL和Base知道得相对较少,而传统的了解Base的SCL开发者转型Java也并非易事,SCL逐渐从前台退到后台,甚至重点集中到了通信接口层。因此,SCL是否会就此过气,很多人在怀疑中… ….

个人的观点是,SCL还是一套很漂亮的开发语言,自己建立了一套变量规范和流控体系,特别是OOP的体系,虽然C或者Java的熟手会看着怪怪的,但是实用性和效率上还是有自己的特点。SCL中的最重要的数据结构是SCL List,这是一种类似于Java数组的树形数据结构,这是一个兼顾灵活性和处理效率的设计,整个对象体系在这个结构上做文章,核心思路简明精炼;同时在与SAS数据引擎的交互上有突出的便利性。

至于SCL中的一些可视控件,也就是众多的FRAME元素,虽然在某些方面有特点,但总体上是乏善可陈。

SCL的使用主要集中在应用开发特别是一些前端开发上,但是AF,以及利用AF开发的EIS等模块都有些前景未卜,到底如何投入精力去掌握SCL,是个值得思考的问题。

劳工号子:引擎类语言MDDB和SPDS

这里没有丝毫贬义,因为使用多维引擎MDDB或者并行引擎SPDS的开发者,多是责任多于成就感,劳累多于飘逸的苦行者。

SAS MDDB是SAS用于多维处理的模块,现在有更时髦的名字SAS OLAP Server,后台的核心语言元素是Proc MDDB,这是个处理多维存储的功能强大的过程,想充分发挥SAS多维引擎优势的开发者,不妨着力修炼一下这个过程步。

SPDS是SAS用于并行处理的数据引擎,其实是SAS的数据引擎宗师Ami自创的一套独立的并行数据库,和Base SAS特点迥异。Base SAS对于SPDS的处理就像连接Oracle等外部数据库,Base语法用于SPDS很大程度是为了程序书写形式的兼容,而要想真正发挥SPDS的并行优势,需要掌握一套基于SPDS的SQL,和SQL Pass Through的连接语法。SPDS的名气不是很大,但在有经验的设计师调配之下,它发挥的性能是惊人的。

但是这两个语言的问题是,当劳工渐渐转变为白领以后,劳工号子就可能变了… …OLAP和SPDS是SAS V9和以后版本表面封装的重点,语法变化和依附性变化都会很大,所以旧船票是否能登上明天的客船还是一个谜… …

外地语言 Connect / Share和外语Access

Connect和Share是本地SAS调用远程SAS进程的通讯机制,SAS的C/S架构使用对等主机的概念,SAS主机之间可以通过Connect语言中的Rsubmit块、Proc Upload/Proc Download等语言元素互相提交任务,反馈结果。Share语言的主体是Proc Server,通过这个过程,将SAS数据和计算共享给远程SAS主机或是ODBC,JDBC接口。

ACCESS模块的功能是使SAS可以和很多异构数据库进行双向透明的交互。V8以后的ACCESS可以通过Base语言中Libname的扩展节省编程语句的复杂度,但是在必要的时候,仍可以通过ACCESS、DBLoad等过程来处理灵活复杂的要求。

其它边远地区的方言

还有很多模块可以通过Proc Step扩展或SAS函数的形式拓展SAS语系的范围。这里不再赘述。

原创文章: ”SAS语言管窥 SAS_Dream 2004“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/87