首先谢谢各位老师的回复!!
有些问题没说清楚,我解释一下:
第一个问题:我从书上看到将外部文件(如EXCEL2000)导入到SAS数据集的程序如下:
PROC IMPORT
OUT=<库.> 数据集名 /*“OUT”为要把导入的文件存放到SAS的哪一个(库里的)数据集*/
DATAFILE="filename" /*"filename"为要导入文件的完整路径与文件名*/
DBMS=excel2000 REPLACE;
sheet=sheet1; /*当导入Excel文件时,指定要导入Excel中的具体哪一页*/
getnames=yes | no ;/*当导入Excel文件时,用yes | no指定是否以第一行作为变量名。默认值为yes。如果指定后,原文件变量名不是有效的SAS名称或者指定getnames=no,SAS将会以var1、var2、var3……作为变量名*/
datarow=行数; /*从外部文件的第几行开始读入数据*/
RUN;
我用这程序想将上面<2008年7月份计划>的EXCEL2000数据表导入SAS数据集中,程序的这句getnames=no ;不是可以以var1、var2、var3……自动作为变量名吗?可现在没有?
有没有什么方法能自动生成变量名。
还有这句 datarow=3;从外部文件的第3行开始读入数据。好象也不对,运行后SAS显示如下错误:
36 datarow=3;
-------
180
ERROR 180-322: Statement is not valid or it is used out of proper order.
37 run;
第二个问题:我的一个SAS数据集中有400-500个变量,而且变量名不规则。现想导到EXCEL2000中,而EXCEL2000的一页只有256列(也就是说一页只能存放256个变量),所以导不出
。如果用 KEEP= 或 DROP= 一个个地输就特别麻烦,有没有什么简单方法,将SAS数据集中的400-500个变量,导到一个EXCEL2000文件中的Sheet1、Sheet2页。
第三个问题:上表<2008年7月份计划>意思是:总成a2902是由零件a2902-1、a2902-2、a2902-3、a2902-4组装起来的。第三车间1日生产了总成a2902的零件分别为100、110、100
、150件。现有一生产计划要求1日总装a2902共99件、2日总装50件、3日总装110件、4日总装50件。我请教应如何对照总装计划进行组装,即生成下表:
单位 类别 总成号 零件号 班次 1日 2日 3日 4日
三车间 310 a2902 白班 99 50 110 50
三车间 310 a2902 a2902-1 白班 1 20 *这些是多出剩余下来的
三车间 310 a2902 a2902-2 白班 11 20
三车间 310 a2902 a2902-3 白班 1 20
三车间 310 a2902 a2902-4 白班 51 10
三车间 310 c2321 a2321-1 白班 150 80
第四个问题:也就是按照零件a2902-1、a2902-2、a2902-3、a2902-4的每日的最小数量进行总装,又该如何编程?
谢谢!!!
[此贴子已经被作者于2008-7-30 20:30:10编辑过]