楼主: haizai110
2140 12

问牛人这个程序错在哪,在线等 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

14%

还不是VIP/贵宾

-

威望
0
论坛币
1407 个
通用积分
1.2106
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
678 点
帖子
139
精华
0
在线时间
150 小时
注册时间
2006-7-7
最后登录
2024-4-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data work.A;
input NUM x y z;
total=sum(x y z);
IF total>280 THEN PUT NUM total;
CARDS;
1001 79 96 87
1002 89 96 98
1003 87 69 81
;
run;.


运行老是报错,不知道哪错了
二维码

扫码加我 拉你入群

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

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

关键词:在线等 Total cards Input Then 程序 在线

回帖推荐

爱萌 发表于2楼  查看完整内容

data A; input NUM x y z; total=sum(x,y,z); IF total>280 THEN PUT NUM total; CARDS; 1001 79 96 87 1002 89 96 98 1003 87 69 81 ; run; you are wrong use sum function in SAS

本帖被以下文库推荐

[url=http://www.pinggu.org/bbs/X_AdvCom_Get.asp?UserID=164598][img]
沙发
爱萌 发表于 2009-9-23 15:05:38 |只看作者 |坛友微信交流群
data A;
input NUM x y z;
total=sum(x,y,z);
IF total>280 THEN PUT NUM total;
CARDS;
1001 79 96 87
1002 89 96 98
1003 87 69 81
;
run;
you are wrong use sum function in SAS
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

最恨对我说谎或欺骗我的人

使用道具

藤椅
haizai110 发表于 2009-9-23 15:09:21 |只看作者 |坛友微信交流群
谢谢斑竹,这么该就行么,如果我想看输出结果的话加一个proc print就行么?
[url=http://www.pinggu.org/bbs/X_AdvCom_Get.asp?UserID=164598][img]

使用道具

板凳
haizai110 发表于 2009-9-23 15:10:15 |只看作者 |坛友微信交流群
解决啦多谢版主~~
[url=http://www.pinggu.org/bbs/X_AdvCom_Get.asp?UserID=164598][img]

使用道具

报纸
Jackywolf_2008 发表于 2009-9-23 16:39:34 |只看作者 |坛友微信交流群
语法错了,then 的语句放在do;end;中,并且put的变量名要加上=号。

使用道具

地板
haizai110 发表于 2009-9-23 16:54:03 |只看作者 |坛友微信交流群
按版主的方法可以通过,但是好像没达到筛选的目的
[url=http://www.pinggu.org/bbs/X_AdvCom_Get.asp?UserID=164598][img]

使用道具

7
xiaosanmao 发表于 2009-9-23 17:05:09 |只看作者 |坛友微信交流群
haizai110 发表于 2009-9-23 16:54
按版主的方法可以通过,但是好像没达到筛选的目的
版主的结果在日志输出窗口 没错的
IF total>280 THEN output;
这个的结果是在结果输出窗口
你不会连去哪看结果都不知道吧?

使用道具

8
rdzr 发表于 2009-9-23 17:27:14 |只看作者 |坛友微信交流群
haizai110 发表于 2009-9-23 14:41
data work.A;
input NUM x y z;
total=sum(x y z);
IF total>280 THEN PUT NUM total;
CARDS;
1001 79 96 87
1002 89 96 98
1003 87 69 81
;
run;.


运行老是报错,不知道哪错了
lz, 偶猜测你是想将 total>280 的数据(包括 no. 和 total)  输出到 work.A 中,如果猜测没错的话,将程序稍作修改就可达到目的。示意如下:

data A;
input NUM x y z;
total=sum(x,y,z);/*注意 x y z 之间的逗号*/
IF total>280 THEN output;
CARDS;
1001 79 96 87
1002 89 96 98
1003 87 69 81
;
run;
data B;
set A;
drop x y z;
proc print data=B;
run;

下面是程序运行结果,希望是LZ所需要的。

                                         The SAS System    17:22 Thursday, September 23, 2009   2
                                      Obs     NUM    total
                                       1     1002     283

使用道具

9
qzuxwj138 发表于 2009-9-23 18:25:30 |只看作者 |坛友微信交流群
data work.A;
input NUM x y z;
total=sum(x,y,z);
IF total>280 THEN PUT NUM total;
CARDS;
1001 79 96 87
1002 89 96 98
1003 87 69 81
;
run;
你太粗心了!

使用道具

10
qzuxwj138 发表于 2009-9-23 20:52:04 |只看作者 |坛友微信交流群
2# 爱萌
版主,你好!麻烦你帮我看看proc sql的问题好吗??麻烦你了!先谢谢你咯!!!
http://www.pinggu.org/bbs/thread-563928-1-1.html

使用道具

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

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

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

GMT+8, 2024-4-28 23:09