- Get link
- X
- Other Apps
CREATING NEW VARIABLES
--->1.ASSIGNMENT STATEMENT (XXXX=)
--->2.CONDITIONAL STATEMENT (HAVE TO A CONDITION FOR VAR);
--->3.SUM STATEMENT(XXX+YYY)
--->1.ASSIGNMENT STATEMENT (XXXX=)
DATA SAS;
SET SASHELP.CLASS;
RUN;
PROC PRINT;
RUN;
DATA SAS;
SET SASHELP.CLASS;
NEWAGE=AGE;
gender=sex;
RUN;
PROC PRINT;
RUN;
--->3.SUM STATEMENT(XXX+YYY)
DATA SAS;
SET SASHELP.CLASS;
NEWAGE=AGE+2; *11+2=13(NEWAGE);
RUN;
PROC PRINT;
RUN;
DATA SAS;
SET SASHELP.CLASS;
ANIL=AGE-2;
RUN;
PROC PRINT;
RUN;
DATA SAS;
SET SASHELP.CLASS;
ANIL=AGE*2;
RUN;
PROC PRINT;
RUN;
DATA SASAS;
SET PROG1.SALES;
BONUS=500;
TOTAL=SALARY+BONUS;*25000+500=25500;
RUN;
PROC PRINT;
RUN;
--->2.CONDITIONAL STATEMENT (HAVE TO A CONDITION FOR VARIABLES);
THESE ARE THE CONDITIONAL STATEMEMTS:
1.IF THEN 2.IF THEN ELSE 3.IF THEN ELSE IF
4.IF THEN DO 5.IF THEN DELETE 6.IF THEN OUTPUT;
1.IF THEN
DATA SAS;
SET PROG1.SALES;
IF COUNTRY='US' THEN BONUS=500;
RUN;
PROC PRINT;
RUN;
DATA SAS1;
SET PROG1.SALES;
IF COUNTRY='AU' THEN BONUS=300;
RUN;
PROC PRINT;
RUN;
2.IF THEN ELSE
DATA SAS2;
SET PROG1.SALES;
IF COUNTRY='US' THEN BONUS=500;
ELSE BONUS=300;
RUN;
PROC PRINT;
RUN;
3.IF THEN ELSE IF(AU(300),US(500),ASIA(800),UK(1000),EUROPE,AFRICA);
DATA SAS;
SET PROG1.SALES;
IF COUNTRY='US' THEN BONUS=500;
ELSE IF COUNTRY='AU' THEN BONUS=300;
ELSE IF COUNTRY='UK' THEN BONUS=580;
RUN;
PROC PRINT;
RUN;
DATA SAS;
SET PROG1.SALES;
IF COUNTRY='US' THEN BONUS=500;
ELSE IF COUNTRY='AU' THEN BONUS=300;
ELSE IF COUNTRY='UK' THEN BONUS=1000;
ELSE IF COUNTRY='IN' THEN BONUS=1200;
RUN;
PROC PRINT;
RUN;
DATA SAS333;
LENGTH ROLE $10;
SET PROG1.SALES;
IF SALARY <= 25000 THEN ROLE='FRESHER';
ELSE IF SALARY < 28000 AND 49999 THEN ROLE='PROGRAMMER';
ELSE IF SALARY > 50000 THEN ROLE='TL';
RUN;
PROC PRINT;
RUN;
4.IF THEN DELETE
--REMOVE THE GIVEN CONDITION
DATA SAS1;
SET PROG1.SALES;
IF COUNTRY='AU' THEN DELETE;
RUN;
PROC PRINT;
RUN;
DATA SAS1;
SET PROG1.SALES;
IF COUNTRY='IN' THEN DELETE;
RUN;
PROC PRINT;
RUN;
5.IF THEN OUTPUT
--GIVE THE OUTPUT OF THE GIVEN CONDITION
DATA SAS1;
SET PROG1.SALES;
IF COUNTRY='IN' THEN OUTPUT;
RUN;
PROC PRINT;
RUN;
DATA SAS121;
SET PROG1.SALES;
IF COUNTRY='UK' THEN OUTPUT;
RUN;
PROC PRINT;
RUN;
6.IF THEN DO STATEMENT:::
---IF YOU USING THE 'DO' STATEMENT NEED TO CLOSE THE DO BLOCK BY USING
'END' STATEMENT
---WE CAN CREATE THE "MULTIPLE VARIABLES" IN "IF THEN DO" STATEMENT
WHICH IS NOT POSSIBLE IN "IF THEN ELSE IF"
DATA SA11S;
SET PROG1.SALES;
IF COUNTRY='US' THEN DO;
BONUS=500;
BONUSMNTH='ONCE IN YEAR';
PACKAGE=4.5;
END;
IF COUNTRY='AU' THEN DO;
BONUS=300;
BONUSMNTH='TWICE IN YEAR';
PACKAGE=5.2;
END;
IF COUNTRY='IN' THEN DO;
BONUS=1200;
BONUSMNTH='THRICE IN YEAR';
PACKAGE=8;
END;
RUN;
PROC PRINT;
RUN;
DATA SS;
KEEP STATUS DTHSTATUS;
SET SASHELP.HEART;
IF Status='Dead' THEN DTHSTATUS='YES';
ELSE DTHSTATUS='NO';
RUN;
PROC PRINT;
RUN;
NOTE:
WHERE IF
1.IT WILL WORK IN BOTH DATA STEP 1.IT WILL WORK IN ONLY DATASTEP
AND PROC STEP NOT WORK IN PROC STEP
2.WE CAN'T CREATE NEW VARIABLE 2.WE CAN CREATE NEW VARIABLE
3.USE TO SUBSET THE OBSERVATIONS 3.USE TO SUBSET THE OBS BY CONDITIONALLY
4.WORK BEFORE 'PDV' 4.WORK AFTER THE 'PDV'
PDV:PROGRAM DATA VECTOR
- Get link
- X
- Other Apps
Comments
Post a Comment