楼主: 2286116865
4239 4

[问答] 请大家帮我看看以下代码,一直跑不出结果!log没有任何错误提示,重新运行sas也没用! [推广有奖]

  • 2关注
  • 4粉丝

已卖:207份资源

讲师

16%

还不是VIP/贵宾

-

威望
0
论坛币
373 个
通用积分
1.9084
学术水平
1 点
热心指数
6 点
信用等级
1 点
经验
7033 点
帖子
294
精华
0
在线时间
294 小时
注册时间
2015-5-3
最后登录
2025-12-9

楼主
2286116865 发表于 2016-8-23 12:40:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
%macro dailyreports;                                                                                                                    
%if &sysday=monday %then %do;                                                                                                           
proc print data=e;                                                                                                                     
format date worddate18.;                                                                                                               
title 'monday report';                                                                                                                  
%end;                                                                                                                                   
%else %if &sysday=tuesday %then %do;                                                                                                   
proc means data=e mean min max;                                                                                                         
class variety;                                                                                                                          
var quantity;                                                                                                                           
title 'tuesday report';                                                                                                                 
%end;                                                                                                                                   
%mend dailyreports;                                                                                                                     
data e;                                                                                                                                 
infile 'c:\users\administrator\desktop\jump.txt';                                                                                       
input id$ date mmddyy10. variety$ quantity;                                                                                             
run;                                                                                                                                    
%dailyreports;                                                                                                                          
run;  

先谢谢了!!   


二维码

扫码加我 拉你入群

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

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

关键词:错误提示 Log Quantity Reports variety monday

回帖推荐

wwang111 发表于2楼  查看完整内容

可以先运行一下 %put &sysday; 看一下log里面宏变量的值; 应该可以看出来,宏变量的值是有大小写之分的,以今天为例,&sysday的值应该是Tuesday, 而不是tuesday. BTW, 运行宏的时候,只需要%dailyreports就可以了,后面不需要分号,也不需要run;

沙发
wwang111 发表于 2016-8-23 13:05:09
可以先运行一下 %put &sysday; 看一下log里面宏变量的值;
应该可以看出来,宏变量的值是有大小写之分的,以今天为例,&sysday的值应该是Tuesday, 而不是tuesday.

BTW, 运行宏的时候,只需要%dailyreports就可以了,后面不需要分号,也不需要run;

藤椅
2286116865 发表于 2016-8-23 13:20:40
wwang111 发表于 2016-8-23 13:05
可以先运行一下 %put &sysday; 看一下log里面宏变量的值;
应该可以看出来,宏变量的值是有大小写之分的, ...
老师,你每次都能解决我的问题诶!哈哈
但是  我系统运行出来今天居然是周一!!!! 其实,以前还发现每次点开我的数据集属性,created and modified date 都是2004年,月份、日子和时间均和现在的一样,就是年份对不上……上次找了好久也没弄好这个问题~

板凳
wwang111 发表于 2016-8-23 13:51:05
这应该是你的SAS的SID不是最新的,你的SID的有效期是在2004年左右,现在已经过了,所以SAS里的时间跟系统时间就不一样了。
重新定义一个新的宏变量,让时间等于你的系统时间就可以了:

%let date=%sysfunc(date(),date9.);
%put &date;

%let weekday=%sysfunc(weekday(%sysfunc(inputn(%sysfunc(date(),date9.),date9.))));
%put &weekday;

其中weekday的这个就是星期,1=Sunday, 2=Monday, 3=Tuesday...,
程序可以相应的改成%if &weekday=2 %then %do;  %else %if &weekday=3 %then %do;
只有一个罗纳尔多

报纸
2286116865 发表于 2016-8-23 17:13:24
wwang111 发表于 2016-8-23 13:51
这应该是你的SAS的SID不是最新的,你的SID的有效期是在2004年左右,现在已经过了,所以SAS里的时间跟系统时 ...
嗯,老师,思路懂了,代码还要学习!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 14:46