楼主: destiny969
5026 6

大三新手,SAS 编程出现问题,求大神解答~ [推广有奖]

  • 0关注
  • 0粉丝

初中生

19%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
357 点
帖子
12
精华
0
在线时间
7 小时
注册时间
2014-9-21
最后登录
2022-5-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
252  data example2_9
253  input price1 price2 price3 price4; input time;
254  time=intnx ('month','jan'd, _n_-1);
                         ------
                         77
ERROR: 无效的日期/时间/日期时间常数 'jan'd。
ERROR 77-185: “'jan'd”中的数字转换无效。

255  format time date.;
256  cards;

NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.EXAMPLE2_9 可能不完整。该步停止时,共有 0 个观测和 1 个变量。
WARNING: 数据集 WORK.EXAMPLE2_9 由于该步已停止,而没有被替换。
WARNING: 数据集 WORK.INPUT 可能不完整。该步停止时,共有 0 个观测和 1 个变量。
WARNING: 数据集 WORK.INPUT 由于该步已停止,而没有被替换。
WARNING: 数据集 WORK.PRICE1 可能不完整。该步停止时,共有 0 个观测和 1 个变量。
WARNING: 数据集 WORK.PRICE1 由于该步已停止,而没有被替换。
WARNING: 数据集 WORK.PRICE2 可能不完整。该步停止时,共有 0 个观测和 1 个变量。
WARNING: 数据集 WORK.PRICE2 由于该步已停止,而没有被替换。
WARNING: 数据集 WORK.PRICE3 可能不完整。该步停止时,共有 0 个观测和 1 个变量。
WARNING: 数据集 WORK.PRICE3 由于该步已停止,而没有被替换。
WARNING: 数据集 WORK.PRICE4 可能不完整。该步停止时,共有 0 个观测和 1 个变量。
WARNING: 数据集 WORK.PRICE4 由于该步已停止,而没有被替换。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.06 秒
      CPU 时间          0.06 秒

269  ;


270  proc gplot data=example2_9;
271  plot price1 * time=1 price2 * time=2 price3 * time=3 price4 * time=4/overlay;
ERROR: 变量 PRICE1 没有找到。
ERROR: 变量 PRICE2 没有找到。
ERROR: 变量 PRICE3 没有找到。
ERROR: 变量 PRICE4 没有找到。
NOTE: 上一个语句已删除。
272  symbol1 c=black v=star i=join;
273  symbol2 c=red   v=dot  i=join;
274  symbol3 c=green v=circle i=join;
275  symbol4 c=pink  v=diamond i=join;
276  run;

NOTE: 数据集 WORK.EXAMPLE2_9 中没有观测。

求各位大神  解释一下两个错误该怎么改。。。。刚刚接触SAS   很多东西都不知道。。。。谢谢

二维码

扫码加我 拉你入群

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

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

关键词:warning example Overlay Diamond symbol ERROR

沙发
1989pengwei 发表于 2014-9-21 23:35:00 |只看作者 |坛友微信交流群
日期值有误,正确的应该是形如'01jan2006‘d之类的。

使用道具

藤椅
destiny969 发表于 2014-9-22 00:01:55 |只看作者 |坛友微信交流群
1989pengwei 发表于 2014-9-21 23:35
日期值有误,正确的应该是形如'01jan2006‘d之类的。
我是只想在第一列 只写月份。。。01jan2006 不是2006 1月这样子么,如果只是1月该怎么写呢?  
还有 price 找不到变量 是怎么回事= =。。。。我知道这个是 很基础的问题,新手求教。。。。ORZ跪谢

使用道具

板凳
1989pengwei 发表于 2014-9-22 15:07:56 |只看作者 |坛友微信交流群
destiny969 发表于 2014-9-22 00:01
我是只想在第一列 只写月份。。。01jan2006 不是2006 1月这样子么,如果只是1月该怎么写呢?  
还有 pri ...
首先input  price1-price4;表示的是由cards;后面输入数据行得到,而你cards;后面没有任何数据,当然得不到price1-price4;其次不必要用input time;因为你的time值不是靠cards;后面数据直接输入的,而是由函数intnx得到的。再次,函数intnx('month',x,n)中x应为'ddmmmyyyy'd如'01jan2006'd的形式,你可以用time=intnx ('month','01jan2006'd, _n_-1);time=month(time);提出月份

使用道具

报纸
destiny969 发表于 2014-9-22 15:47:00 |只看作者 |坛友微信交流群
1989pengwei 发表于 2014-9-22 15:07
首先input  price1-price4;表示的是由cards;后面输入数据行得到,而你cards;后面没有任何数据,当然得不到 ...
多谢大神  ,,,辛苦了

使用道具

地板
firefox29 发表于 2014-9-22 22:32:53 |只看作者 |坛友微信交流群
你既然input price1-price4;后面肯定要跟
cards;
(数据);
run;
这个没有疑问。
不需要input time;
time=公式; 就可以了;  日期格式'01jan2006'd;
format time yymm5. 就可以只看月份了,但这只是改变了数据的format;
要运算的时候可能还是要用month函数等方法。

使用道具

7
destiny969 发表于 2014-9-22 22:46:27 |只看作者 |坛友微信交流群
firefox29 发表于 2014-9-22 22:32
你既然input price1-price4;后面肯定要跟
cards;
(数据);
粘的时候 数据没粘上= =。、。。。现在解决了  谢谢大神 帮忙

使用道具

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

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

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

GMT+8, 2024-4-26 13:57