Tuesday, 9 September 2025

284.GLOBAL DURGA TEMPLES ANALYSIS USING PROC FORMAT | PROC CONTENTS | PROC PRINT | PROC SORT | PROC FREQ | PROC MEANS | PROC SQL | PROC REPORT

GLOBAL DURGA TEMPLES ANALYSIS USING PROC FORMAT | PROC CONTENTS | PROC PRINT | PROC SORT | PROC FREQ | PROC MEANS | PROC SQL | PROC REPORT

/*Creating A Dataset Of Goddess Durga temples*/

1. Create dataset: durga_temples

options nocenter;

data durga_temples;

    infile datalines dsd truncover;

    length Temple_ID $8 Temple_Name $80 Country $40 City $40 Deity_Aspect $40 

           EstablishedYear 8 Annual_Visitors 8 Rating 8;

    input Temple_ID $ Temple_Name :$80. Country :$40. City :$40. Deity_Aspect :$40. 

          EstablishedYear Annual_Visitors Rating;

    format EstablishedYear 4. Annual_Visitors comma10. Rating 4.1;

    datalines;

T001,"Kali Bari Durga Mandir","India","Kolkata","Kali/Durga",1690,120000,4.6

T002,"Vaishno Devi (Durga shrine)","India","Katra","Maa Vaishno Devi (Durga form)",1830,850000,4.8

T003,"Durga Temple (Malaysia)","Malaysia","Penang","Maha Durga",1905,45000,4.1

T004,"Sri Durga Temple (Singapore)","Singapore","Singapore","Bhairavi:Durgā",1925,38000,4.2

T005,"Maa Durga Temple (UK)","United Kingdom","London","Chandi-Durga",2001,15000,4.0

T006,"Durga Mandir (USA)","United States","Newark","Ashta Durgā aspects",1975,22000,4.3

T007,"Chandi Devi Temple (Haridwar)","India","Haridwar","Chandi (Durga)",1929,200000,4.7

T008,"Shree Durga Temple (Nepal)","Nepal","Kathmandu","Parvati as Durga",1800,60000,4.4

T009,"Durga Bari (Mauritius)","Mauritius","Port Louis","Durga (navaratri focus)",1890,12000,4.0

T010,"Bhadrakali Temple (Kerala)","India","Thiruvananthapuram","Bhadrakali (Durga form)",1600,90000,4.5

T011,"Shree Amba Mandir (South Africa)","South Africa","Durban","Amba-Durga",1950,18000,4.1

T012,"Durga Temple (Bangladesh)","Bangladesh","Dhaka","Durga Puja focal",1910,400000,4.6

T013,"Durga Bhawan (Australia)","Australia","Melbourne","Mahishasura Mardini",1995,12000,4.2

T014,"Ambaji (Durga form) shrine","India","Gujarat","Ambaji/Durga",1172,300000,4.7

T015,"Maa Durgaparameshwari (Goa)","India","Ponda","Durgaparameshwari",1500,70000,4.3

;

run;

proc print;run;

Output:

ObsTemple_IDTemple_NameCountryCityDeity_AspectEstablishedYearAnnual_VisitorsRating
1T001Kali Bari Durga MandirIndiaKolkataKali/Durga1690120,0004.6
2T002Vaishno Devi (Durga shrine)IndiaKatraMaa Vaishno Devi (Durga form)1830850,0004.8
3T003Durga Temple (Malaysia)MalaysiaPenangMaha Durga190545,0004.1
4T004Sri Durga Temple (Singapore)SingaporeSingaporeBhairavi:Durgā192538,0004.2
5T005Maa Durga Temple (UK)United KingdomLondonChandi-Durga200115,0004.0
6T006Durga Mandir (USA)United StatesNewarkAshta Durgā aspects197522,0004.3
7T007Chandi Devi Temple (Haridwar)IndiaHaridwarChandi (Durga)1929200,0004.7
8T008Shree Durga Temple (Nepal)NepalKathmanduParvati as Durga180060,0004.4
9T009Durga Bari (Mauritius)MauritiusPort LouisDurga (navaratri focus)189012,0004.0
10T010Bhadrakali Temple (Kerala)IndiaThiruvananthapuramBhadrakali (Durga form)160090,0004.5
11T011Shree Amba Mandir (South Africa)South AfricaDurbanAmba-Durga195018,0004.1
12T012Durga Temple (Bangladesh)BangladeshDhakaDurga Puja focal1910400,0004.6
13T013Durga Bhawan (Australia)AustraliaMelbourneMahishasura Mardini199512,0004.2
14T014Ambaji (Durga form) shrineIndiaGujaratAmbaji/Durga1172300,0004.7
15T015Maa Durgaparameshwari (Goa)IndiaPondaDurgaparameshwari150070,0004.3


2. Create formats for Rating bands

proc format;

    value rband

        low - <4 = "Below Good"

        4 - <4.5 = "Good"

        4.5 - high = "Excellent";

run;

Log:

NOTE: Format RBAND has been output.

3. PROC CONTENTS & PRINT 

Purpose: Show dataset structure, variable attributes and order. 

proc contents data=durga_temples varnum;

run;

Output:

The CONTENTS Procedure

Data Set NameWORK.DURGA_TEMPLESObservations15
Member TypeDATAVariables8
EngineV9Indexes0
Created09/09/2025 17:21:38Observation Length232
Last Modified09/09/2025 17:21:38Deleted Observations0
Protection CompressedNO
Data Set Type SortedNO
Label   
Data RepresentationSOLARIS_X86_64, LINUX_X86_64, ALPHA_TRU64, LINUX_IA64  
Encodingutf-8 Unicode (UTF-8)  
Engine/Host Dependent Information
Data Set Page Size131072
Number of Data Set Pages1
First Data Page1
Max Obs per Page564
Obs in First Data Page15
Number of Data Set Repairs0
Filename/saswork/SAS_workFA330001963F_odaws01-apse1-2.oda.sas.com/SAS_work2D220001963F_odaws01-apse1-2.oda.sas.com/durga_temples.sas7bdat
Release Created9.0401M8
Host CreatedLinux
Inode Number67137652
Access Permissionrw-r--r--
Owner Nameu63247146
File Size256KB
File Size (bytes)262144
Variables in Creation Order
#VariableTypeLenFormat
1Temple_IDChar8 
2Temple_NameChar80 
3CountryChar40 
4CityChar40 
5Deity_AspectChar40 
6EstablishedYearNum84.
7Annual_VisitorsNum8COMMA10.
8RatingNum84.1

Purpose: Display all observations for quick visual verification. 

proc print data=durga_temples noobs label;

    var Temple_ID Temple_Name Country City EstablishedYear Annual_Visitors Rating;

    label Temple_ID="ID" Temple_Name="Temple Name" EstablishedYear="Year Founded" Annual_Visitors="Annual Visitors" Rating="Avg Rating";

run;

Output:

IDTemple NameCountryCityYear FoundedAnnual VisitorsAvg Rating
T001Kali Bari Durga MandirIndiaKolkata1690120,0004.6
T002Vaishno Devi (Durga shrine)IndiaKatra1830850,0004.8
T003Durga Temple (Malaysia)MalaysiaPenang190545,0004.1
T004Sri Durga Temple (Singapore)SingaporeSingapore192538,0004.2
T005Maa Durga Temple (UK)United KingdomLondon200115,0004.0
T006Durga Mandir (USA)United StatesNewark197522,0004.3
T007Chandi Devi Temple (Haridwar)IndiaHaridwar1929200,0004.7
T008Shree Durga Temple (Nepal)NepalKathmandu180060,0004.4
T009Durga Bari (Mauritius)MauritiusPort Louis189012,0004.0
T010Bhadrakali Temple (Kerala)IndiaThiruvananthapuram160090,0004.5
T011Shree Amba Mandir (South Africa)South AfricaDurban195018,0004.1
T012Durga Temple (Bangladesh)BangladeshDhaka1910400,0004.6
T013Durga Bhawan (Australia)AustraliaMelbourne199512,0004.2
T014Ambaji (Durga form) shrineIndiaGujarat1172300,0004.7
T015Maa Durgaparameshwari (Goa)IndiaPonda150070,0004.3


4. PROC SORT by Country then Annual_Visitors 

Purpose: Sort dataset for grouped analyses and reporting. 

proc sort data=durga_temples out=durga_sorted;

    by Country descending Annual_Visitors;

run;

proc print;run;

Output:

ObsTemple_IDTemple_NameCountryCityDeity_AspectEstablishedYearAnnual_VisitorsRating
1T013Durga Bhawan (Australia)AustraliaMelbourneMahishasura Mardini199512,0004.2
2T012Durga Temple (Bangladesh)BangladeshDhakaDurga Puja focal1910400,0004.6
3T002Vaishno Devi (Durga shrine)IndiaKatraMaa Vaishno Devi (Durga form)1830850,0004.8
4T014Ambaji (Durga form) shrineIndiaGujaratAmbaji/Durga1172300,0004.7
5T007Chandi Devi Temple (Haridwar)IndiaHaridwarChandi (Durga)1929200,0004.7
6T001Kali Bari Durga MandirIndiaKolkataKali/Durga1690120,0004.6
7T010Bhadrakali Temple (Kerala)IndiaThiruvananthapuramBhadrakali (Durga form)160090,0004.5
8T015Maa Durgaparameshwari (Goa)IndiaPondaDurgaparameshwari150070,0004.3
9T003Durga Temple (Malaysia)MalaysiaPenangMaha Durga190545,0004.1
10T009Durga Bari (Mauritius)MauritiusPort LouisDurga (navaratri focus)189012,0004.0
11T008Shree Durga Temple (Nepal)NepalKathmanduParvati as Durga180060,0004.4
12T004Sri Durga Temple (Singapore)SingaporeSingaporeBhairavi:Durgā192538,0004.2
13T011Shree Amba Mandir (South Africa)South AfricaDurbanAmba-Durga195018,0004.1
14T005Maa Durga Temple (UK)United KingdomLondonChandi-Durga200115,0004.0
15T006Durga Mandir (USA)United StatesNewarkAshta Durgā aspects197522,0004.3


5. PROC FREQ on Country and Deity_Aspect 

Purpose: Count temples by Country and by Deity_Aspect for categorical summary. 

proc freq data=durga_temples;

    tables Country Deity_Aspect / nocum nopercent;

run;

Output:

The FREQ Procedure

CountryFrequency
Australia1
Bangladesh1
India6
Malaysia1
Mauritius1
Nepal1
Singapore1
South Africa1
United Kingdom1
United States1
Deity_AspectFrequency
Amba-Durga1
Ambaji/Durga1
Ashta Durgā aspects1
Bhadrakali (Durga form)1
Bhairavi:Durgā1
Chandi (Durga)1
Chandi-Durga1
Durga (navaratri focus)1
Durga Puja focal1
Durgaparameshwari1
Kali/Durga1
Maa Vaishno Devi (Durga form)1
Maha Durga1
Mahishasura Mardini1
Parvati as Durga1

6. PROC MEANS for numeric summaries 

Purpose: Provide descriptive statistics for numeric variables. 

proc means data=durga_temples n mean std min max maxdec=0;

    var EstablishedYear Annual_Visitors Rating;

run;

Output:

The MEANS Procedure

VariableNMeanStd DevMinimumMaximum
EstablishedYear
Annual_Visitors
Rating
15
15
15
1805
150133
4
229
225228
0
1172
12000
4
2001
850000
5

7. PROC SQL: Create aggregated summary by Country

Purpose: Aggregate temple counts and visitor/rating summaries by country. 

proc sql;

    create table country_summary as

    select Country,

           count(*) as Num_Temples,

           mean(Annual_Visitors) as Avg_Visitors format=comma10.,

           median(Rating) as Median_Rating format=4.2,

           min(EstablishedYear) as Oldest_Year,

           max(EstablishedYear) as Newest_Year

    from durga_temples

    group by Country

    order by Num_Temples desc;

quit;

proc print;run;

Output:

ObsCountryNum_TemplesAvg_VisitorsMedian_RatingOldest_YearNewest_Year
1India6271,6674.6511721929
2Nepal160,0004.4018001800
3United States122,0004.3019751975
4Singapore138,0004.2019251925
5United Kingdom115,0004.0020012001
6Mauritius112,0004.0018901890
7Australia112,0004.2019951995
8Bangladesh1400,0004.6019101910
9Malaysia145,0004.1019051905
10South Africa118,0004.1019501950


8. PROC REPORT: formatted table using format created

Purpose: Create printable, columnar report and add computed rating band. 

data durga_temples_fix;

  set durga_temples;

  Rating_num = input(Rating, best12.);   /* Convert char → numeric */

run;

proc report data=durga_temples_fix nowd;

  columns Temple_ID Temple_Name Country City EstablishedYear Annual_Visitors

          Rating_num Rating_Band;

  define Rating_num / display "Rating";

  define Rating_Band / computed "Rating Band";

  compute Rating_Band / char length=12;

    if missing(Rating_num) then Rating_Band = 'Unknown';

    else Rating_Band = put(Rating_num, rband.);

  endcomp;

run;

Output:

Temple_IDTemple_NameCountryCityEstablishedYearAnnual_VisitorsRatingRating Band
T001Kali Bari Durga MandirIndiaKolkata1690120,0004.6Excellent
T002Vaishno Devi (Durga shrine)IndiaKatra1830850,0004.8Excellent
T003Durga Temple (Malaysia)MalaysiaPenang190545,0004.1Good
T004Sri Durga Temple (Singapore)SingaporeSingapore192538,0004.2Good
T005Maa Durga Temple (UK)United KingdomLondon200115,0004Good
T006Durga Mandir (USA)United StatesNewark197522,0004.3Good
T007Chandi Devi Temple (Haridwar)IndiaHaridwar1929200,0004.7Excellent
T008Shree Durga Temple (Nepal)NepalKathmandu180060,0004.4Good
T009Durga Bari (Mauritius)MauritiusPort Louis189012,0004Good
T010Bhadrakali Temple (Kerala)IndiaThiruvananthapuram160090,0004.5Excellent
T011Shree Amba Mandir (South Africa)South AfricaDurban195018,0004.1Good
T012Durga Temple (Bangladesh)BangladeshDhaka1910400,0004.6Excellent
T013Durga Bhawan (Australia)AustraliaMelbourne199512,0004.2Good
T014Ambaji (Durga form) shrineIndiaGujarat1172300,0004.7Excellent
T015Maa Durgaparameshwari (Goa)IndiaPonda150070,0004.3Good


9. MACRO: create country-specific datasets and basic stats

Purpose: Quickly create per-country datasets and run basic summaries. 

%macro country_report(country=);

    %let dsname = durga_%sysfunc(translate(&country, _, %str( )));

    proc sql noprint;

        create table &dsname as

        select * from durga_temples

        where upcase(country) = upcase("&country");

    quit;

    proc means data=&dsname n mean std min max maxdec=0;

        var Annual_Visitors Rating;

    run;

    proc print data=&dsname noobs;

        title "Temple listing for &country";

    run;

%mend country_report;


%country_report(country=India);

Output:

The MEANS Procedure

VariableNMeanStd DevMinimumMaximum
Annual_Visitors
Rating
6
6
271667
5
295663
0
70000
4
850000
5

Temple listing for India

Temple_IDTemple_NameCountryCityDeity_AspectEstablishedYearAnnual_VisitorsRating
T001Kali Bari Durga MandirIndiaKolkataKali/Durga1690120,0004.6
T002Vaishno Devi (Durga shrine)IndiaKatraMaa Vaishno Devi (Durga form)1830850,0004.8
T007Chandi Devi Temple (Haridwar)IndiaHaridwarChandi (Durga)1929200,0004.7
T010Bhadrakali Temple (Kerala)IndiaThiruvananthapuramBhadrakali (Durga form)160090,0004.5
T014Ambaji (Durga form) shrineIndiaGujaratAmbaji/Durga1172300,0004.7
T015Maa Durgaparameshwari (Goa)IndiaPondaDurgaparameshwari150070,0004.3

%country_report(country=United States);

Output:

The MEANS Procedure

VariableNMeanStd DevMinimumMaximum
Annual_Visitors
Rating
1
1
22000
4
.
.
22000
4
22000
4

Temple listing for United States

Temple_IDTemple_NameCountryCityDeity_AspectEstablishedYearAnnual_VisitorsRating
T006Durga Mandir (USA)United StatesNewarkAshta Durgā aspects197522,0004.3

10. MACRO: generate frequency report for Deity_Aspect

Purpose: Reusable macro to run Deity aspect frequency counts. 

%macro aspect_freq;

    proc freq data=durga_temples;

        tables Deity_Aspect / list nocum;

        title "Frequency of Deity Aspect (Durga forms)";

    run;

%mend aspect_freq;


%aspect_freq

Output:

Frequency of Deity Aspect (Durga forms)

The FREQ Procedure

Deity_AspectFrequencyPercent
Amba-Durga16.67
Ambaji/Durga16.67
Ashta Durgā aspects16.67
Bhadrakali (Durga form)16.67
Bhairavi:Durgā16.67
Chandi (Durga)16.67
Chandi-Durga16.67
Durga (navaratri focus)16.67
Durga Puja focal16.67
Durgaparameshwari16.67
Kali/Durga16.67
Maa Vaishno Devi (Durga form)16.67
Maha Durga16.67
Mahishasura Mardini16.67
Parvati as Durga16.67



To Visit My Previous Proc  Means And Nway Option:Click Here
To Visit My Previous Proc Means And CharType Option:Click Here
To Visit My Previous SAS Functions:Click Here
To Visit My Previous Length Statement Using In Many Ways:Click Here






Follow Us On : 


 


--- FOLLOW OUR BLOG FOR MORE INFORMATION.

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

No comments:

Post a Comment