楼主: XYZ_cherry
2376 8

[程序分享] sas中知道体检日期和实际年龄,求出生年份的程序 [推广有奖]

  • 1关注
  • 0粉丝

高中生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
160 点
帖子
12
精华
0
在线时间
44 小时
注册时间
2017-12-17
最后登录
2021-3-19

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请各位大神指教:
已知体检日期和实际年龄,如何用sas程序算出出生年份,急急急!
二维码

扫码加我 拉你入群

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

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

关键词:出生年份 sas程序 如何用

数据.xlsx

8.91 KB

类似于此类数据

沙发
XYZ_cherry 发表于 2017-12-19 17:06:51 |只看作者 |坛友微信交流群
序号        姓名        性别        年龄        体检日期
1        王媛        女        28        20150101
2        刘婷婷        女        35        20160815
3        刘超然        男        48        20170101
4        张三        男        20        20170101
5        李四        男        25        20170101
此类数据

使用道具

藤椅
lovexialulu 发表于 2017-12-19 17:30:29 |只看作者 |坛友微信交流群
不知道是不是这个rule  :
int((date-x+1)/365.25)=age 等价于 age<=(date-x+1)/365.25<age+1。 算出来应该是个范围
  1. data a;
  2. input id age date $10.;
  3. cards;
  4. 1 28 2015-01-01
  5. 2 35 2016-08-15
  6. 3 48 2017-01-01
  7. 4 20 2017-01-01
  8. 5 25 2017-01-01
  9. ;
  10. run;

  11. data b;
  12. set a;
  13. date_=input(date,yymmdd10.);
  14. birth_min=ceil(date_-age*365.25+1);
  15. birth_max=ceil(date_-(age+1)*365.25+1);
  16. format birth_min birth_max yymmdd10.;
  17. run;
复制代码

使用道具

板凳
superguy333 发表于 2017-12-19 19:21:10 |只看作者 |坛友微信交流群
  1. data a;
  2. input id age date $10.;
  3. cards;
  4. 1 28 20150101
  5. 2 35 20160815
  6. 3 48 20170101
  7. 4 20 20170101
  8. 5 25 20170101
  9. ;
  10. run;

  11. data b;
  12. set a;
  13. BIRTH_YEAR=SUBSTR(DATE,1,4)-AGE;
  14. RUN;
复制代码

捕获.PNG (4.94 KB)

捕获.PNG

使用道具

报纸
XYZ_cherry 发表于 2017-12-28 15:23:04 |只看作者 |坛友微信交流群
superguy333 发表于 2017-12-19 19:21
学习了,谢谢

使用道具

地板
XYZ_cherry 发表于 2017-12-28 15:23:06 |只看作者 |坛友微信交流群
superguy333 发表于 2017-12-19 19:21
学习了,谢谢

使用道具

7
XYZ_cherry 发表于 2017-12-28 15:23:08 |只看作者 |坛友微信交流群
superguy333 发表于 2017-12-19 19:21
学习了,谢谢

使用道具

8
舍身卫道 发表于 2018-1-10 10:08:56 |只看作者 |坛友微信交流群
  1. data a;
  2. input id age date $10.;
  3. cards;
  4. 1 28 20150101
  5. 2 35 20160815
  6. 3 48 20170101
  7. 4 20 20170101
  8. 5 25 20170101
  9. ;
  10. run;

  11. data b;
  12.         set a;
  13.     birth=year(intnx('year',input(date,yymmdd10.),-age));
  14. run;
复制代码

使用道具

9
yuchengdong521 学生认证  发表于 2018-1-26 09:01:11 |只看作者 |坛友微信交流群
舍身卫道 发表于 2018-1-10 10:08
学习了学习了

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 00:11