楼主: gqm2008
11661 19

sas中如何修改variable的format [推广有奖]

11
gqm2008 发表于 2011-7-27 13:43:44
10# pobel

非常感谢!

12
gqm2008 发表于 2011-7-27 14:03:59
10# pobel

非常感谢,如果这样的话,输出的就是mmdd的格式,我想问下,如果我要画图的话,以xact-date 为横轴,他会显示成时间么?
z4.是什么格式?

13
pobel 在职认证  发表于 2011-7-27 14:13:28
对于2.0100101E13 ,它的ddmm是0101,数值型变量存储这个值的时候会显示为101。

z4. format可以使该变量显示为0101. (4位数字,如不够4位则前面补0)
和谐拯救危机

14
gqm2008 发表于 2011-7-27 14:16:09
pobel 发表于 2011-7-27 14:13
对于2.0100101E13 ,它的ddmm是0101,数值型变量存储这个值的时候会显示为101。

z4. format可以使该变量显示为0101. (4位数字,如不够4位则前面补0)
我试过修改你的代码,从第三位开始取6位,然后显示例如010101这样,然后想把它format成时间yymmdd就完全变样了

如果不考虑我的想法,单纯把这个数据变成时间数据例如yymmdd有没有办法?

15
gqm2008 发表于 2011-7-27 14:20:12
13# pobel

因为我想用这个数据作图,最好是日期格式的,不知道如果显示0101, 0102这种在作图的时候会不会有影响?

16
pobel 在职认证  发表于 2011-7-27 14:24:43
14# gqm2008

数值010101如果表示日期的话不是2001-01-01, 而是1960年1月1日后第10101天的那个日期。

data test;
   x=010101;
   put x=  yymmdd10.;
   date=input(put(x,z6.),yymmdd6.);
   put date= yymmdd10.;
run;
和谐拯救危机

17
gqm2008 发表于 2011-7-27 14:31:35
16# pobel

嗯,比如我现在在xact_date 下的数据都提取为数值型(format z6.)的 100108, 100109。。。。等等这样,如果把这一列都改过来,而不仅仅是010101这一个,代码要如何修改呢?

不好意思,本人实在新手,耽误您时间了。

18
pobel 在职认证  发表于 2011-7-27 14:41:59
data sdate006;
   set sdate006;
   _mmdd=substr(strip(put(xact_date,best14.)),3,6);
   xact_date=input(_mmdd,4.);
   format xact_date z4.;
   drop _mmdd;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

和谐拯救危机

19
gqm2008 发表于 2011-7-27 14:42:55
16# pobel

刚尝试了一下,出来了,感激涕零!

20
hyfground 发表于 2012-9-26 11:47:22
pobel 发表于 2011-7-27 07:20
是要将date的值都改掉么?

data test;
新手请问下z4.格式的含义是什么

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 19:09