由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - need sas debug help!! Please...
相关主题
一道sas题 在线求解 50个包子答谢 急啊我是一菜鸟 质疑sas adv63题(12月)第41题的答案
batch?请教个SAS问题
sas 代码问题再问一个sas输出的问题 (export)
问一个SAS macro的问题包子请教,时间格式问题
Need advice on SAS macro debugging发包子求大牛解SAS问题,急
SAS MACRO里的循环不work是怎么回事Stupid SAS programming style is driving me crazy....
SAS里用macro的文件名里数字的问题用尽心思做好了一个macro
请教一道SAS MACRO编程的问题。怎么都不明白。谢谢[合集] 请教一个sas问题
相关话题的讨论汇总
话题: sysfunc话题: date3话题: anydtdte9话题: inputn话题: date2
进入Statistics版参与讨论
1 (共1页)
l*********l
发帖数: 2371
1
%macro run_code;
*%let start=%sysfunc(inputn('01feb09'd,anydtdte9.));
*%let end=%sysfunc(inputn('01jun13',anydtdte9.));
%let start=%sysfunc(inputn('01dec11'd,anydtdte9.)); %put &start;
%let end=%sysfunc(inputn('01feb12'd,anydtdte9.));
/*determines the number of months between the two dates*/
%let dif=%sysfunc(intck(month,&start,&end));
%do i=0 %to &dif;
%let date =%sysfunc(putn(%sysfunc(intnx(month,&start,&i,b)),yymmn6.)
);
%let date2=%sysfunc(putn(%sysfunc(intnx(month,&start,&i,b)),mmyyn4.)
);
%let date3=%sysfunc(putn(%sysfunc(intnx(month,&start,&i,b)),yymmn6.)
);


%if &i=0 %then %do; %put "where";%put &date. &date2. &date3.;
%loss_set(date=&date., date2=&date2., date3=&date3.);
%end;
%else %do; %put "not 0";
%loss_set(date=&date., date2=&date2., date3=&date3.);
%end;
%end;
%mend;
%run_code;
macro %loss_set won't run for when i=0, but will run for when i^=0.... i don
't need a work around, i want to know if this is a sas programming RULE not
to start loop with 0, which i didnot think so, but give the fact this don't
work, i am starting to doubt myself.
any inputs?? thanks,
h******s
发帖数: 3420
2
&i 是个啥东东?如果 I=0 , &0?
你确信这个对I ne 0 能 work?

.)

【在 l*********l 的大作中提到】
: %macro run_code;
: *%let start=%sysfunc(inputn('01feb09'd,anydtdte9.));
: *%let end=%sysfunc(inputn('01jun13',anydtdte9.));
: %let start=%sysfunc(inputn('01dec11'd,anydtdte9.)); %put &start;
: %let end=%sysfunc(inputn('01feb12'd,anydtdte9.));
: /*determines the number of months between the two dates*/
: %let dif=%sysfunc(intck(month,&start,&end));
: %do i=0 %to &dif;
: %let date =%sysfunc(putn(%sysfunc(intnx(month,&start,&i,b)),yymmn6.)
: );

l*********l
发帖数: 2371
3
%do i=0 %to &dif;
this is where macro variable I is defined. and it starts with 0.

【在 h******s 的大作中提到】
: &i 是个啥东东?如果 I=0 , &0?
: 你确信这个对I ne 0 能 work?
:
: .)

h******s
发帖数: 3420
4
我我我。。。
这是 do loop 好吧,macro 不是这样define 的好吧, 我觉得应该直接用 I 而不是&i

【在 l*********l 的大作中提到】
: %do i=0 %to &dif;
: this is where macro variable I is defined. and it starts with 0.

k*******a
发帖数: 772
5
如果只想知道有没有这个RULE,何不自己写个简单的测试程序验证一下
s******0
发帖数: 1269
6
那个pharm不是号称很牛嘛。你可以去问问他,让他帮你debugy
d********i
发帖数: 193
7
Change the following lines:
*%let start=%sysfunc(inputn('01feb09'd,anydtdte9.));
*%let end=%sysfunc(inputn('01jun13',anydtdte9.));
to:
%*let start=%sysfunc(inputn('01feb09'd,anydtdte9.));
%*let end=%sysfunc(inputn('01jun13',anydtdte9.));
s*******e
发帖数: 1385
8
&i=0的时候你的put statement是work的,应该是macro %loss_set的问题!你可以直接
试试
%loss_set(date=201112, date2=1211, date3=201112)是不是work。

.)

【在 l*********l 的大作中提到】
: %macro run_code;
: *%let start=%sysfunc(inputn('01feb09'd,anydtdte9.));
: *%let end=%sysfunc(inputn('01jun13',anydtdte9.));
: %let start=%sysfunc(inputn('01dec11'd,anydtdte9.)); %put &start;
: %let end=%sysfunc(inputn('01feb12'd,anydtdte9.));
: /*determines the number of months between the two dates*/
: %let dif=%sysfunc(intck(month,&start,&end));
: %do i=0 %to &dif;
: %let date =%sysfunc(putn(%sysfunc(intnx(month,&start,&i,b)),yymmn6.)
: );

P****D
发帖数: 11146
9
我觉得他这样写了之后,无形中又定义了一个macro variable i,然后这个跟前面那个
i不是同一个。这里应该是直接用i吧,不过我手边没有电脑可测试。

【在 h******s 的大作中提到】
: &i 是个啥东东?如果 I=0 , &0?
: 你确信这个对I ne 0 能 work?
:
: .)

P****D
发帖数: 11146
10
妾特别讨厌SAS这一点,macro variable都是字符变量。字符变量就有长度和空格的问
题。
你把这个条件改成input(&i, best12.)=0,结果如何?

【在 l*********l 的大作中提到】
: %do i=0 %to &dif;
: this is where macro variable I is defined. and it starts with 0.

1 (共1页)
进入Statistics版参与讨论
相关主题
[合集] 请教一个sas问题Need advice on SAS macro debugging
求助关于sas macro 中的if- then语句SAS MACRO里的循环不work是怎么回事
why this error in %if statementSAS里用macro的文件名里数字的问题
SAS macro variable help请教一道SAS MACRO编程的问题。怎么都不明白。谢谢
一道sas题 在线求解 50个包子答谢 急啊我是一菜鸟 质疑sas adv63题(12月)第41题的答案
batch?请教个SAS问题
sas 代码问题再问一个sas输出的问题 (export)
问一个SAS macro的问题包子请教,时间格式问题
相关话题的讨论汇总
话题: sysfunc话题: date3话题: anydtdte9话题: inputn话题: date2