全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1185 1
2016-08-06
程式碼:

%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这个数值,导致程序上虽无错误,但结果无法正确地表示,感谢指导!不知道我其中是忽略了什么问题?



二维码

扫码加我 拉你入群

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

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

全部回复
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


二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群