楼主: basketball337
980 9

[问答] 麻烦大神看一下下面这些sas语句哪里错了? [推广有奖]

  • 0关注
  • 0粉丝

小学生

35%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
35 点
帖子
6
精华
0
在线时间
6 小时
注册时间
2012-6-9
最后登录
2017-5-31

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data a;
set resdat.frs;
if comcd='C000002';
if year(date)=2005;  
keep comcd comnm reportdt R10010 R10020;  
run;
Proc print data=a;
run;

QQ截图20130403171443.png



二维码

扫码加我 拉你入群

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

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

关键词:ResDat Report print ResDa repor

沙发
basketball337 发表于 2014-4-3 17:18:41 |只看作者 |坛友微信交流群
自己顶

使用道具

藤椅
davil2000 发表于 2014-4-3 17:25:13 |只看作者 |坛友微信交流群
if comcd='C000002';
else if year(date)=2005;
R是万能的,SAS是不可战胜的!

使用道具

板凳
basketball337 发表于 2014-4-3 19:13:13 |只看作者 |坛友微信交流群
davil2000 发表于 2014-4-3 17:25
if comcd='C000002';
else if year(date)=2005;
还是不行...

使用道具

报纸
basketball337 发表于 2014-4-3 19:14:47 |只看作者 |坛友微信交流群
用了davil2000的方法貌似还是不行

1.png (8.76 KB)

1.png

使用道具

地板
davil2000 发表于 2014-4-3 21:03:30 |只看作者 |坛友微信交流群
if comcd='C000002' | year(date)=2005;
R是万能的,SAS是不可战胜的!

使用道具

7
basketball337 发表于 2014-4-3 21:53:50 |只看作者 |坛友微信交流群
davil2000 发表于 2014-4-3 21:03
if comcd='C000002' | year(date)=2005;
这样可以了,谢谢!
还有个问题,你这方法查到之后,再用之前的句子也不报错了,也能查到了,这是为什么呢?

使用道具

8
pobel 在职认证  发表于 2014-4-4 08:32:27 |只看作者 |坛友微信交流群
basketball337 发表于 2014-4-3 21:53
这样可以了,谢谢!
还有个问题,你这方法查到之后,再用之前的句子也不报错了,也能查到了,这是为什么 ...
程序是没有问题的,是不是在if year(date)=2005;那句后有什么特殊的字符导致了错误信息?
如果把那一整行删掉,重新写一遍”if year(date)=2005;“,应该就正常了。

另外:
1.
if comcd='C000002';
    if year(date)=2005;

if comcd='C000002' | year(date)=2005;
这两种用法的意思是不同的,前面是“且”的意思,相当于and; 后面是“或”,即or。

2.
if comcd='C000002';
else if year(date)=2005;
SAS中没有这种用法。 “else”只能和“if...then...”语句连用。
IF语句和IF...THEN...是不同的。
已有 1 人评分学术水平 收起 理由
davil2000 + 1 精彩帖子

总评分: 学术水平 + 1   查看全部评分

和谐拯救危机

使用道具

9
jungsee 发表于 2014-4-4 09:30:32 |只看作者 |坛友微信交流群
pobel 发表于 2014-4-4 08:32
程序是没有问题的,是不是在if year(date)=2005;那句后有什么特殊的字符导致了错误信息?
如果把那一整行 ...
不错,你的评论完全正确啊

使用道具

10
basketball337 发表于 2014-4-4 20:22:53 |只看作者 |坛友微信交流群
pobel 发表于 2014-4-4 08:32
程序是没有问题的,是不是在if year(date)=2005;那句后有什么特殊的字符导致了错误信息?
如果把那一整行 ...
谢谢!

使用道具

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

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

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

GMT+8, 2024-5-22 03:33