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

SAS中如何将DOWNAME.格式的星期转为字符变量导出Excel?

解决方法

问题出在你只是给日期变量添加了显示格式,变量本身还是数值型的日期值——SAS里的日期本质是从1960年1月1日开始累计的天数。导出到Excel时,Excel会识别这个数值并当成日期处理,覆盖掉SAS的格式显示。

要得到真正的字符型星期名称,需要用PUT()函数将日期变量转换为字符变量,具体写法如下:

1. DATA步写法

data 新数据集;
    set 原数据集;
    DayOfWeek = PUT(date, DOWNAME.); /* 生成字符型星期名称 */
run;

2. PROC SQL写法

proc sql;
    create table 新数据集 as
    select date, PUT(date, DOWNAME.) AS DayOfWeek
    from 原数据集;
quit;

这样生成的DayOfWeek变量是纯字符类型,存储的就是Tuesday这类文本值,导出到Excel时会直接显示星期名称,不会被识别为日期。

内容的提问来源于stack exchange,提问作者John Doe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 23:32:32