msgbartop
List for SAS fans and programmer
msgbarbottom

03 9月 12 SAS函数精选三 翻译


系列:  SAS函数精选一           SAS函数精选二

 

CATS和CATX函数

         这两个函数用于连接字符串。函数CATS首先去掉每个要连接字符串的首尾空格。CATX也会去掉首尾的空格,并且还会在每个字符串之间插入分隔符(CATX函数的第一个语句)。

         这些函数需要非常注意的点是结果的存储长度,如果没有预先定义,默认是长度200。而你使用连接符号(||或!!)只是这些连接字符串长度之和。

         如果你有一系列的变量如Base1-Basen,你可以在列表前使用关键词‘OF’。最后,列表中的值可以是字母,也可以说数字。如果一些语句是数字,SAS将会把数字当作字母对待,并且不会在SAS log里面出现转换信息。

         下面的例子示意这些函数字母操作去掉空格,函数CATX字母插入分隔符。

程序17

1
2
3
4
5
6
7
8
data join_up;
length Cats $ 6 Catx $ 13;
String1 = 'ABC ';
String2 = ' XYZ ';
String3 = '12345';
Cats = cats(String1,string2);
Catx = catx('-',of String1-String3);
run;

图17:程序17的输出结果

Cats         Catx

ABCXYZ    ABC-XYZ-12345

COUNT和COUNTC函数

         SAS有两个计数函数,COUNT和COUNTC。它们之间的区别就像FIND和FINDC。COUNT计算一个子字符串在一个字符串中出现的次数,COUNTC计算单独字母在字符串中出现的次数。这些函数的语句和FIND和FINDC一样。第一个语句是你想要搜索的字符串,第二个语句是子字符串(COUNT)或一列字母(COUNTC)。最后你可以在第三个语句中使用可选的修饰符,其中修饰符‘i’(忽略大小写)最有用了。 (更多…)

原创文章: ”SAS函数精选三 翻译“,转载请注明: 转自SAS资源资讯列表

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


03 9月 12 SAS函数精选二 翻译


系列:  SAS函数精选一              SAS函数精选三 

 

SUBSTR函数

         如果你需要从一个字符串中提取一个子字符串,你需要SUBSTR函数。需要提醒一下的是,有个函数SUBSTRN非常像SUBSTR,就是多了一些额外的特征。我不知道这些特征是否经常被需要,因此本文选择描述稍微简单的函数SUBSTR。

         此函数的第一个语句是输入字符串,第二个语句是你想要提取字符串的开始位置,第三个是,可选语句,设定子字符串的长度。如果你忽略第三个语句,函数将提取输入字符串中最后一个非空字母,也就是说,它忽略输入字符串的后面的空格(这个特征非常有用)。

         在我们继续例子之前,理解默认长度这个概念非常重要。比如说,在下一个程序中,如果你没有写LENGTH语句,SAS将仍然需要设置一个长度给State。对于这个函数,默认长度等于函数第一个语句的长度。你不能使得从字符串提取的子字符串长于字符串本身。很多其他的SAS字符函数默认长度为200。需要保证的是,具有这个功能的函数需要在DATA步中包含LENGTH语句。最好是包含LENGTH语句,即使是不需要,这样是没有风险的。http://saslist.net/

         下面是一个使用SUBSTR函数的简单例子。

程序9

1
2
3
4
5
6
7
8
9
data pieces_parts;
input Id $9.;
length State $ 2;
State = substr(Id,3,2);
Num = input(substr(Id,5),4.);
datalines;
XYNY123
XYNJ1234
;

         这里是你想要提取州号码(从位置3开始,一共两位),ID的数字部分从位置5开始。注意你忽略数值提取中的第三个语句。这个非常有用,因为有的数字是3个字符长,有的是4个字符长。这个例子中,你使用INPUT函数将字符转化为数值。

         图9,程序9的输出结果

    Id       State     Num

 XYNY123      NY       123

 XYNJ1234     NJ      1234

使用等号在左边的SUBSTR函数

         在早期学SAS的时候,等号在左边的SUBSTR函数被称为是SUBSTR假函数。据我所知,这是SAS唯一等号在左边的函数。下面是它的用途:

         允许你用新的字符来替代已有字符串中的字符。这个听起来挺复杂的,但是你通过下面的程序看到,这实际上是很直接的方式。下面的程序使用SUBSTR函数(等号在左边的)来遮住帐号的前五个字符。 (更多…)

原创文章: ”SAS函数精选二 翻译“,转载请注明: 转自SAS资源资讯列表

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


01 9月 12 SAS函数精选一 翻译


下面是Dr. Ron Cody的一篇关于SAS函数的文章,非常好的函数介绍文章。曾经在2009年SAS公司(上海)举办的一次SASor聚会上,我做了一次关于SAS函数的presentation分享,见 ppt正文,我发现竟然有部分内容重合。 我个人非常喜欢SAS系统提供的函数,建议老手新手都可以读读下面的文章,祝都有所获!

最有用的一些SAS函数
A Survey of Some of the Most Useful SAS Functions

by Dr. Ron Cody   翻译 sxlion

摘要:

     SAS函数为你的数据步(DATA step)编程提供惊人的能力。有一部分SAS函数是精华,能够帮助你节省大量不必要的代码。这篇文章内容覆盖其中最有用的一些SAS函数。有些函数可能对你来说有些陌生,然后她们将会改变你的编程方式,并助你轻松完成日常的编程任务。

 介绍:

         本文写到的大部分函数都与字符数据有关,这些函数的功能包括搜索字符串,查找和替代字符串,或连接字符串,还有些函数能测量两个字符串之间的距离(这对于“模糊”配对非常有用)。一些最新和最叹为观止的函数还以Call例程的形式存在。你知道怎么用函数在同一个观察值进行排序吗?你知道你不仅可以定位一列变量中极大或极小值,而且可以定位到第二位、第三位最大或最小的值? 如果你觉得上面的介绍能够吸引你的兴趣,请继续往下读! http://saslist.net

SAS是怎样存储字符值的?

 在我们讨论字符函数之前,了解SAS怎样存储函数值非常重要。为了帮助讨论,你首先需要理解两个重要的字符函数:LENGTHN和 LENGTHC。

LENGTHN和 LENGTHC

        这两个函数返回字符值的长度信息,其中LENGTHN返回未计算后缀空格语句的长度。LENGTHC返回字符变量的存储长度。你也许对旧的SAS函数LENGTH比较熟悉,大部分情况下函数LENGTH和LENGTHC返回同样的值。有一个例外的是,当语句里是缺失值时,LENGTH函数返回的是1,而LENGTHN返回0。有一些新函数看起来是在旧函数后面加个字母“n”,这里的“n”代表“空字符串”(“null string”)。在SAS9中,长度为0的字符串概念被引进。在大多数情况下,如果你看到一个你似曾相识的新函数(比如说新函数TRIMN, (更多…)

原创文章: ”SAS函数精选一 翻译“,转载请注明: 转自SAS资源资讯列表

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


27 7月 12 SAS十大性能优化技术 翻译


这是2012年SAS全球用户大会的一篇文章,主要讲编程时注意哪些问题,才能提高SAS程序的执行效率,很显然,一篇文章很难讲全SAS代码优化的全部技术,这里只是作者本人和他调查周围的程序员的一些经验总结,有很多方面并没有考虑到,如硬件情况。但是作为一篇入门级的SAS代码优化文章来读,还是很不错的。 原文链接:http://support.sas.com/resources/papers/proceedings12/357-2012.pdf

SAS十大性能优化技术

翻译 by 空谷幽兰 修改 by sxlion

摘要

SAS/BASE模块为用户读取、处理、分析、整理和生成高质量的数据和结果提供了多种选择。部分由于SAS软件提供的功能和数据源规模的原因,许多应用开发员和最终用户都需要更高效的用户指南。本篇文章列举了我个人认为SASor实施开发应用过程中最重要的前十种性能优化和编程技术。参加者学习DATA和PROC步语句和选项将有助于完成涉及数据整理,排序,分组,合并和汇总相关任务,并同时节省CPU, I/O,数据存储空间和内存资源。

引言

在编写SAS代码和/或应用程序时,代码的高效性不总是受到开发者的重视,尤其是在开发的初期阶段。应用程序的执行情况极大地受系统性能影响。理解应用程序和系统性能需求对于活跃开发员的非常重要。

应该注意每一个程序单元以使其符合高效性能评估准则。了解用户的期望(最好在应用程序开发过程的初期阶段)往往有助于开发更有效的应用程序。这样,在应用程序接近完工时提高程序效率的难度往往是最小的。本文列举了使用SAS软件时可以提高应用程序性能的几个重要方面。

Efficiency Objectives 效率导向

(更多…)

原创文章: ”SAS十大性能优化技术 翻译“,转载请注明: 转自SAS资源资讯列表

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


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


01 8月 11 SAS9.3最给力的十大新功能 翻译版


SAS9.3上市了,目前部分美国用户提前体验到,据说安装比SAS9.2更方便,更快。

SAS9.3有很多新功能,dapangmao综合多人的评价给出了前十个最给力的功能,我们虽然暂时没有新版SAS9.3使用,但是迟早会用到的,你信吗?不管你信不信,反正我是信了。

做为一个忠实的SAS用户,根据SAS公司在线文档 online documents和Rick Wicklin的博客(The DO Loop) blog posts,我非常希望用到SAS9.3的这10个新功能。

(更多…)

原创文章: ”SAS9.3最给力的十大新功能 翻译版“,转载请注明: 转自SAS资源资讯列表

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


17 7月 11 关注SAS9.3的十个理由 by Alison Bolen


SAS9.3于美国时间2011年7月12日星期二(大陆时间可能是7.13)正式发布了。

SAS公司美女员工Alison Bolen综合她的同事意见,给出10个关注新版本SAS9.3的利用。大家都知道,SAS语法从诞生到现在,都是向上兼容的,也就是你80年代的代码,现在还能跑,如果功能够用的话,作为一个SAS程序员,你可以几十年不用充电学习新语法,还能够靠SAS编程谋生,这在IT界简直是不可想象的。

其实每一个SAS版本的更新,都会有新的功能出现,比如这里有几个版本SAS函数的变化。SAS9被不管是稳定性,还是功能上,都被认为是SAS发展上重要的里程碑之一。但是随着现在新一轮的IT发展高潮,SAS9.1,9.2和9.3版本之间都有很大的变动,毕竟需求发展太快了,Goodnight可不能坐以待毙。

下面是AB给出的十个理由,原文(英文)出处见:http://blogs.sas.com/sascom/index.php?/archives/1076-Top-ten-reasons-you-should-care-about-SAS-9.3.html  (美时间2011年7.12日发布)。 (更多…)

原创文章: ”关注SAS9.3的十个理由 by Alison Bolen“,转载请注明: 转自SAS资源资讯列表

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


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


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

待完成

SAS and R

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

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


11 6月 11 SAS9数据步的新发现 旧稿新编 2006


大家都知道数据步(DATA step)是SAS系统的基石,最基本也是最重要的。在5.5年前,也就是2006年,我在当时人气最旺的SAS中文技术论坛SASOR发了一篇翻译稿“SAS9数据步的新发现(一)(二)(三)(四)”,《The DATA step in SAS9: Whats New? 》一文所作的翻译草稿,原文来自SAS SUGI proceedings 作者Jason Secosky, SAS, Cary, NC. 。

主要内容包括SAS9.0和9.1版本四个方面新功能:1,PERL正则表达式、2, 哈希表(Hash tables)、3,新函数和4,原来函数,操作符和宏功能的扩展。由于SAS9是SAS一个变化非常重大的版本,所以当时就翻译了这篇文章,尽管差不多6年过去了,这些语言元素对于SAS用户来说,仍然还是很fashion的。据传SAS9.3带着万众瞩目的新功能如高性能计算,可视化增强和云计算将于今年(2011)秋季美国发布,不过现在是找不到The DATA step in SAS9.3,有What’s New in SAS9.2,但是里面DATA step的亮点不多。

下面我对以前的旧稿进行整理,主要把翻译润色了下,还有把代码都跑通了一遍(其实这个工作是2008年做的)。现在在这里给大家分享下,一来是这些功能大家现在用得还是很少(谁叫SAS语言这么有特色呢,几年不充电的SAS程序员照样能活得好好的),可以尝试下,用新的语言功能来改进现在的SAS运行性能;二来放在硬盘的0101制文件也是会“烂”掉的,不如趁SAS9.3没出来之前拿出来晒晒,也许对大家还有些帮助。 (更多…)

原创文章: ”SAS9数据步的新发现 旧稿新编 2006“,转载请注明: 转自SAS资源资讯列表

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