Sas:将数字转换为带有前导零的字符


您可以使用以下基本语法将 SAS 中的数值变量转换为具有特定数量的前导零的字符变量:

 data new_data;
    set original_data;
    employee_ID = put (employee_ID, z10. );
    employee_ID format z10. ;
run ;

此特定示例将名为Employee_ID 的数值变量转换为具有足够前导零的字符变量,以便Employee_ID 的长度为 10。

以下示例展示了如何在实践中使用此语法。

示例:在 SAS 中将数字转换为带前导零的字符

假设我们在 SAS 中有以下数据集,显示了公司各个员工的总销售额:

 /*create dataset*/
data original_data;
    input employee_ID sales;
    datalines ;
4456 12
4330 18
2488 19
2504 11
2609 33
2614 30
2775 23
2849 14
;

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

现在假设我们要将名为Employee_ID的变量转换为具有足够前导零的字符变量,以便列中每个值的长度为 10。

我们可以使用以下语法来做到这一点:

 /*create new dataset with employee_ID as character with leading zeros*/
data new_data;
    set original_data;
    employee_ID = put (employee_ID, z10. );
    employee_ID format z10. ;
run ;

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

我们可以看到新数据集中的employee_ID变量包含足够的前导零,使得每个值的长度为10。

要添加不同数量的前导零,只需将 z10 替换为不同的值即可。

例如,我们可以使用 z15 添加足够的前导零,以便Employee_ID列中的每个值的长度为 15:

 /*create new dataset with employee_ID as character with leading zeros*/
data new_data;
    set original_data;
    employee_ID = put (employee_ID, z15. );
    format employee_ID z15. ;
run ;

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

Employee_ID列中每个值的长度现在为 15。

其他资源

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

SAS:如何重命名变量
SAS:如何将数值变量转换为日期
SAS:如何将字符变量转换为数字

添加评论

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