我必须将格式更改为SAS
表格中的单个单元格。也就是说,单元格所在的列的格式为best12.
,但在单元格中给定了日期,因此我想使用YYMMDD10.
如何将格式更改为SAS表格中的单个单元格
我该如何解决?
在此先感谢。
我必须将格式更改为SAS
表格中的单个单元格。也就是说,单元格所在的列的格式为best12.
,但在单元格中给定了日期,因此我想使用YYMMDD10.
如何将格式更改为SAS表格中的单个单元格
我该如何解决?
在此先感谢。
您只能将FORMAT与整列相关联。如果您希望混合类型的单元格格式不同,则需要一个将PUT(函数)值放入的字符列。
将不同的格式与列使用关联。
proc datasets;
modify data-set-name;
format variables new-format.;
run;
quit;
下面是如果数据允许,您可以做什么的示例。假设您的数据中最早的日期是2000年1月1日,那么SAS中的数字将保存为14,610(1960年1月1日以来的天数)。因此,如果没有非日期值超过这个数,那么你可以通过多达14610格式化所有值best12.
实现你的目标,所有值大于该值作为yymmdd10.
proc format;
value dtfmt low - 14609 = [best12.]
14610 - high = [yymmdd10.]
;
run;
data want;
input num;
format num dtfmt.;
datalines;
10
20
20514
30
;
run;
可以在IF
条件检查申请SUBSTR()
第一个字符并相应地格式化您的变量。使用INPUT()
或PUT()
不包含日期的单元格中的值是什么?可以创建自定义格式来执行您想要的操作,但这只适用于某些情况,例如如果日期值和非日期值之间没有重叠 – Longfish