19.ARRAY'S AND DO LOOPS

                                               ARRAY'S AND DO LOOPS

DO LOOPS AND ARRAY'S DIFFERENCES::

--REPETITIVE CALCULATIONS                    --SAME

--CAN'T CREATE VARIABLES WITH            --WE CAN CREATE 

   SAME VARIABLES     

--CAN'T ROTATE THE DATA                          -- WE CAN ROTATE LIKE TRANSPOSE


****WE HAVE TO ACCESSING THE "ARRAY" REFERENCE (NAME);


ARRAY'S:::

-->PERFORM THE REPETITIVE CALCULATIONS

-->WE CAN CREATE MANY VARIABLES WITH SAME ATTRIBUTE/COLUMN/VARIABLE

-->WE CAN ROTATE THE DATA(LIKE TRANSPOSE)


DATA SASA;

SET PROG2.DONATE;

QTR1=QTR1*2;

QTR2=QTR2*3;

QTR3=QTR3*2;

QTR4=QTR4*3;

RUN;

PROC PRINT;

RUN;


BEFORE WRITING THE ARRAY WE HAVE TO 'DEFINE' THE ARRAY?

-->ARRAY XXXXX(4) QTR1 QTR2 QTR3 QTR4;

-->ARRAY YYYYY{100} QTR1-QTR100;

-->ARRAY ZZZZZ [2] QTR1 QTR2;


DATA DONATEE;

SET PROG2.DONATE;

ARRAY SAI{4} QTR1-QTR4;

DO I=1 TO 4;

SAI{I}=SAI{I}*3;

OUTPUT;

END;

RUN;

PROC PRINT;

RUN;


DATA DONATEE(DROP=I);

SET PROG2.DONATE;

ARRAY KAMAL{4} QTR1-QTR4;

DO I=1 TO 4;

KAMAL{I}=KAMAL{I}*3;

END;

RUN;

PROC PRINT;

RUN;


--CREATING NEW VARIABLES WITH ARRAY'S

DATA DONATEE(DROP=I);

SET PROG2.DONATE;

ARRAY KAMAL{4} QTR1-QTR4;

ARRAY ANIL{4};

DO I=1 TO 4;

KAMAL{I}=KAMAL{I}+10;

OUTPUT;

END;

RUN;

PROC PRINT;

RUN;


DATA DONATEE;

SET PROG2.DONATE;

TOTAL=SUM(OF QTR1-QTR4);

ARRAY KAMAL{4} QTR1-QTR4;

ARRAY ANIL{4};

DO I=1 TO 4;

ANIL{I}=KAMAL{I}*2;

OUTPUT;

END;

RUN;

PROC PRINT;

FORMAT ANIL1-ANIL4 PERCENT6.;

RUN;


--WE CAN ROTATE THE DATA(LIKE TRANSPOSE)

DATA AGE;

INPUT ID AGE1 AGE2 AGE3 AGE4 AGE5 AGE6 AGE7 AGE8;

CARDS;

110 22 23 25 26 27 21 27 26

111 32 34 33 36 35 37 39 37

112 42 43 41 40 46 48 49 45

113 12 22 21 34 42 45 25 67

;

RUN;

PROC PRINT;RUN;


DATA AGEROTAE(DROP=AGE1-AGE8);

SET WORK.AGE;

ARRAY ANIL{8} AGE1-AGE8;

DO AGE=1 TO 8;

TOTALAGE=ANIL{AGE}*2;

OUTPUT;

END;

RUN;

PROC PRINT;

RUN;


ARRAY'S "DIM" FUNCTION::::

DATA RED;

INPUT HT WT AGE BMI VIT;

CARDS;

1 2 3 4 5

6 7 8 9 0

;

RUN;

PROC PRINT;

RUN ;


--ONE DIMENSIONAL ARRAY

DATA DIM1;

SET RED;

ARRAY XXX(5) HT WT AGE BMI VIT;

DO I=1 TO DIM(XXX);

OUTPUT;

END;

PUT I;

RUN;

PROC PRINT;

RUN;


--MULTI-DIMENSIONAL:::

DATA MULT;

ARRAY MULTI{5,10,2} MULTI1-MULTI100;

AA1=DIM(MULTI);

AA2=DIM(MULTI,1);

AA3=DIM(MULTI,3);

AA4=DIM(MULTI,2);

PUT AA1= AA2= AA3= AA4=;

RUN;


DATA MULT11(DROP=MULTI1-MULTI100);

ARRAY MULTI{5,10,2} MULTI1-MULTI100;

AA1=DIM(MULTI);

AA2=DIM(MULTI,1);

AA3=DIM(MULTI,3);

AA4=DIM(MULTI,2);

PUT AA1= AA2= AA3= AA4=;

RUN;


--PLEASE FOLLOW THE BLOG FOR MORE INFO....

--JOIN US IN TELEGRAM CHANNEL FOR MORE UPDATES

   CLICK HERE: https://t.me/SasAll4You



































































Comments