DO LOOPS
--TO DO REPETITIVE CALCULATIONS
--AND TO REDUCE THE CODE
DATA REPEAT;
AMOUNT=5000;
RATE=0.50;
YEARLY=AMOUNT*RATE;
QUARTERLY+((QUARTERLY+AMOUNT)+RATE/4);
QUARTERLY+((QUARTERLY+AMOUNT)+RATE/4);
QUARTERLY+((QUARTERLY+AMOUNT)+RATE/4);
QUARTERLY+((QUARTERLY+AMOUNT)+RATE/4);
RUN;
PROC PRINT;
RUN;
DATA REAL;
AMOUNT=5000;
RATE=0.50;
YEARLY=AMOUNT*RATE;
DO I=1 TO 4;
QUARTERLY+((QUARTERLY+AMOUNT)+RATE/4);
OUTPUT;
END;
RUN;
PROC PRINT;
RUN;
DATA REAL;
AMOUNT=5000;
RATE=0.50;
YEARLY=AMOUNT*RATE;
DO I=1 TO 1000;
QUARTERLY+((QUARTERLY+AMOUNT)+RATE/4);
OUTPUT;
END;
RUN;
PROC PRINT;
RUN;
-IF YOU ARE USING "DO" STATEMENT IT WILL BE CLOSED WITH "END" STATEMENT
WITHOUT 'OUTPUT' STATEMENT IT WILL GIVE 'ONLY ONE OBSERVATION' AND 'HIGHEST ITRETIVE VALUE'
DATA AA;
DO I=1 TO 5; *1+2=3 2+2=4 3+2=5 4+2=6 5+2=7 I=6 Y=7 */;
Y=I+2;
END;
RUN;
PROC PRINT;
RUN;
DATA BB;
DO I=1 TO 10; *1*2=2 2*2=4.....10*2=20 11 20;
Y=I*2;
END;
RUN;
PROC PRINT;
RUN;
WITH OUTPUT STATEMENT ALL OBSERVATION AND ALL VARIABLE WILL BE GIVEN
DATA CC;
DO I=1 TO 10;
Y=I*2;
OUTPUT;
END;
RUN;
PROC PRINT;
RUN;
DATA DD(DROP=I);
DO I=1 TO 10;
Y=I+2;
OUTPUT;
END;
RUN;
PROC PRINT NOOBS;
RUN;
DATA EE;
DO I=1 TO 10;
Y=I+2;
OUTPUT;
END;
RUN;
PROC PRINT;
RUN;
--IF DECIMAL VALUES ARE THERE IN DATA USE 'BY' STATEMENT
DATA FF;
DO I=1 TO 5 BY 0.3;
Y=I*2;
END;
RUN;
PROC PRINT;
RUN;
DATA GG;
DO I=1 TO 5 BY 0.2345673;
Y=I*2;
OUTPUT;
END;
RUN;
PROC PRINT;
RUN;
DATA HH(DROP=RATE);
DO YEAR=2001 TO 2005;
BONUS+5000;
BONUS+(RATE*0.052);
END;
RUN;
PROC PRINT;
RUN;
DATA HH(DROP=RATE);
DO YEAR=2001 TO 2005;
BONUS+5000;
BONUS+(RATE*0.052);OUTPUT;
END;
RUN;
PROC PRINT;
RUN;
FOLLOW THE BLOG FOR MORE INFORMATION....
Comments
Post a Comment