You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SAS中重命名列:删除变量名前的shoe.前缀

SAS去除字段名shoe.前缀的实现方法

方法1:手动重命名(适合你当前字段少的场景)

你的需求里只有5个带前缀的字段,直接用数据步的RENAME语句处理即可,代码示例:

/* 支持带特殊字符的变量名,确保可以正常识别带.的字段 */
options validvarname=any;

/* 替换下方的<你的原表名>、<你要生成的新表名>为实际表名 */
data <你要生成的新表名>;
    set <你的原表名>;
    rename 
        'shoe.description'n = description
        'shoe.color'n = color
        'shoe.size'n = size
        'shoe.reviews'n = reviews
        'shoe.price'n = price;
run;

ID、store、URL三个字段没有前缀,不需要额外处理,会自动保留在输出表中。


方法2:动态批量重命名(适合带shoe.前缀的字段数量多的场景)

如果后续遇到带前缀的字段有几十上百个的情况,可以通过SAS字典表自动生成重命名规则,无需手动逐个写字段:

options validvarname=any;
proc sql noprint;
    /* 自动匹配所有带shoe.前缀的字段,生成重命名语句 */
    select cats("'",name,"'n=",scan(name,2,'.'))
    into :rename_rule separated by ' '
    from dictionary.columns
    where libname = 'WORK' /* 临时表默认库为WORK,永久库替换为你的库名 */
      and memname = '<你的原表名全大写>' /* SAS字典表存储的表名为全大写,此处需传入大写的原表名 */
      and name like 'shoe.%';
quit;

/* 调用自动生成的规则完成重命名 */
data <你要生成的新表名>;
    set <你的原表名>;
    rename &rename_rule.;
run;

内容的提问来源于stack exchange,提问作者tech bitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:39:03