SAS-编程中的小技巧(四)

2019-10-21 17:33:51 浏览数 (1)

我们在使用的SAS的过程中,把SAS给玩崩了的是常常遇到的事,有些时候,我们写的程序忘记了保存,就会导致之前的写的代码付诸东流...那么该如何避免呢,那么SAS是否有自动保存代码的功能是呢?是有的...

设置自动保存

SAS软件初始配置,其实是设置了自动保存代码的功能,好像是每10分钟保存一次,这个时间小编觉得有点长,毕竟10分钟能敲下好多代码...所以啊,就看看如何设置把这个时间给调小一下...

图1

图2

按照上面的设置,程序就可以缩短程序自动保存的时间了...那么这样设置后就会发现即使我等了一分钟,我们操作的那个程序XXX.sas* 的上那个*还没有消失,这就表示程序并没有正的保存...那么SAS所谓的自动保存是啥意思呢...那么先来看一张图...

在来看一个图...

这是哪儿?怎么也有一个这个名字的东西...这就SAS中代码自动保存的地方...将那个打开,就是你的代码...小编的电脑的完整路径是这样的...

代码语言:javascript复制
C:UsersAdministratorAppDataRoamingSASEnhancedEditor

这里还有一点要说的是,AppData在电脑里面是一个隐藏的文件夹,需要将其显示出来,就可以进去看了...

如果小编没有记错的话,上面那样设置就可以显示隐藏的文件夹了...然后就可以正常的查看自动保存的程序了...这样就可以最大限度避免一些SAS崩掉了程序没保存而造成的程序丢失的情况...当然非常建议养成一个运行程序前随手保存的习惯...

SAS英文版本乱码问题

在使用英文版本的SAS时候,有人会遇到程序里面包含中文乱码的问题...这个问题小编也不是太清楚,大概是你打开的英文版本的SAS不支持中文编码的识别吧...当然网络上出现一些修改CFG,小编觉得其实这些操作的本质就是修改成DBCS版本的中的CFG..其实可以直接将DBCS中的CFG替换到英文版本.....或者直接用DBCS版本的英文版本...当然如果你英文好,且只做国外的项目的,所有注释全英文写,数据也是全英文的那么用什么版本都无所谓了....

代码语言:javascript复制
"C:Program FilesSASHomeSASFoundation9.4nls1dsasv9.cfg" /*DBCS版本配置文件的路径*/

"C:Program FilesSASHomeSASFoundation9.4nlsensasv9.cfg" /*英文版本配置文件的路径*/

凑字数

内容好像有点少哎,为了凑一凑字数在来一点代码吧...在SAS编程中,经常会遇到重复的记录该如何去重....先来看看,在PROC SQL 中有一个关键字想必大家都是很常见的,可以起到一个去重作用...

代码语言:javascript复制
/*Distinct 可以起到选择变量的去重的作用*/
proc sql noprint;
create table report_ as
select distinct *
from  ;
quit;

在来看看另外一个过程步,Proc Sort过程步,这个是一个排序的过程步,当然这个过程步也能去重...也是特别好用的。

代码语言:javascript复制
proc sort data=a1_1 out=a1_2  dupout=a1_3 nodupkey;
    by _all_;
run;

去重的效果是有nodupkey关键词决定的,这儿还有好几个关键词,效果作用各不一样,不过最常用的小编觉得就是nodupkey,这个可以根据by后面的关键变量进行去重,如果是_ALL_就是根据全部变量去重,重复的观测输出到dupout=a1_3这个数据集中了...如果sort后面的关键词感兴趣可以查看SASHELP...

今天就这么多了,后续内容,敬请期待~

sas

0 人点赞