楼主: cv04356015
1216 1

[问答] 關於%MACRO求教 [推广有奖]

  • 0关注
  • 0粉丝

本科生

77%

还不是VIP/贵宾

-

威望
0
论坛币
13 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3580 点
帖子
57
精华
0
在线时间
36 小时
注册时间
2015-11-16
最后登录
2018-4-22

楼主
cv04356015 发表于 2016-8-6 09:52:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
程式碼:

%MACRO TBA (ITEM,QC_LEVEL,FIRST_MONTH,LAST_MONTH);
%DO M=&FIRST_MONTH %TO &LAST_MONTH;

%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 1 ) %THEN %DO; %LET SL= 86.23  ;%LET USL= 90.94  ; %LET LSL= 81.52 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 2 ) %THEN %DO; %LET SL= 86.05  ;%LET USL= 90.73  ; %LET LSL= 81.37 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 3 ) %THEN %DO; %LET SL= 85.68  ;%LET USL= 91.02  ; %LET LSL= 80.34 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 4 ) %THEN %DO; %LET SL= 85.81  ;%LET USL= 91.21  ; %LET LSL= 80.41 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 5 ) %THEN %DO; %LET SL= 85.2  ;%LET USL= 91.11  ; %LET LSL= 79.29 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 6 ) %THEN %DO; %LET SL= 84.9  ;%LET USL= 92.58  ; %LET LSL= 77.22 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 7 ) %THEN %DO; %LET SL= 84.72  ;%LET USL= 90.15  ; %LET LSL= 79.29 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 8 ) %THEN %DO; %LET SL= 84.77  ;%LET USL= 90.68  ; %LET LSL= 78.86 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 9 ) %THEN %DO; %LET SL= 84.42  ;%LET USL= 90  ; %LET LSL= 78.84 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 10 ) %THEN %DO; %LET SL= 84.72  ;%LET USL= 90.21  ; %LET LSL= 79.23 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 11 ) %THEN %DO; %LET SL= 84.27  ;%LET USL= 89.64  ; %LET LSL= 78.9 ; %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 12 ) %THEN %DO; %LET SL= 84.06  ;%LET USL= 89.82  ; %LET LSL= 78.3 ; %END;

这段程式码还很长,我就不细贴直接询问了,由于我后段程式会使用到SL、USL、LSL的数值,可是我发现读下来
&ITEM、&QC_LEVEL都能够对应的到我所要求的,并进行替换,然而&M永远都只会读到12这个数值,导致程序上虽无错误,但结果无法正确地表示,感谢指导!不知道我其中是忽略了什么问题?



二维码

扫码加我 拉你入群

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

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

关键词:Macro acr CRO Mac Level

沙发
RichardBrown 发表于 2016-8-8 05:18:56
我把你的程序稍作改动,并把结果输出出来,看不出有什么错的。所以有可能是你没贴出来的部分有问题。你可以试验一下并把结果输出

%MACRO TBA (ITEM,QC_LEVEL,FIRST_MONTH,LAST_MONTH);
%DO M=&FIRST_MONTH %TO &LAST_MONTH;

%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 1 ) %THEN %DO;
        %LET SL= 86.23  ;%LET USL= 90.94  ; %LET LSL= 81.52 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 2 ) %THEN %DO;
        %LET SL= 86.05  ;%LET USL= 90.73  ; %LET LSL= 81.37 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 3 ) %THEN %DO;
        %LET SL= 85.68  ;%LET USL= 91.02  ; %LET LSL= 80.34 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 4 ) %THEN %DO;
        %LET SL= 85.81  ;%LET USL= 91.21  ; %LET LSL= 80.41 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 5 ) %THEN %DO;
        %LET SL= 85.2  ;%LET USL= 91.11  ; %LET LSL= 79.29 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 6 ) %THEN %DO;
        %LET SL= 84.9  ;%LET USL= 92.58  ; %LET LSL= 77.22 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 7 ) %THEN %DO;
        %LET SL= 84.72  ;%LET USL= 90.15  ; %LET LSL= 79.29 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 8 ) %THEN %DO;
        %LET SL= 84.77  ;%LET USL= 90.68  ; %LET LSL= 78.86 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 9 ) %THEN %DO;
        %LET SL= 84.42  ;%LET USL= 90  ; %LET LSL= 78.84 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 10 ) %THEN %DO;
        %LET SL= 84.72  ;%LET USL= 90.21  ; %LET LSL= 79.23 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 11 ) %THEN %DO;
        %LET SL= 84.27  ;%LET USL= 89.64  ; %LET LSL= 78.9 ;
        %END;
%IF (&ITEM= GLU ) & (&QC_LEVEL= LEVEL1 ) & (&M= 12 ) %THEN %DO;
        %LET SL= 84.06  ;%LET USL= 89.82  ; %LET LSL= 78.3 ;
        %END;
        %put &M. &SL. &USL. &LSL.;
%end;
%mend;

%tba(item=GLU, QC_LEVEL=LEVEL1,FIRST_MONTH=1,LAST_MONTH=12);

结果:
1 86.23 90.94 81.52
2 86.05 90.73 81.37
3 85.68 91.02 80.34
4 85.81 91.21 80.41
5 85.2 91.11 79.29
6 84.9 92.58 77.22
7 84.72 90.15 79.29
8 84.77 90.68 78.86
9 84.42 90 78.84
10 84.72 90.21 79.23
11 84.27 89.64 78.9
12 84.06 89.82 78.3


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

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