msgbartop
List for SAS fans and programmer
msgbarbottom

12 1月 14 SAS与R优缺点讨论:从工业界到学界


SAS与R的优缺点讨论:从工业界到学界

翻译 by JosephYX  校对 by sxlion  原文链接

导读:尽管这个话题已经讨论过很多次,但是这个翻译是比较系统的总结了一下两个软件的优缺点,值得一看。PS: 此话题已老,推荐新人看,另见以前一篇SAS评论引发的思考 by sxlion

摘要

尽管在工业界还是被 SAS 所统治,但是 R 在学术界却得到广泛的应用,因为其免费、开源的属性使得用户们可以编写和分享他们自己的应用。然而,许多正在获得数据分析相关学位的学生们由于缺乏 SAS 经验的情况而在找工作的路上困难重重,与此同时,他们要面对从学校熟悉的 R向 SAS 转型的痛苦。理想情况是,你需要知道所有可能的编程语言,工作的时候使用与工作情况最匹配的那个,当然这个基本上是痴人说梦。我们的目的就是展示这两种差异巨大的语言各自优点,并且共同发挥他们的优势,我们同时还要指出那些不使用 SAS 好多年的、现在正在使用 R语言的人们的一些误解和偏见,因为他们已经很少关注 SAS 的发展和进步了。

 前言

我们选取 SAS 和 R 的原因是因为他们是目前在统计领域中最有统治地位的两个编程语言。 现在我们注意到一个不好的现象,就是在学术界重度使用R的用户认为R在被SAS霸占的工业界有具有相当优势的,然而熟练掌握这两个软件对于想在数据分析领域取得小有成就的年轻人来说很关键。教授误解加上对某个软件的偏好往往对学生有着不利的引导,因此需要在这里指出:教授们,别偷懒了,对某种语言的主观偏好将会影响学生的钱途。

SAS经常有一些更新(有点慢,sxlion注),非SAS程序员由于没有技术跟进往往并不知情。SAS绘图模块就是一个快速发展并成长的例子,然而许多人并不注意到这些升级以至于他们仍然固执的使用 R画图。SAS另一个不广为人知的例子是SAS可以轻松自定义函数,这正是 R 的强项。这个SAS过程步(PROC)有全面的语法检查、翔实的文档和技术支持;然而一个新的使用者很可能不知道这些工具可用,或者根本不知道它们的存在。另外,SAS 还拥有卓越的培训课程,网络及用户组分享资源,不同相关主题的大量书籍。知道并合理的使用这些技术以及工具 有助于减少使用 SAS的畏惧之心。

 相关问题讨论

本文就在我们学院碰到的一些共同误解的地方,在此对比列出两种语言的优缺点。当然还有更多的争论在进行中,但是本文汇中我们将选取最为普遍的来进行讨论。我们希望能够消除误解,并且尽可能地为那些不能及时跟进R或SAS的分析人士提供新的信息。

统计方法的新进展

SAS

  • Ÿ  优点:SAS 的软件及算法都是经过检验的,SAS 有技术支持去快速解决用户的需求。 如果需要的话,SAS  会尝试在已存在的步骤中嵌入新的方法,例如增加一个选项或者新增一个语句(statement),因此用户不需要学习另外一个过程步。SAS也 会发布最新通讯来详细说明软件的更新。
  • Ÿ   缺点:更新升级较慢。

R

  • 优点:用户可以快速实施新方法,或者寻找已经存在的软件包。很容易学习和理解新方法,因为学生们可以看到代码中的函数。
  • 缺点:R 文档的更新都是通过用户进行的,所以新的方法并没有被很好调试和检验。 开发者们散布于各地,而并没有在一起来进行团队合作的开发。

在这个问题上,SAS 和 R 的优缺点是互补的。对于 R,有人认为它的代码是开放的,可以看到 R 是如何工作的,这对于拥有相关背景的人是比较容易理解的。然而对于 SAS,它的过程步是预装的,文件中对不同的语句(Statement)及选项( Option) 存储了大量的数学公式。如果用户真的想看到底层程序,这个也是很容易实现的。对两种语言的使用着者来说,不管是学生还是其它用户,只是运行代码的话对于两种语言是没有什么不同的。你运行SAS,不需要知道它在干什么,类似的是,你运行R时,也不需要知道它在后台调用的函数。你所做的就是按章操作而已。

 画图 (更多…)

原创文章: ”SAS与R优缺点讨论:从工业界到学界“,转载请注明: 转自SAS资源资讯列表

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


17 10月 12 SASor界吐槽若干


没事就爱在微博上搜“SAS”关键词,据不完全统计,发现与SAS有关的95%微博都是SASor对SAS的各种吐槽。精选其中一部分,分享各种欢乐 ! SASlist.net

纯文字版

1, 学SAS才发现,智商是硬伤。

点评:我看别人学SAS,也有同样的发现。 by oloolo

 

2,  一天一夜,只为下个SAS。。。  by 寒月里

点评:你值得拥有!  You  deserve it !

 

3,  sas课实在太难,大家都拿着手机对着屏幕拍照,希望能捕捉到老师写的代码,此起彼伏的咔嚓咔嚓声,让我有种置身发布会现场的错觉。 by 暴君小邹

点评:SAS耍的就是大牌。 http://SASlist.net

 

4, 这里是SAS课,台上老师突然问:“现在是2013年对吧?” “…….”  数統的都是些神。 by 朱珣碧是强大的变形金刚微博达人

点评:你的老师肯定是用的盗版软件! http://SASlist.net

 

5, 妹的SAS,我电脑和你有仇!为毛同一个安装文件,同一道程序,就我的不行! 是我太爱你了嘛?!!  by chenyA玲

点评: 论坛月经贴,微博日经贴。 http://SASlist.net

 

配图版 (更多…)

原创文章: ”SASor界吐槽若干“,转载请注明: 转自SAS资源资讯列表

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


29 6月 12 老SAS圈子的一些话题 【SASlist分享】


人的一生要经历无数个圈子,亲戚圈、邻居圈、同学圈、朋友圈、同事圈、户外圈、旅游圈、亲子圈、家长圈、相亲圈 …… 现在有了网络,各种新的圈子诞生,BBS论坛、Email列表、聊天工具qq/msn,SNS,微薄都是建立新圈子的工具等等。根据社交网络的理论,关系圈分强关系圈和弱关系圈。强关系是指你关注或加入的好友都是认识的人,基本上你只与熟悉的人在网络中产生互动;弱关系是指通过一些共同爱好建立关系的陌生人。saslist.net

说到圈子,市面上有本很火的书叫《圈子圈套》1,2,3,据说作者王强曾在SAS公司工作过,这本书讲的是与数据分析软件公司之间的故事,但都是关于销售职场的事情,基本上和软件编程关系不大。我也有很多同学做销售,据说很开眼界,很刺激,不是俺们这些死宅程序猿们能体验感受到的。有兴趣的可以看看,不同的世界。

因为自学SAS,我在网络上加入了很多SAS相关的圈子,比如网站,邮件列表,BBS论坛,聊天群,博客,SNS,微博。因为共同爱好SAS,所以结识了不少SAS圈子里的朋友,有不少还私底下聚会或单独见面过。可是人生都是有聚有散的,在人生的不同阶段经历了不同的见面与分别。因为是兴趣使然,所以话题离不开SAS。可惜有很多精彩的话题,没有以文字的形式保存下来。特别是在这种网络弱关系下,人聚散变得更快,话题多变而缺乏积累性。

今天翻看电脑文件,发现我保存了2010年-2011年间在老SAS圈子大家讨论的话题(已经Google不到了,新版SAS圈子地址:http://mysas.net/sns),当时那里差不多聚集了一批很活跃的SASor(有很多是高手),大家讨论着些SAS的问题。这里和大家分享一下(仅部分话题),尽管当时参与的人不多,但是很有氛围。这些问题也许对SAS新手有些帮助。

1,大家是如何发音SAS的?~ (更多…)

原创文章: ”老SAS圈子的一些话题 【SASlist分享】“,转载请注明: 转自SAS资源资讯列表

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


21 2月 12 Goodnight对免费软件说不 翻译


前几天oloolo在微薄上推荐一篇文章:SAS CEO Jim Goodnight: Not The Retiring Type,我觉得这篇与我年前一篇SAS评论文章SAS离免费有多远? 有一定的关联性。前一篇告诉你SAS使用者现在所困惑的问题,这篇文章则表明SAS官方的观点以及其未来所要关注问题。因此把这篇文章翻译成中文,这样可以增加新手对SAS客观认识,少浪费一点时间来选择统计软件——选择SAS,没错 !

SAS公司CEO——Jim Goodnight先生:永不退休

这一年里,有一些知名的CEO离开了科技工业界。有些人的去向是可预知的,像Sam Palmisano将会今年年底离任IBM的CEO职位,下放担任公司主席;而有些人是令人惋惜的,像Steve Jobs的离世;还有一些人是不体面的,像惠普的Leo Apotheker短期任职的结束。然而,SAS公司的共同创办人兼现任CEO Jim Goodnight先生,今年68岁,仍一如既往并坚定地致力于SAS公司的成功。如同以往,Jim Goodnight从来都直言不讳,保持一直以来的智慧,也不担心被视为保守派。

云计算?“我认为它被过分炒作了。” 近期在他曼哈顿的办公室接受采访时,他说道,“在1970年时,买一台计算机需要花费300万美元,当时计算时间共享是很有意义的,而在今天,计算机是大宗商品,谁都可以买得起。” 他提到因特尔Westmere芯片的计算性能和廉价性,并详述了核心个数、线程,以及能同时进行并行计算。 当然,像IBM甲骨文微软等公司加入亚马逊的公共云竞争中,难道那样的处理能力不是足够便宜和满足需求么? “你可以花500美元买一台服务器,放到你桌上,不是一样么?”Goodnight回应道。

(更多…)

原创文章: ”Goodnight对免费软件说不 翻译“,转载请注明: 转自SAS资源资讯列表

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


31 1月 12 SAS公司统计数据 2012.01 翻译


SAS2012年1月公布的公司统计数据

SAS是全球商业分析软件与服务领袖,是商业智能市场的最大独立供应商。全球50,000多家企业都在通过SAS软件对数据进行深入挖掘,帮助企业更快、更准确地进行业务决策。自1976年以来,SAS一直向全球客户提供” THE POWER TO KNOW® “的品牌服务。

客户统计数据

  • 客户安装分布在129国家和地区
  • 多于55,000个的商业、政府和大学机构安装点
  • 代表性客户包括世界财富500强公司的前100名中的90名
财务数据统计(全球收入)
  • 2011 营收: 2.725 billion美元
  • 2011年投入研发金额比例:24%的营收

图一,1976年-2011年SAS公司的营业收入曲线图 (来源见原页面链接)

原创文章: ”SAS公司统计数据 2012.01 翻译“,转载请注明: 转自SAS资源资讯列表

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


15 1月 12 SAS离免费有多远? by sxlion


SAS资源资讯网年度评点  2012年         

为了让更多的人了解SAS,我先简单地介绍下SAS。SAS软件是目前国际上标准的统计分析软件,是1976年成立的美国SAS公司(研究所)的产品。SAS公司是全球最大的软件公司之一,是私人公司,经常被评为全美最受欢迎的公司。SAS软件主要是靠SAS语言驱动完成数据分析和管理工作的。SAS语言是一门基于C语言(优化过的)的高级编程语言,其本身是一门小群体语言,关注的人群较少。而在中国,知道和学习SAS语言的不太多,精通SAS语言的人则更少。

前天(2012年1月13日)SAS杨旭(SAS公司员工)发布了一条微博:“经过努力,SAS公司的老大们原则上将对中国高校提供免费正版SAS软件,目前正在考虑提供的软件是EG,EM和JMP。至于软件的提供方式,目前还没确定下来,请大家耐心等候啊。”。其实在2010年4 月就有消息说SAS公司将在2011年秋季免费给大学生提供SAS软件,不过到现在还没有看到实施的细则,也就是说现在都2012年了,还没被执行,我们真的需要“耐心等待”。

 大家都知道,SAS是私人公司,怎么能随便就把自己的拳头产品免费呢?如果SAS公司现在把软件全部免费,那员工们都要喝西北风了,他们将失去那引以为豪的公司福利,这不可能!!!虽然SAS公司提供给部分高校的学习版SAS软件很便宜,但是也是必须收钱的。这次是什么原因迫使大老板们作出这个决策? 毕竟天下没有免费的午餐,至于SAS为什么这次提供免费版给大学生,还有SAS会不会继续开放免费的问题,让我们从SAS公司的历史年度营业收入看起。

图1 ,1976-2010年SAS公司营收曲线

(图片数据来源于SAS公司官方网站,数据为2012年1月更新。)

(更多…)

原创文章: ”SAS离免费有多远? by sxlion“,转载请注明: 转自SAS资源资讯列表

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


01 7月 11 SAS和R:一对奇怪的情侣 翻译


原文见:http://t.cn/a99M7Y?u=1832339132

待完成

SAS and R

原创文章: ”SAS和R:一对奇怪的情侣 翻译“,转载请注明: 转自SAS资源资讯列表

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


12 5月 11 一篇SAS评论引发的思考 by sxlion


在2009年初,江堂的一篇博文“R与SAS之争:一个导读”描述了国外一家主流媒体纽约时报的一篇报道Data Analysts Captivated by R’s Power引起国外SAS社区和R社区的粉丝们的大讨论。报社记者写报道嘛,肯定会找些社会矛盾点,专业称“焦点”来引起不同人群的注意。为了达到吸引眼球的效果,适当的添油加醋(专业称“润色”)也未尝不可。当然,也不能否定记者的对社会趋势发展的职业敏感性。就这样一场偶然或必然的口水战拉开了。然而,那时并没有引起国内的R粉和SAS粉们注意。

而在2010年4月胡江堂的另一篇在统计之都的博文Think SAS(一)则为了突出SAS,把其他统计软件进行了对比。尽管是客观的对比,不过放在R粉汇集到地方,难免争议。尽管江堂表示了担心,但是还是不可避免地引起广大中文社区的SAS粉和R粉们的罕见的大PK。同为统计分析软件,毕竟R作为后起的免费工具,还是受到很多人的拥护的,并且R作为开源软件允许个人自由发布R包所带来的成就感吸引了很多学院派的亲睐。显然R粉的优越感天然的要强于SAS粉,毕竟大多用盗版SAS的总不如正大光明用R的有底气。

最近(2011年5月)dapangmao在SAS圈子一篇关于SAS软件的评论”SAS, 一个华丽时代的结束(原创by dapangmao)” (经作者同意,转载如下)引起了众多SASor们的讨论,这篇文章很多转载,并且在微博上也很受关注。从正文和众多跟贴来看, SAS软件发展似乎不能跟上目前这个时代快速发展的潮流, 很多SAS粉们纷纷表示出一种担忧, 当然更多的是出于自身职场的考虑。而R粉们则表现出一种旁观的心态,可能缺乏对SAS的了解,更有可能的是他们走的是学术研究的那条学院派道路,和工业界的职场派没有利益冲突。

这次SAS粉们集体唱衰,并不代表SAS处于弱势,只是表达对SAS软件发展较慢而不能有所作为的一种无力感。因为在商业上,纯R无法和SAS较量(在这个时代,个人始终不是团队的对手),即使是可能对SAS造成威胁的R商业版本Revolution, 现在还处于襁褓中,它以后将遇到和SAS同样要面临的商业化所带来的问题。http://saslist.net/

另外,这三篇评论都是SASor作者主导的,说明SAS粉们对SAS软件及公司的思考,也说明SAS粉一般对SAS和R软件都熟悉的。从跟贴看来,R阵营还不够SAS阵营成熟,至少在自我反思方面还不够。面对网络信息的海量暴增和各种新型的商业需求,也许有更新型的数据分析软件来满足数据分析人员的需求。

在这里我们没必要通过比较SAS与R之间的优劣来选择他们中的任意一个,因为这些优劣总是暂时的。因此,我们不如祛噪取精,从正文和回复中了解这两种软件具体在各个细节方面上的长处,以便以后灵活运用。对于数据分析人员来说,他们只是工具的一种。与其花时间犹豫该学那种软件,不如都修炼一番,以便日后业务处理上能够随心所欲,不受工具之困。
 
点击阅读更多 (更多…)

原创文章: ”一篇SAS评论引发的思考 by sxlion“,转载请注明: 转自SAS资源资讯列表

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


08 10月 10 2010年美国百佳雇主公司


这列表里面中熟悉的公司不多,有google,卡西欧,微软排51,没找到apple,没有IBM,也没有惠普。当然,这只能是反映某一个方面的问题,不能代表公司全部。尽管SAS公司总是被评为100佳雇主,跳槽率很低,但是还是会有人跳槽,说明公司就算提供了非常好的环境待遇,也不能满足所有人愿望。

排名100的最佳雇主列表:

排名 公司名称 2010年增加岗位 美国员工人数
1 SAS 2% 5,487
2 Edward Jones 8% 37,079
3 Wegmans Food Markets 0% 36,770
4 Google N.A.% N.A.
5 Nugget Market -16% 1,342
6 DreamWorks Animation SKG 13% 1,825
7 NetApp 0% 5,033
8 Boston Consulting Group 3% 1,737
9 Qualcomm 3% 12,255
10 Camden Property Trust -6% 1,743
11 Robert W. Baird & Co. 6% 2,286
12 Bingham McCutchen -7% 1,859
13 W. L. Gore & Associates 5% 5,764
14 Recreational Equipment -6% 8,640
15 Zappos.com -21% 1,300
16 Cisco 0% 37,276
17 Methodist Hospital System 6% 11,145
18 Whole Foods Market -9% 47,478
19 Genentech 2% 11,146
20 Devon Energy 4% 3,912
21 NuStar Energy 4% 1,375
22 Johnson Financial Group 1% 1,316
23 Umpqua Bank 8% 1,836
24 Goldman Sachs Group -13% 12,243
25 Novo Nordisk 10% 3,360
26 CHG Healthcare Services -12% 1,142
27 Scottrade 22% 2,409
28 JM Family Enterprises -18% 3,772
29 Quicken Loans 0% 2,893
30 Alston & Bird 7% 1,842
31 PCL Construction Enterprises -10% 3,970
32 Baptist Health South Florida 11% 11,729
33 Shared Technologies -21% 1,243
34 Chesapeake Energy 20% 7,720
35 American Fidelity Assurance Co. -1% 1,502
36 Container Store -9% 3,233
37 Aflac -3% 4,353
38 Scooter Store 51% 2,173
39 TDIndustries 7% 1,588
40 Scripps Health 15% 11,444
41 QuikTrip 5% 10,311
42 Adobe Systems -4% 4,065
43 Salesforce.com 21% 2,361
44 Ernst & Young -4% 24,815
45 USAA -1% 21,999
46 OhioHealth 3% 12,128
47 J. M. Smucker 44% 4,521
48 FactSet Research Systems 9% 1,322
49 Mercedes-Benz USA 0% 1,612
50 King’s Daughters Medical Center 7% 3,263
51 Microsoft 2% 54,923
52 Booz Allen Hamilton 13% 21,303
53 Nordstrom -8% 45,853
54 Paychex 2% 12,456
55 Mayo Clinic 0% 41,839
56 CarMax -16% 13,030
57 DPR Construction -2% 1,142
58 Four Seasons Hotels -9% 12,345
59 Monsanto 5% 10,772
60 Indiana Regional Medical Center 3% 1,200
61 Brocade Communications Systems 39% 2,873
62 Kimley-Horn -19% 1,808
63 Southern Ohio Medical Center 8% 2,286
64 Stew Leonard’s -6% 2,037
65 Arnold & Porter 1% 1,295
66 Plante & Moran 1% 1,547
67 EOG Resources -4% 1,725
68 Men’s Wearhouse -9% 14,764
69 MITRE 2% 6,572
70 Deloitte 1% 39,065
71 PricewaterhouseCoopers 1% 29,387
72 McCormick and Company 2% 2,799
73 American Express -10% 27,265
74 Children’s Healthcare of Atlanta 13% 6,536
75 Perkins Coie -3% 1,680
76 Balfour Beatty Construction -12% 1,514
77 Baker Donelson -1% 1,127
78 Mattel -9% 5,293
79 Meridian Health 12% 7,099
80 Build-A-Bear Workshop -14% 4,588
81 Atlantic Health 2% 7,114
82 Marriott International -10% 110,091
83 S. C. Johnson & Son 0% 3,343
84 Accenture -7% 30,000
85 Arkansas Children’s Hospital 8% 3,733
86 Publix Super Markets 2% 139,578
87 National Instruments 2% 2,568
88 KPMG -7% 20,972
89 Bright Horizons 0% 14,497
90 General Mills -2% 16,681
91 FedEx -4% 218,770
92 Gilbane -11% 1,934
93 Starbucks Coffee -27% 116,357
94 Intuit -7% 6,710
95 Orrick Herrington & Sutcliffe -8% 1,481
96 LifeBridge Health 5% 6,350
97 Herman Miller -8% 5,186
98 Intel 0% 43,905
99 Winchester Hospital 4% 2,027
100 Colgate-Palmolive 2% 5,366

在美国地图上分布情况,发现很明显东部居多。目前看来,美国的公司的在经济、工作环境上也存在地域性不均衡现象。

前100公司分布

注:《财富》杂志的年度“百佳雇主”由《财富》杂志联合Great Place to Work Institute(理想工作场所协会)对美国工商企业界进行了大量的员工调查。公司得分的三分之二基于该协会的“信任指数”(Trust Index)调查结果,该调查的问卷被发送给从各企业随机抽选出来的员工。问卷问题涉及员工对管理层的信誉、工作满意度及同事关系的态度。公司得分的余下三分之一基于企业对该协会的“文化调查”(Culture Audit)问卷的回答,该调查包括有关员工薪酬和福利计划的详细问题以及一系列有关员工聘用、沟通及多样化的开放性问题。

来源:CNN: http://money.cnn.com/magazines/fortune/bestcompanies/2010/full_list/

科技资讯网http://www.cnetnews.com.cn/2010/0204/1624623.shtml

原创文章: ”2010年美国百佳雇主公司“,转载请注明: 转自SAS资源资讯列表

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


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