248.COMPREHENSIVE RAINFALL ANALYSIS ACROSS DIFFERENT PLACES IN INDIA USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | ADVANCED MACROS IN SAS

COMPREHENSIVE RAINFALL ANALYSIS ACROSS DIFFERENT PLACES IN INDIA USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | ADVANCED MACROS IN SAS

 /* Creating a dataset named rainfall_data */

1. Dataset Creation

options nocenter;

data rainfall_data;

    infile datalines dlm=',' dsd;

    input City : $20. State : $20. Month : $10. Rainfall_mm Region : $10.;

    datalines;

Hyderabad,Telangana,June,145,South

Chennai,Tamil Nadu,June,110,South

Mumbai,Maharashtra,June,540,West

Delhi,Delhi,June,180,North

Bengaluru,Karnataka,June,130,South

Kolkata,West Bengal,June,380,East

Ahmedabad,Gujarat,June,220,West

Lucknow,Uttar Pradesh,June,160,North

Jaipur,Rajasthan,June,90,West

Patna,Bihar,June,290,East

Bhopal,Madhya Pradesh,June,250,Central

Guwahati,Assam,June,420,Northeast

Imphal,Manipur,June,380,Northeast

Shimla,Himachal Pradesh,June,200,North

Panaji,Goa,June,470,West

Thiruvananthapuram,Kerala,June,600,South

Ranchi,Jharkhand,June,270,East

Pune,Maharashtra,June,490,West

Vijayawada,Andhra Pradesh,June,180,South

Nagpur,Maharashtra,June,300,Central

Agartala,Tripura,June,350,Northeast

Shillong,Meghalaya,June,500,Northeast

Varanasi,Uttar Pradesh,June,210,North

Coimbatore,Tamil Nadu,June,140,South

Raipur,Chhattisgarh,June,310,Central

Itanagar,Arunachal Pradesh,June,460,Northeast

Dehradun,Uttarakhand,June,280,North

Aizawl,Mizoram,June,410,Northeast

run;

proc print;run;

Output:

ObsCityStateMonthRainfall_mmRegion
1HyderabadTelanganaJune145South
2ChennaiTamil NaduJune110South
3MumbaiMaharashtraJune540West
4DelhiDelhiJune180North
5BengaluruKarnatakaJune130South
6KolkataWest BengalJune380East
7AhmedabadGujaratJune220West
8LucknowUttar PradeshJune160North
9JaipurRajasthanJune90West
10PatnaBiharJune290East
11BhopalMadhya PradeshJune250Central
12GuwahatiAssamJune420Northeast
13ImphalManipurJune380Northeast
14ShimlaHimachal PradeshJune200North
15PanajiGoaJune470West
16ThiruvananthapuramKeralaJune600South
17RanchiJharkhandJune270East
18PuneMaharashtraJune490West
19VijayawadaAndhra PradeshJune180South
20NagpurMaharashtraJune300Central
21AgartalaTripuraJune350Northeast
22ShillongMeghalayaJune500Northeast
23VaranasiUttar PradeshJune210North
24CoimbatoreTamil NaduJune140South
25RaipurChhattisgarhJune310Central
26ItanagarArunachal PradeshJune460Northeast
27DehradunUttarakhandJune280North
28AizawlMizoramJune410Northeast


2. PROC PRINT – Display the Dataset

title "Rainfall Dataset Across Different Cities in India";

proc print data=rainfall_data noobs;

run;

Output:

Rainfall Dataset Across Different Cities in India

CityStateMonthRainfall_mmRegion
HyderabadTelanganaJune145South
ChennaiTamil NaduJune110South
MumbaiMaharashtraJune540West
DelhiDelhiJune180North
BengaluruKarnatakaJune130South
KolkataWest BengalJune380East
AhmedabadGujaratJune220West
LucknowUttar PradeshJune160North
JaipurRajasthanJune90West
PatnaBiharJune290East
BhopalMadhya PradeshJune250Central
GuwahatiAssamJune420Northeast
ImphalManipurJune380Northeast
ShimlaHimachal PradeshJune200North
PanajiGoaJune470West
ThiruvananthapuramKeralaJune600South
RanchiJharkhandJune270East
PuneMaharashtraJune490West
VijayawadaAndhra PradeshJune180South
NagpurMaharashtraJune300Central
AgartalaTripuraJune350Northeast
ShillongMeghalayaJune500Northeast
VaranasiUttar PradeshJune210North
CoimbatoreTamil NaduJune140South
RaipurChhattisgarhJune310Central
ItanagarArunachal PradeshJune460Northeast
DehradunUttarakhandJune280North
AizawlMizoramJune410Northeast

3. PROC SORT – Sorting by Rainfall

proc sort data=rainfall_data out=sorted_rainfall;

    by descending Rainfall_mm;

run;


title "Top Cities by Rainfall";

proc print data=sorted_rainfall (obs=10);

run;

Output:

Top Cities by Rainfall

ObsCityStateMonthRainfall_mmRegion
1ThiruvananthapuramKeralaJune600South
2MumbaiMaharashtraJune540West
3ShillongMeghalayaJune500Northeast
4PuneMaharashtraJune490West
5PanajiGoaJune470West
6ItanagarArunachal PradeshJune460Northeast
7GuwahatiAssamJune420Northeast
8AizawlMizoramJune410Northeast
9KolkataWest BengalJune380East
10ImphalManipurJune380Northeast

4. PROC MEANS – Rainfall Statistics

title "Rainfall Summary Statistics by Region";

proc means data=rainfall_data mean median min max maxdec=2;

    class Region;

    var Rainfall_mm;

run;

Output:

Rainfall Summary Statistics by Region

The MEANS Procedure

Analysis Variable : Rainfall_mm
RegionN ObsMeanMedianMinimumMaximum
Central3286.67300.00250.00310.00
East3313.33290.00270.00380.00
North5206.00200.00160.00280.00
Northeast6420.00415.00350.00500.00
South6217.50142.50110.00600.00
West5362.00470.0090.00540.00

5. PROC FREQ – Frequency of Cities by Region

title "Number of Cities Per Region";

proc freq data=rainfall_data;

    tables Region;

run;

Output:

Number of Cities Per Region

The FREQ Procedure

RegionFrequencyPercentCumulative
Frequency
Cumulative
Percent
Central310.71310.71
East310.71621.43
North517.861139.29
Northeast621.431760.71
South621.432382.14
West517.8628100.00

6. PROC SQL – Advanced Queries

a. Average Rainfall per State

title "Average Rainfall per State";

proc sql;

    select State, mean(Rainfall_mm) as Avg_Rainfall format=8.2

    from rainfall_data

    group by State

    order by Avg_Rainfall desc;

quit;

Output:

Average Rainfall per State

StateAvg_Rainfall
Kerala600.00
Meghalaya500.00
Goa470.00
Arunachal Pradesh460.00
Maharashtra443.33
Assam420.00
Mizoram410.00
Manipur380.00
West Bengal380.00
Tripura350.00
Chhattisgarh310.00
Bihar290.00
Uttarakhand280.00
Jharkhand270.00
Madhya Pradesh250.00
Gujarat220.00
Himachal Pradesh200.00
Uttar Pradesh185.00
Delhi180.00
Andhra Pradesh180.00
Telangana145.00
Karnataka130.00
Tamil Nadu125.00
Rajasthan90.00

b. Cities with Rainfall above 400mm

title "Cities with Rainfall Greater than 400mm";

proc sql;

    select City, State, Rainfall_mm

    from rainfall_data

    where Rainfall_mm > 400

    order by Rainfall_mm desc;

quit;

Output:

Cities with Rainfall Greater than 400mm

CityStateRainfall_mm
ThiruvananthapuramKerala600
MumbaiMaharashtra540
ShillongMeghalaya500
PuneMaharashtra490
PanajiGoa470
ItanagarArunachal Pradesh460
GuwahatiAssam420
AizawlMizoram410

c. Regional Rainfall Contribution

title "Total Rainfall by Region";

proc sql;

    select Region, sum(Rainfall_mm) as Total_Rainfall format=8.0

    from rainfall_data

    group by Region;

quit;

Output:

Total Rainfall by Region

RegionTotal_Rainfall
Central860
East940
North1030
Northeast2520
South1305
West1810

7. MACRO – Automating Regional Analysis

%macro avg_rainfall_by_region;

    proc sql noprint;

        select distinct Region into :region_list separated by '|' 

        from rainfall_data;

    quit;


    data _null_;

        length str $500;

        str = symget("region_list");

        count = countw(str, '|');

        call symputx("region_count", count);

    run;



    %do i = 1 %to &region_count;

        %let region_name = %scan(&region_list, &i, |);


        title "Rainfall Stats for &region_name Region";

        proc means data=rainfall_data mean median maxdec=1;

            where Region = "&region_name";

            var Rainfall_mm;

        run;

    %end;


%mend avg_rainfall_by_region;


%avg_rainfall_by_region;

Output:

Rainfall Stats for Central Region

The MEANS Procedure

Analysis Variable : Rainfall_mm
MeanMedian
286.7300.0

Rainfall Stats for East Region

The MEANS Procedure

Analysis Variable : Rainfall_mm
MeanMedian
313.3290.0

Rainfall Stats for North Region

The MEANS Procedure

Analysis Variable : Rainfall_mm
MeanMedian
206.0200.0

Rainfall Stats for Northeast Region

The MEANS Procedure

Analysis Variable : Rainfall_mm
MeanMedian
420.0415.0

Rainfall Stats for South Region

The MEANS Procedure

Analysis Variable : Rainfall_mm
MeanMedian
217.5142.5

Rainfall Stats for West Region

The MEANS Procedure

Analysis Variable : Rainfall_mm
MeanMedian
362.0470.0

8. Additional Analytical Scenarios

a. Top 5 Cities in South India by Rainfall

title "Top 5 South Indian Cities by Rainfall";

proc sql;

    select City, Rainfall_mm

    from rainfall_data

    where Region = 'South'

    order by Rainfall_mm desc;

quit;

Output:

Top 5 South Indian Cities by Rainfall

CityRainfall_mm
Thiruvananthapuram600
Vijayawada180
Hyderabad145
Coimbatore140
Bengaluru130
Chennai110

b. Lowest Rainfall Across India

title "Cities with Least Rainfall";

proc sql outobs=5;

    select City, Rainfall_mm

    from rainfall_data

    order by Rainfall_mm asc;

quit;

Output:

Cities with Least Rainfall

CityRainfall_mm
Jaipur90
Chennai110
Bengaluru130
Coimbatore140
Hyderabad145




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





--->PLEASE FOLLOW OUR BLOG FOR MORE INFORMATION.
--->PLEASE DO COMMENTS AND SHARE OUR BLOG.

PLEASE FOLLOW OUR TELEGRAM CHANNEL CLICK HERE

PLEASE FOLLOW OUR FACEBOOK PAGE  CLICK HERE

PLEASE FOLLOW OUR INSTAGRAM PAGE CLICK HERE




Comments