楼主: cysk1011
9686 19

[原创博文] SAS大数据量的排序、拆分、保存 [推广有奖]

11
cysk1011 发表于 2012-8-1 11:07:58
hamn 发表于 2012-8-1 10:42
对这个指标定义成字符型即可。
怎么做?

12
cysk1011 发表于 2012-8-1 11:08:53
ziyenano 发表于 2012-8-1 10:40
proc import会在log中,编译成数据步语句;修改数据步那个变量的informat format   然后运行数据步就可以 ...
具体代码是怎样的?

13
ziyenano 发表于 2012-8-1 11:30:29
cysk1011 发表于 2012-8-1 11:08
具体代码是怎样的?
data ;
infile ""   delimiter='09'x missover;
informat  variable  $10.;
input  variable  $;
format varibale  $10.;
run;类似这样的代码,不过这么大数据,重新导入浪费时间;
直接将那个变量的format改成 yymm4.也行;

14
hamn 发表于 2012-8-1 11:33:20
很久没有编程序了,把以前工作中遇到的情况写下来,希望有帮助。

SAS在proc import中有默认,即每一个字段的定义(类型、长度)与读取的第一个记录有关。
如,Var1这个变量,第一个记录值为"aaa",第二个记录值为"aaab",用import之后,Var1这个变量第1、2记录值均为"aaa"
同样,如果第一个记录值为"1234",第二个记录值为"aaab",用import之后,SAS无法读入第二个记录,即第二个记录值为“.”(数值型的missing value)

这是import的一些缺点,所以我当时都是直接对CSV当中每个变量做定义,然后用infile语句将外部数据导入SAS。

欢迎批评指正,谢谢。

15
hamn 发表于 2012-8-1 11:34:44
楼上说的跟我的意思一样

16
cysk1011 发表于 2012-8-1 12:54:31
ziyenano 发表于 2012-8-1 11:30
data ;
infile ""   delimiter='09'x missover;
informat  variable  $10.;
谢谢!再问一个问题,missover是什么意思?英语不好,读不懂:
MISSOVER
prevents an INPUT statement from reading a new input data record if it does not find values in the current input line for all the variables in the statement. (“如果一个观测里所有的变量全是缺失的,则该观测不导入”是不是这个意思?)When an INPUT statement reaches the end of the current input data record, variables without any values assigned are set to missing.

Tip: Use MISSOVER if the last field or fields might be missing and you want SAS to assign missing values to the corresponding variable.

17
cysk1011 发表于 2012-8-1 13:43:21
ziyenano 发表于 2012-8-1 13:04
比如说
infile cards;
input x1 x2 x3;
明白,多谢!

18
cysk1011 发表于 2012-8-1 13:47:41
ziyenano 发表于 2012-8-1 11:30
data ;
infile ""   delimiter='09'x missover;
informat  variable  $10.;
sas在读入几条变量值完全相同的观测时,会自动合并(即删除,只留一个)吗?

19
zhentao 发表于 2012-8-2 08:55:43
liuywustb 发表于 2012-8-1 08:58
data  year1999  year.2000  year2001  year2002  year2003  year2004
  year2005  year2006  year2007    ...
好用就行。
现在的pc的能力很强大,不在乎这么点时间的。

20
O(∩_∩)O~! 发表于 2014-1-17 13:47:46
请教:要生成的数据集名可以简化吗?如果生成很多个名字类似的数据集,该怎么写程序?谢谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 02:17