楼主: xlpan
1194 5

计算组内天数 [推广有奖]

  • 4关注
  • 0粉丝

已卖:250份资源

教授

59%

还不是VIP/贵宾

-

威望
0
论坛币
63 个
通用积分
49.0351
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
1244 点
帖子
434
精华
0
在线时间
2574 小时
注册时间
2008-12-30
最后登录
2022-11-19

楼主
xlpan 发表于 2014-3-25 19:20:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
1 2013/7/1
1 2013/7/5
1 2013/7/6
1 2013/7/10
2 2013/8/1
2 2013/8/2
2 2013/8/3
这一组数据,如何计算第一组内,2013/7/1到2013/7/10之间共有多少天,我用first和last计算后得到的是零。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:First Last FIRS FIR IRS 如何

沙发
intheangel 学生认证  发表于 2014-3-25 19:34:46
你如果使用yymmdd8.来定义日期的话,7月10号会默认为7月1号,因为它只导入了8个值;
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
( (oo) )
  ︶︶︶

藤椅
intheangel 学生认证  发表于 2014-3-25 19:35:51
如果你用yymmdd10.来定义就OK了;
  1. data x;
  2. input id x yymmdd10.;
  3. cards;
  4. 1 2013/7/1
  5. 1 2013/7/5
  6. 1 2013/7/6
  7. 1 2013/7/10
  8. 2 2013/8/1
  9. 2 2013/8/2
  10. 2 2013/8/3
  11. ;
  12. run;

  13. data y;
  14. set x;
  15. retain y;
  16. by id;
  17. if first.id then y=x;
  18. else if last.id then y=x-y;
  19. run;
复制代码
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
( (oo) )
  ︶︶︶

板凳
xlpan 发表于 2014-3-25 19:51:09
非常感谢,可以完成。还想问一下,如果用sql语句,可以吗?

报纸
intheangel 学生认证  发表于 2014-3-25 20:39:49
xlpan 发表于 2014-3-25 19:51
非常感谢,可以完成。还想问一下,如果用sql语句,可以吗?
用sql提取第一行和最后一行我真不会,不好意思了
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
( (oo) )
  ︶︶︶

地板
wwang111 发表于 2014-3-26 13:49:18
data test;
input grp date yymmdd10.;
cards;
1 2013/7/1
1 2013/7/5
1 2013/7/6
1 2013/7/10
2 2013/8/1
2 2013/8/2
2 2013/8/3
;

proc sql;
create table wanted as
select grp, max(date)-min(date)+1 as days
from test
group by 1;
quit;
只有一个罗纳尔多

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 14:24