17.DO LOOPS

                                                  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