66.PROC TRANSPOSE | BY | ID STATEMENT

                              PROC TRANSPOSE | BY | ID STATEMENT


DATA FILE;

 INPUT PET_OWNER$10. PET$ POPULATION;

 CARDS;

 MR.BLACK  DOG 2

 MR.BLACK  CAT 1

 MR.BROWN  DOG 1

 MRS.BROWN CAT 0

 MRS.GREEN  FISH 5

 MR.WHITE  FISH 3

 MR.WHITE  DOG 3

 MR.WHITE  CAT 3

 ;

RUN;

PROC PRINT;RUN;


LOG:

NOTE: The data set WORK.FILE has 8 observations and 3 variables.

NOTE: DATA statement used (Total process time):

      real time           0.01 seconds

      cpu time            0.01 seconds


RESULT: 

                                                               The SAS System


Obs PET_OWNER PET POPULATION
1 MR.BLACK DOG 2
2 MR.BLACK CAT 1
3 MR.BROWN DOG 1
4 MRS.BROWN CAT 0
5 MRS.GREEN FISH 5
6 MR.WHITE FISH 3
7 MR.WHITE DOG 3
8 MR.WHITE CAT 3


HERE I WANT TO TRANSPOSE ABOVE DATA:


SIMPLE TRANSPOSE:AS WE KNOW SIMPLE TRANSPOSE WILL ONLY GIVE POPULATION.

PROC TRANSPOSE DATA=FILE OUT=TRANFILE;

RUN;


LOG:

NOTE: There were 8 observations read from the data set WORK.FILE.

NOTE: The data set WORK.TRANFILE has 1 observations and 9 variables.

NOTE: PROCEDURE TRANSPOSE used (Total process time):

      real time           0.07 seconds

      cpu time            0.00 seconds


RESULT:

                                                                 The SAS System


Obs _NAME_ COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8
1 POPULATION 2 1 1 0 5 3 3 3


VAR STATEMENT:AS WE MENTIONED VAR STATEMENT AND VARIABLES IT WILL GIVE BOTH PET AND POPULATION.

PROC TRANSPOSE DATA=FILE OUT=TRANFILE NAME=COL_TRANSPOSED;

  VAR PET POPULATION;

RUN;


LOG:

NOTE: Numeric variables in the input data set will be converted to character in the output data set.

NOTE: There were 8 observations read from the data set WORK.FILE.

NOTE: The data set WORK.TRANFILE has 2 observations and 9 variables.

NOTE: PROCEDURE TRANSPOSE used (Total process time):

      real time           0.01 seconds

      cpu time            0.00 seconds


RESULT:

                                                       The SAS System

Obs COL_TRANSPOSED COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8
1 PET DOG CAT DOG CAT FISH FISH DOG CAT
2 POPULATION 2 1 1 0 5 3 3 3


SORT STATEMENT:FIRST SORT THE DATA WITH BY STATEMENT ...

PROC SORT DATA=FILE OUT=SORTFILE;

 BY  PET_OWNER;

RUN;


LOG:

NOTE: There were 8 observations read from the data set WORK.FILE.

NOTE: The data set WORK.SORTFILE has 8 observations and 3 variables.

NOTE: PROCEDURE SORT used (Total process time):

      real time           0.12 seconds

      cpu time            0.03 seconds


RESULT:
         
                                                                   The SAS System

Obs PET_OWNER PET POPULATION
1 MR.BLACK DOG 2
2 MR.BLACK CAT 1
3 MR.BROWN DOG 1
4 MR.WHITE FISH 3
5 MR.WHITE DOG 3
6 MR.WHITE CAT 3
7 MRS.BROWN CAT 0
8 MRS.GREEN FISH 5


BY  AND ID STATEMENT:HERE WE APPLY BOTH BY AND ID STATEMENTS.

PROC TRANSPOSE DATA=SORTFILE OUT=TRANFILE1 NAME=COL_TRANSPOSED;

  BY PET_OWNER;

  ID PET;

RUN;


LOG:

NOTE: There were 8 observations read from the data set WORK.SORTFILE.

NOTE: The data set WORK.TRANFILE1 has 5 observations and 5 variables.

NOTE: PROCEDURE TRANSPOSE used (Total process time):

      real time           0.09 seconds

      cpu time            0.03 seconds


RESULT:
                                                                     
                                                                  The SAS System

Obs PET_OWNER COL_TRANSPOSED DOG CAT FISH
1 MR.BLACK POPULATION 2 1 .
2 MR.BROWN POPULATION 1 . .
3 MR.WHITE POPULATION 3 3 3
4 MRS.BROWN POPULATION . 0 .
5 MRS.GREEN POPULATION . . 5

TRY THIS AND COMMENT ...


-->PLEASE READ AND COMMENT THE BLOG...

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

--FOLLOW US IN FACEBOOK SASALL4YOU AND JOIN ...

--JOIN US IN FACEBOOK AND TELEGRAM  CHANNEL FOR MORE UPDATES

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


Comments