由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - SAS 日期格式 YYMMDDn8.
相关主题
包子请教,时间格式问题SAS question using PROC SQL 高手请进, 包子答谢
求助:sas不同格式的日期比较再问一个sas输出的问题 (export)
Import excel file to SAS请教一个sas的sort date变量问题
请教个SAS问题【包子】date 变量 赋值问题
SAS时间处理求教proc sql - SAS 10 包子请教
工作中的SAS 编程请教问个survival的小白问题。
help with my SAS macro大家练练手吧,挺有意思的一道题
【包子】SAS 日期和时间问题SAS question (urgent)
相关话题的讨论汇总
话题: date话题: yymmddn8话题: sas话题: 日期话题: 2005
进入Statistics版参与讨论
1 (共1页)
F**********t
发帖数: 47
1
有人对这种日期格式熟悉吗?
假如有一个变量date, 格式就是 YYMMDDn8.
date
20010331
20010430
20010531
20010630
20010731
20010831
20101130
20101231
如果日期是2005年1月1日之前执行一种操作,日期是2005年1月1日之后,执行另外一种
操作。比较日期大小这段代码怎样写啊。
我试过:
if date < '20050101'd then ...;
if date > '20050101'd then ...;
可是结果不对啊。高手指点一下吧。
谢谢
S****Y
发帖数: 4634
2
我一般用
IF date <= MDY(1, 1, 2005) THEN ...;

【在 F**********t 的大作中提到】
: 有人对这种日期格式熟悉吗?
: 假如有一个变量date, 格式就是 YYMMDDn8.
: date
: 20010331
: 20010430
: 20010531
: 20010630
: 20010731
: 20010831
: 20101130

h*e
发帖数: 10233
3
我一般用
IF date <= ‘01-JAN-2005'd THEN ...;
这样比较直观。呵呵
F**********t
发帖数: 47
4
data a;set a;
date1 = MDY(1, 1, 2005);
format date1 YYMMDDN8.; (即使,把这句注释掉以后也不行)
date1 = MDY(1, 1, 2008);
format date1 YYMMDDN8.; (即使,把这句注释掉以后也不行)
IF DATE < date1 THEN DELETE;
IF DATE >= date2 THEN DELETE;
run;
a 表格有2001到2010年之间每个月最后一天的数据。以上代码是要删除2005年以前和
2008年以后的所有数据。可是,得到结果是表格里面没有任何数据了。
log file 里面有说 variable DATE is uninitialized.
但是,我确定变量名是 date, 而且表格a 在当前工作目录下。本来想把表格用附件贴
上来,可是论坛不让。

【在 S****Y 的大作中提到】
: 我一般用
: IF date <= MDY(1, 1, 2005) THEN ...;

h*e
发帖数: 10233
5
where is set statement?

【在 F**********t 的大作中提到】
: data a;set a;
: date1 = MDY(1, 1, 2005);
: format date1 YYMMDDN8.; (即使,把这句注释掉以后也不行)
: date1 = MDY(1, 1, 2008);
: format date1 YYMMDDN8.; (即使,把这句注释掉以后也不行)
: IF DATE < date1 THEN DELETE;
: IF DATE >= date2 THEN DELETE;
: run;
: a 表格有2001到2010年之间每个月最后一天的数据。以上代码是要删除2005年以前和
: 2008年以后的所有数据。可是,得到结果是表格里面没有任何数据了。

A*******s
发帖数: 3942
6
格式和值的大小无关吧,应该是别的问题。

【在 F**********t 的大作中提到】
: 有人对这种日期格式熟悉吗?
: 假如有一个变量date, 格式就是 YYMMDDn8.
: date
: 20010331
: 20010430
: 20010531
: 20010630
: 20010731
: 20010831
: 20101130

w*****8
发帖数: 395
7
date is counted as numeric data in SAS.
please use 'dd-mon-yyyy'd format, such as '29-may-2011'd while used in
equation or condition expression. SAS will automatically and correctly
convert this format as date for you.

【在 F**********t 的大作中提到】
: 有人对这种日期格式熟悉吗?
: 假如有一个变量date, 格式就是 YYMMDDn8.
: date
: 20010331
: 20010430
: 20010531
: 20010630
: 20010731
: 20010831
: 20101130

F**********t
发帖数: 47
8
综合大家的帮助,
把代码改为如下,还是不行。
请大家继续帮我看看,
会是什么问题。
谢谢!
data a; (即使这里用新的 dataset 还是不行! 比如: data a2)
set a;
IF DATE < '1-JAN-2005'd THEN DELETE;
IF DATE >= '1-JAN-2008'd THEN DELETE;
run;

【在 w*****8 的大作中提到】
: date is counted as numeric data in SAS.
: please use 'dd-mon-yyyy'd format, such as '29-may-2011'd while used in
: equation or condition expression. SAS will automatically and correctly
: convert this format as date for you.

F**********t
发帖数: 47
9
搞定了,用MDY函数, 和 'dd-mon-yyyy'd format都可以。
出错的原因是,我的代码里面, 有些中文输入模式下写的。
谢谢大家的帮助!
接着问个问题:
如果设 2005年1月31日为 t=0 (单位:月; 表格里的日期几乎是每个月最后一天);
怎样有序地读取 -119
S****Y
发帖数: 4634
10
use macro and intnx function

);

【在 F**********t 的大作中提到】
: 搞定了,用MDY函数, 和 'dd-mon-yyyy'd format都可以。
: 出错的原因是,我的代码里面, 有些中文输入模式下写的。
: 谢谢大家的帮助!
: 接着问个问题:
: 如果设 2005年1月31日为 t=0 (单位:月; 表格里的日期几乎是每个月最后一天);
: 怎样有序地读取 -119
1 (共1页)
进入Statistics版参与讨论
相关主题
SAS question (urgent)SAS时间处理求教
弱问一个SAS 里data managerment的问题工作中的SAS 编程请教
慕名而来,请教一个 SAS date questionhelp with my SAS macro
how to convert date value to YYMMDD using SAS???【包子】SAS 日期和时间问题
包子请教,时间格式问题SAS question using PROC SQL 高手请进, 包子答谢
求助:sas不同格式的日期比较再问一个sas输出的问题 (export)
Import excel file to SAS请教一个sas的sort date变量问题
请教个SAS问题【包子】date 变量 赋值问题
相关话题的讨论汇总
话题: date话题: yymmddn8话题: sas话题: 日期话题: 2005