301.END-TO-END SAS PROCESSING AND REPORTING OF INDIAN ZOO DATA USING SORTING, MERGING, SQL-BASED INSIGHTS, AND TLF-ORIENTED REPORTING PROCS, CROSS-TABULATION, STRUCTURED REPORT GENERATION

END-TO-END SAS PROCESSING AND REPORTING OF INDIAN ZOO DATA USING SORTING, MERGING,SQL-BASED INSIGHTS, AND TLF-ORIENTED REPORTING PROCS, CROSS-TABULATION, STRUCTURED REPORT GENERATION

1. Dataset Creation

data Indian_Zoos;

 input ZooID$ ZooName:$25. City:$18. State:$14. NumAnimals Rating;

 datalines;

Z001 MysoreZoo Mysuru Karnataka 1600 4.8

Z002 NehruZoo Hyderabad Telangana 1500 4.6

Z003 DelhiZoo Delhi Delhi 1300 4.4

Z004 ArignarZoo Chennai TamilNadu 2100 4.7

Z005 Nandankanan Bhubaneswar Odisha 1900 4.8

Z006 AliporeZoo Kolkata WestBengal 1200 4.3

Z007 RajivGandhiZoo Pune Maharashtra 1400 4.5

Z008 IndiraGandhiZoo Visakhapatnam AndhraPradesh 1700 4.6

Z009 ChhatbirZoo Chandigarh Punjab 1100 4.2

Z010 SayajiZoo Vadodara Gujarat 1000 4.1

Z011 KamlaNehruZoo Ahmedabad Gujarat 1150 4.3

Z012 SanjayGandhiPark Mumbai Maharashtra 900 4.0

;

run;

proc print data=Indian_Zoos;

run;

OUTPUT:

ObsZooIDZooNameCityStateNumAnimalsRating
1Z001MysoreZooMysuruKarnataka16004.8
2Z002NehruZooHyderabadTelangana15004.6
3Z003DelhiZooDelhiDelhi13004.4
4Z004ArignarZooChennaiTamilNadu21004.7
5Z005NandankananBhubaneswarOdisha19004.8
6Z006AliporeZooKolkataWestBengal12004.3
7Z007RajivGandhiZooPuneMaharashtra14004.5
8Z008IndiraGandhiZooVisakhapatnamAndhraPradesh17004.6
9Z009ChhatbirZooChandigarhPunjab11004.2
10Z010SayajiZooVadodaraGujarat10004.1
11Z011KamlaNehruZooAhmedabadGujarat11504.3
12Z012SanjayGandhiParkMumbaiMaharashtra9004.0


2. Proc Sort By Highest Animals

Proc sort data=Indian_Zoos Out=ZooSorted;

 by descending numanimals;

run;

proc print data=zoosorted;

run;

OUTPUT:

ObsZooIDZooNameCityStateNumAnimalsRating
1Z004ArignarZooChennaiTamilNadu21004.7
2Z005NandankananBhubaneswarOdisha19004.8
3Z008IndiraGandhiZooVisakhapatnamAndhraPradesh17004.6
4Z001MysoreZooMysuruKarnataka16004.8
5Z002NehruZooHyderabadTelangana15004.6
6Z007RajivGandhiZooPuneMaharashtra14004.5
7Z003DelhiZooDelhiDelhi13004.4
8Z006AliporeZooKolkataWestBengal12004.3
9Z011KamlaNehruZooAhmedabadGujarat11504.3
10Z009ChhatbirZooChandigarhPunjab11004.2
11Z010SayajiZooVadodaraGujarat10004.1
12Z012SanjayGandhiParkMumbaiMaharashtra9004.0


3. Creation Of 2 More Variables 

data Zoo_more;

 input ZooID$ EntryFee Area_Acres;

 datalines;

Z001 100 157

Z002 60 380

Z003 80 176

Z004 90 602

Z005 70 1080

Z006 50 46

Z007 60 130

Z008 50 625

Z009 40 505

Z010 30 113

Z011 35 117

Z012 70 104

;

run;

proc print data=Zoo_more;

run;

OUTPUT:

ObsZooIDEntryFeeArea_Acres
1Z001100157
2Z00260380
3Z00380176
4Z00490602
5Z005701080
6Z0065046
7Z00760130
8Z00850625
9Z00940505
10Z01030113
11Z01135117
12Z01270104


4. Merge 2 Datasets

data Full_Zoo;

 merge Indian_Zoos

       Zoo_More;

 by ZooID;

run;

proc print data=Full_Zoo;

run;

 OUTPUT:

ObsZooIDZooNameCityStateNumAnimalsRatingEntryFeeArea_Acres
1Z001MysoreZooMysuruKarnataka16004.8100157
2Z002NehruZooHyderabadTelangana15004.660380
3Z003DelhiZooDelhiDelhi13004.480176
4Z004ArignarZooChennaiTamilNadu21004.790602
5Z005NandankananBhubaneswarOdisha19004.8701080
6Z006AliporeZooKolkataWestBengal12004.35046
7Z007RajivGandhiZooPuneMaharashtra14004.560130
8Z008IndiraGandhiZooVisakhapatnamAndhraPradesh17004.650625
9Z009ChhatbirZooChandigarhPunjab11004.240505
10Z010SayajiZooVadodaraGujarat10004.130113
11Z011KamlaNehruZooAhmedabadGujarat11504.335117
12Z012SanjayGandhiParkMumbaiMaharashtra9004.070104


5. Proc Means(Statistical Summary)

proc means data=full_zoo n mean min max;

 var  NumAnimals Rating;

 class zooid;

 output out=zoo_mean

         n = N_

      mean = Mean_

       min = Min_

       max = Max_;

run;

proc print data=zoo_mean Label;

 label    N_ = 'N'

       Mean_ = 'Mean'

        Min_ = 'Min'

        Max_ = 'Max';

run;

OUTPUT:

The MEANS Procedure

ZooIDN ObsVariableNMeanMinimumMaximum
Z0011
NumAnimals
Rating
1
1
1600.00
4.8000000
1600.00
4.8000000
1600.00
4.8000000
Z0021
NumAnimals
Rating
1
1
1500.00
4.6000000
1500.00
4.6000000
1500.00
4.6000000
Z0031
NumAnimals
Rating
1
1
1300.00
4.4000000
1300.00
4.4000000
1300.00
4.4000000
Z0041
NumAnimals
Rating
1
1
2100.00
4.7000000
2100.00
4.7000000
2100.00
4.7000000
Z0051
NumAnimals
Rating
1
1
1900.00
4.8000000
1900.00
4.8000000
1900.00
4.8000000
Z0061
NumAnimals
Rating
1
1
1200.00
4.3000000
1200.00
4.3000000
1200.00
4.3000000
Z0071
NumAnimals
Rating
1
1
1400.00
4.5000000
1400.00
4.5000000
1400.00
4.5000000
Z0081
NumAnimals
Rating
1
1
1700.00
4.6000000
1700.00
4.6000000
1700.00
4.6000000
Z0091
NumAnimals
Rating
1
1
1100.00
4.2000000
1100.00
4.2000000
1100.00
4.2000000
Z0101
NumAnimals
Rating
1
1
1000.00
4.1000000
1000.00
4.1000000
1000.00
4.1000000
Z0111
NumAnimals
Rating
1
1
1150.00
4.3000000
1150.00
4.3000000
1150.00
4.3000000
Z0121
NumAnimals
Rating
1
1
900.0000000
4.0000000
900.0000000
4.0000000
900.0000000
4.0000000

ObsZooID_TYPE__FREQ_NMeanMinMax
1 012121404.179002100
2Z0011111600.0016001600
3Z0021111500.0015001500
4Z0031111300.0013001300
5Z0041112100.0021002100
6Z0051111900.0019001900
7Z0061111200.0012001200
8Z0071111400.0014001400
9Z0081111700.0017001700
10Z0091111100.0011001100
11Z0101111000.0010001000
12Z0111111150.0011501150
13Z012111900.00900900

6. Proc Freq(Zoos by State)

proc freq data=indian_zoos;

 table state;

run;

OUTPUT:

The FREQ Procedure

StateFrequencyPercentCumulative
Frequency
Cumulative
Percent
AndhraPradesh18.3318.33
Delhi18.33216.67
Gujarat216.67433.33
Karnataka18.33541.67
Maharashtra216.67758.33
Odisha18.33866.67
Punjab18.33975.00
TamilNadu18.331083.33
Telangana18.331191.67
WestBengal18.3312100.00

7. Proc Sql Analysis

7.1 Top 5 Zoos by Rating

proc sql outobs=5;

 select ZooID, ZooName, City ,State ,NumAnimals ,Rating

 from Indian_Zoos

 order rating desc;

quit; 

OUTPUT:

ZooIDZooNameCityStateNumAnimalsRating
Z005NandankananBhubaneswarOdisha19004.8
Z001MysoreZooMysuruKarnataka16004.8
Z004ArignarZooChennaiTamilNadu21004.7
Z002NehruZooHyderabadTelangana15004.6
Z008IndiraGandhiZooVisakhapatnamAndhraPradesh17004.6


7.2 Average Rating by State

proc sql;

 select State , avg(rating) as AvgRating format=5.2

 from Indian_Zoos

 group by state

 order by state;

quit;

OUTPUT:

StateAvgRating
AndhraPradesh4.60
Delhi4.40
Gujarat4.20
Karnataka4.80
Maharashtra4.25
Odisha4.80
Punjab4.20
TamilNadu4.70
Telangana4.60
WestBengal4.30


7.3 Zoos With Above-Average Number of Animals

proc sql;

 select ZooID, ZooName,NumAnimals 

 from Indian_Zoos

 where NumAnimals > (select Avg(NumAnimals) 

                      from Indian_Zoos)

 order by NumAnimals Desc;

quit;

OUTPUT:

ZooIDZooNameNumAnimals
Z004ArignarZoo2100
Z005Nandankanan1900
Z008IndiraGandhiZoo1700
Z001MysoreZoo1600
Z002NehruZoo1500


8. Proc Report 

title "SUMMARY TABLE OF INDIAN ZOOS";

proc report data=full_Zoo nowd;

 column ZooID ZooName State NumAnimals Rating;

 define ZooID / Display 'Zoo ID';

 define ZooName / Display 'Zoo Name';

 define State / Group 'State';

 define NumAnimals / analysis 'No. Of Animals';

 define Rating / analysis 'Rating';

run;

 OUTPUT:

SUMMARY TABLE OF INDIAN ZOOS

Zoo IDZoo NameStateNo. Of AnimalsRating
Z008IndiraGandhiZooAndhraPradesh17004.6
Z003DelhiZooDelhi13004.4
Z010SayajiZooGujarat10004.1
Z011KamlaNehruZoo 11504.3
Z001MysoreZooKarnataka16004.8
Z007RajivGandhiZooMaharashtra14004.5
Z012SanjayGandhiPark 9004
Z005NandankananOdisha19004.8
Z009ChhatbirZooPunjab11004.2
Z004ArignarZooTamilNadu21004.7
Z002NehruZooTelangana15004.6
Z006AliporeZooWestBengal12004.3

9. Proc Tabulate 

title "CROSS TABULATION OF ZOO ANIMALS AND RATINGS";

proc tabulate data=full_zoo;

 class state;

 var NumAnimals Rating;

 table state,(NumAnimals Rating)*(mean min max);

run;

 OUTPUT:

CROSS TABULATION OF ZOO ANIMALS AND RATINGS

 NumAnimalsRating
MeanMinMaxMeanMinMax
State1700.001700.001700.004.604.604.60
AndhraPradesh
Delhi1300.001300.001300.004.404.404.40
Gujarat1075.001000.001150.004.204.104.30
Karnataka1600.001600.001600.004.804.804.80
Maharashtra1150.00900.001400.004.254.004.50
Odisha1900.001900.001900.004.804.804.80
Punjab1100.001100.001100.004.204.204.20
TamilNadu2100.002100.002100.004.704.704.70
Telangana1500.001500.001500.004.604.604.60
WestBengal1200.001200.001200.004.304.304.30

10.Macro: Zoo Report 

%macro zoo_report(state=);


title "ZOO REPORT FOR &state";

proc print data=indian_zoos noobs;

    where State = "&state";

run;


title "SUMMARY FOR &state";

proc means data=indian_zoos mean min max;

    where State = "&state";

    var NumAnimals Rating;

run;


title "FREQUENCY FOR &state";

proc freq data=indian_zoos;

    where State = "&state";

    tables State;

run;


%mend;


%zoo_report(state=Karnataka);

OUTPUT:

ZOO REPORT FOR Karnataka

ZooIDZooNameCityStateNumAnimalsRating
Z001MysoreZooMysuruKarnataka16004.8

SUMMARY FOR Karnataka

The MEANS Procedure

VariableMeanMinimumMaximum
NumAnimals
Rating
1600.00
4.8000000
1600.00
4.8000000
1600.00
4.8000000

FREQUENCY FOR Karnataka

The FREQ Procedure

StateFrequencyPercentCumulative
Frequency
Cumulative
Percent
Karnataka1100.001100.00

%zoo_report(state=Telangana);

OUTPUT:

ZOO REPORT FOR Telangana

ZooIDZooNameCityStateNumAnimalsRating
Z002NehruZooHyderabadTelangana15004.6

SUMMARY FOR Telangana

The MEANS Procedure

VariableMeanMinimumMaximum
NumAnimals
Rating
1500.00
4.6000000
1500.00
4.6000000
1500.00
4.6000000

FREQUENCY FOR Telangana

The FREQ Procedure

StateFrequencyPercentCumulative
Frequency
Cumulative
Percent
Telangana1100.001100.00


To Visit My Previous Online Streaming Flatform Dataset:Click Here
To Visit My Previous Statistical Evaluation Of Clinical Trials:Click Here
To Visit My Previous Unlocking Retail Insights Dataset:Click Here
To Visit My Previous Sas Interview Questions-1:Click Here



Follow Us On : 


 


--- FOLLOW OUR BLOG FOR MORE INFORMATION.

--->PLEASE DO COMMENTS AND SHARE OUR BLOG.

Comments

Popular posts from this blog

409.Can We Build a Reliable Emergency Services Analytics & Fraud Detection System in SAS While Identifying and Fixing Intentional Errors?

397.If a satellite has excellent signal strength but very high latency, can it still deliver good quality communication? Why or why not?A Sas Study

401.How Efficient Are Global Data Centers? A Complete SAS Analytics Study