楼主: gaotao0727
4844 2

[问答] proc sql里面values的输入格式问题 [推广有奖]

  • 1关注
  • 10粉丝

已卖:67份资源

副教授

79%

还不是VIP/贵宾

-

威望
0
论坛币
545 个
通用积分
11.1290
学术水平
18 点
热心指数
18 点
信用等级
12 点
经验
27715 点
帖子
873
精华
0
在线时间
855 小时
注册时间
2011-8-8
最后登录
2025-9-11

楼主
gaotao0727 发表于 2011-11-10 15:35:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data mysas.test;
input region $ state $ month monyy5. headcnt expenses revenue;
format month monyy5.;
cards;
EASTERN VA FEB78 10 7800 15500
SOUTHERN FL MAR78 9 9800 13500
SOUTHERN GA JAN78 5 2000 8000
NORTHERN MA MAR78 3 1500 1000
SOUTHERN FL FEB78 10 8500 11000
NORTHERN NY MAR78 5 6000 5000
EASTERN VA MAR78 11 8200 16600
PLAINS NM MAR78 2 1350 500
SOUTHERN FL JAN78 10 8000 10000
NORTHERN NY FEB78 4 3000 4000
SOUTHERN GA FEB78 7 1200 6000
;
run;
以上这样输入数据是可以的~~~
但是下面这种方式:

proc sql;
create table newtable (region char(8),state char(2),month num informat=monyy5. format=monyy5.,
headcnt num,expenses num,revenue num);
quit;

*用VALUES子句插入行;
proc sql;
insert into newtable
values ('EASTERN','VA',FEB78,10,7800,15500)
values ('PLAINS','NM',MAR78,2,1350,500);
select region,state,month,revenue from newtable;
quit;

values子句报错,FEB78格式不对,还试过'FEB78','FEB78'd都不对,那么此时要显示FEB78在values里面该如何写呢??各位大侠多多指教~~~
二维码

扫码加我 拉你入群

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

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

关键词:proc sql values value alue ROC revenue values

衣带渐宽终不悔,为伊消得人憔悴~~

沙发
luorongjin 发表于 2011-11-10 20:45:56
你好!sql过程你这样设定是有问题的,你先给month设定了number的数值类型,那么在用values的时候必须给他数值类型,values里面应该不会给你解析字符串是否为date的型的然后自动转换数值类型。所以在month数值的设置上,你要用数值型的,根据sas里面yearcutoff的默认,如果values ('EASTERN','VA',1,10,7800,15500);那么就是jan60.要现实feb78的话就要给他输入相应的数值。

如果大家有更好的方法,请赐教!

藤椅
gaotao0727 发表于 2011-11-11 09:31:00
luorongjin 发表于 2011-11-10 20:45
你好!sql过程你这样设定是有问题的,你先给month设定了number的数值类型,那么在用values的时候必须给他数 ...
恩,你说的很有道理~~谢谢
衣带渐宽终不悔,为伊消得人憔悴~~

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 17:55