SAS编程:根据现有列的后缀创建新列

问题描述 投票:0回答:1

我有一个名为list的sas数据集,其中包含目录的所有文件/路径/文件名。

sample dataset

我想在列[[the_name的后缀上创建一个新列,以添加1,因此01将变为02,而02将变为03。

例如:

the_name:FOR_PROCESSING_1234562020042002new_name:FOR_PROCESSING_1234562020042003主题名称:FOR_PROCESSING_1234562020042101new_name:FOR_PROCESSING_1234562020042102

感谢您的帮助。

sas sas-macro
1个回答
0
投票
Recy:

一个更安全的增量是从the _name的末尾扫描整个数字,而不是仅递增一个尾数。

data _null_; the_name = 'FOR_PROCESSING_1234562020042002'; suffix = scan(the_name,-1,'_'); nextnum = input(suffix,best20.)+1; new_name = cats(transtrn(the_name,trim(suffix),''),nextnum); put the_name= / new_name= ; run; --- LOG --- the_name=FOR_PROCESSING_1234562020042002 new_name=FOR_PROCESSING_1234562020042003

© www.soinside.com 2019 - 2024. All rights reserved.