楼主: 存希
1445 14

[问答] do循环 [推广有奖]

  • 1关注
  • 1粉丝

初中生

66%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
391 点
帖子
19
精华
0
在线时间
13 小时
注册时间
2013-2-18
最后登录
2015-11-26

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
图1.jpg 图1: clip_image002.jpg 图2有一个数据集b,变量全部都是字符型,如图1.我想把mhendat和mhstdat变成日期形式,如图2,可是为什么n的值是11呢?我的程序如下:
data test;
set b;  /*b的数据集就不写了*/
do n=1 to 10;
  if seq=n then do;
  mhstdat1=input(mhstdat,yymmdd10.);
  mhendat1=input(mhendat,yymmdd10.);
  format mhstdat1 yymmdd10. mhendat1 yymmdd10.;
  end;
end;
run;

到底哪里出错了呢?求大侠搭救,不胜感激!谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:do循环 format Input FORMA 哪里出错了 不胜感激 程序

回帖推荐

teqel 发表于3楼  查看完整内容

data test; set b; /*b的数据集就不写了*/ do n=1 to 10; if seq=n then do; mhstdat1=input(mhstdat,yymmdd10.); mhendat1=input(mhendat,yymmdd10.); format mhstdat1 yymmdd10. mhendat1 yymmdd10.; leave; end; end; run;
沙发
存希 发表于 2015-11-23 18:11:17 |只看作者 |坛友微信交流群
为什么审核这么久 ?在线等,好急啊!

使用道具

藤椅
teqel 发表于 2015-11-24 01:02:43 |只看作者 |坛友微信交流群
data test;
set b;  /*b的数据集就不写了*/
do n=1 to 10;
   if seq=n then do;
   mhstdat1=input(mhstdat,yymmdd10.);
   mhendat1=input(mhendat,yymmdd10.);
   format mhstdat1 yymmdd10. mhendat1 yymmdd10.;
  leave;
   end;
end;
run;

已有 1 人评分论坛币 热心指数 收起 理由
孤单的我们 + 5 + 1 精彩帖子

总评分: 论坛币 + 5  热心指数 + 1   查看全部评分

使用道具

板凳
存希 发表于 2015-11-24 11:40:20 |只看作者 |坛友微信交流群
teqel 发表于 2015-11-24 01:02
data test;
set b;  /*b的数据集就不写了*/
do n=1 to 10;
好牛啊,谢谢大神!还有一个问题,是日记出错的,为什么说函数input参数出错呢?但是也转换成了日期形式,达到了我的目的(见原文图2)。可是为什么呢?这样下去会不会出错呢???
211  data test1;
212  set b;  /*b的数据集就不写了*/
213  do n=1 to 10;
214     if seq=n then do;
215     mhstdat1=input(mhstdat,yymmdd10.);
216     mhendat1=input(mhendat,yymmdd10.);
217     format mhstdat1 yymmdd10. mhendat1 yymmdd10.;
218    leave;
219     end;
220  end;
221  run;

NOTE: 字符值已转换为数字值,位置:(行:列)。
      214:7
NOTE: 函数 INPUT 的参数(行 215 列 13)无效。
SITEID=第三军医大学第一附属医院 USUBJID=102 SEQ=4 MHENDAT=  MHSTDAT=200906NK n=4 mhstdat1=.
mhendat1=. _ERROR_=1 _N_=15
NOTE: 在以下位置无法执行算术运算。运算结果已设为缺失值。
       每个位置的指定方式: (次数)(行:列)。
      1 215:13
NOTE: 从数据集 WORK.B 读取了 20 个观测。
NOTE: 数据集 WORK.TEST1 有 20 个观测和 8 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间         0.12 秒
      CPU 时间         0.01 秒

使用道具

报纸
teqel 发表于 2015-11-25 00:15:43 |只看作者 |坛友微信交流群
存希 发表于 2015-11-24 11:40
好牛啊,谢谢大神!还有一个问题,是日记出错的,为什么说函数input参数出错呢?但是也转换成了日期形式, ...
mhstdat是字符型的还是数字型的?

使用道具

地板
存希 发表于 2015-11-25 14:07:22 |只看作者 |坛友微信交流群
teqel 发表于 2015-11-25 00:15
mhstdat是字符型的还是数字型的?
是字符型

使用道具

7
mlz_1987 发表于 2015-11-25 14:09:32 |只看作者 |坛友微信交流群
sas日期存储都是按内部数据存储的,format就是显示日期的格式,这段代码里面input并没有起作用,input那2句就是多余的代码

使用道具

8
存希 发表于 2015-11-25 14:10:17 |只看作者 |坛友微信交流群
teqel 发表于 2015-11-25 00:15
mhstdat是字符型的还是数字型的?
字符型,但是mhstdat1也成功转换成了日期格式,还可以用来比较大小。只是不明白日志提示“NOTE: 函数 INPUT 的参数(行 215 列 13)无效”。

使用道具

9
存希 发表于 2015-11-25 14:11:29 |只看作者 |坛友微信交流群
mlz_1987 发表于 2015-11-25 14:09
sas日期存储都是按内部数据存储的,format就是显示日期的格式,这段代码里面input并没有起作用,input那2句 ...
可是我能用来比较大小呢,而且没有出错

使用道具

10
孤单的我们 发表于 2015-11-25 14:13:48 |只看作者 |坛友微信交流群
存希 发表于 2015-11-24 11:40
好牛啊,谢谢大神!还有一个问题,是日记出错的,为什么说函数input参数出错呢?但是也转换成了日期形式, ...
含有UK的时候 把字符转成数值就会出错

使用道具

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

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

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

GMT+8, 2024-4-20 12:20