Sas:如何将数值变量转换为日期


您可以使用以下基本语法将数值变量转换为 SAS 中的日期变量:

 date_var = input ( put (numeric_var, 8 .), MMDDYY10. );
date_var format MMDDYY10. ;

下面的例子展示了如何在实际中使用这个功能。

相关:如何在 SAS 中将数值变量转换为字符

示例:将数字变量转换为 SAS 中的日期

假设 SAS 中有以下数据集,显示商店在不同日期的总销售额:

 /*create dataset*/
data original_data;
    input day sales;
    datalines ;
01012022 15
01022022 19
01052022 22
01142022 11
01152022 26
01212022 28
;
run ;

/*view dataset*/
proc print data = original_data;

我们可以使用过程的内容来显示数据集中每个变量的数据类型:

 /*display data type for each variable*/
proc contents data =original_data;

我们可以看到daysales都是数值变量。

我们可以使用以下代码创建一个新数据集,将日期变量从数字转换为日期:

 /*create new dataset where 'day' is date*/
data new_data;
    set original_data;
    date_day = input ( put (day, 8. ), MMDDYY10.) ;
    date_day format MMDDYY10. ;
    drop day;
run ;

/*view new dataset*/
proc print data = new_data; 

注意:我们使用drop函数从数据集中删除原始日期变量。

我们可以看到我们创建的新变量date_day是日期格式的。

请注意MMDDYY10。这只是我们可以使用的一种可能的日期格式。您可以在此处找到 SAS 日期格式的完整列表。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

SAS:如何将字符变量转换为日期
SAS:如何将字符变量转换为数字
SAS:将字符串转换为大写、小写和正确大小写

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注