楼主: xiaogalayy
1194 2

[原创博文] SAS BASE 50题中的一个程序 [推广有奖]

  • 1关注
  • 0粉丝

硕士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
94 个
通用积分
2.8500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
110 点
帖子
202
精华
0
在线时间
113 小时
注册时间
2011-7-8
最后登录
2025-4-7

楼主
xiaogalayy 发表于 2012-5-13 11:32:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
SAS BASE 50题中有一题的程序如下:

data work.family;
input relation $ first_name $ birthdate: mmddyy8.;
datalines;
son Frank 01/31/89  
daughter June    12-25-87  
brother Samuel 01/17/51
;
run;


以上是一段在SAS中能正确运行的程序,我想知道,为什么去掉上述程序中的冒号之后,程序就无法正常运行呢?谢谢大家啊~希望大神来为我解惑~
二维码

扫码加我 拉你入群

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

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

关键词:SAS base Base relation brother Samuel relation 程序

沙发
sl122113 发表于 2012-5-13 19:58:46
读入birthdate时,应该是以mmddyy8.的格式读入。但有些日期长度小于8。如果不加冒号,那么就会出现读入错误,因为系统还是读入8位。加冒号后,遇到空格就停止读入了,不会读入多余的值。可能你的数据有些日期是小于8位吧
Let Our Life Be Magic And Open

藤椅
webgu 发表于 2012-5-13 20:38:15
sl122113 发表于 2012-5-13 19:58
读入birthdate时,应该是以mmddyy8.的格式读入。但有些日期长度小于8。如果不加冒号,那么就会出现读入错误 ...
对的,first_name 后只能有一个空格,若是不用:格式修饰符。因为MMDYY8. 会从上一个变量读完的位置再取8个字符进去,且不管开头是不是空格。
data work.family;
input relation $ first_name $ birthdate mmddyy8.;
datalines;
son  Frank 01/31/89  
daughter June 12-25-87  
brother Samuel 01/17/51
;
run;

proc print;
  format birthdate mmddyy8.;
run;





已有 1 人评分经验 收起 理由
guo.bailing + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

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

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