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 中执行其他常见任务: