257.MODELLING FUNCTION HALL BUSINESS DATA IN INDIA WITH PROC SQL | PROC FREQ | PROC SUMMARY | PROC FORMAT | PROC EXPORT | PROC CHART
- Get link
- X
- Other Apps
MODELLING FUNCTION HALL BUSINESS DATA IN INDIA WITH PROC SQL | PROC FREQ | PROC SUMMARY | PROC FORMAT | PROC EXPORT | PROC CHART
/*Creating Different Types Of Function Halls in India*/
Create formats for readability
proc format;
value $ynfmt 'Y'='Yes' 'N'='No';
value $halltype 'BAN'='Banquet'
'AUD'='Auditorium'
'LAWN'='Lawn'
'MARR'='Marriage Hall'
'COMM'='Community Hall';
run;
1) Create the main dataset of function halls
option nocenter;
data function_halls;
length Hall_ID 8 Name $50 City $20 State $20 HallType $5
Area_sqft 8 Price_per_day 8 Weekday_price 8 Weekend_price 8
Capacity 8 Parking_slots 8 AC $1 Indoor_Outdoor $8
Amenities $200 Owner $30 Contact $15 Booking_Policy $60
Avg_Catering_Cost_per_person 8 Rating 8 Nearby_Landmark $40
Availability $1;
infile datalines dsd dlm=',';
input Hall_ID
Name :$50.
City :$20.
State :$20.
HallType :$5.
Area_sqft
Price_per_day
Weekday_price
Weekend_price
Capacity
Parking_slots
AC :$1.
Indoor_Outdoor :$8.
Amenities :$200.
Owner :$30.
Contact :$15.
Booking_Policy :$60.
Avg_Catering_Cost_per_person
Rating
Nearby_Landmark :$40.;
format Price_per_day comma10.2
Weekday_price comma10.2
Weekend_price comma10.2
Area_sqft comma8.
Rating 4.1;
if Capacity >= 300 and Rating >= 4 then Availability = 'Y';
else Availability = 'N';
datalines;
1, The Grand Marigold, Hyderabad, Telangana, BAN, 6000, 150000, 120000, 180000, 500, 200, Y, Indoor, "Stage,Lighting,AC,Parking,Projector", Ramesh Kumar, 9848012345, "50% advance, refundable deposit", 800, 4.5, Necklace Road
2, Lotus Auditorium, Chennai, Tamil_Nadu, AUD, 4000, 90000, 80000, 110000, 350, 120, Y, Indoor, "PA System,Lighting,AC,Dressing Rooms", S. Meena, 9840012345, "Full payment on booking", 600, 4.2, Anna Salai
3, Green Meadows Lawn, Pune, Maharashtra, LAWN, 10000, 80000, 70000, 100000, 600, 300, N, Outdoor, "Garden,Outdoor Stage,Lighting,Parking", Priya Desai, 9822012345, "Tentative booking 10% advance", 700, 4.0, Near Pune Airport
4, Royal Pavilion, Jaipur, Rajasthan, MARR, 5000, 120000, 100000, 140000, 450, 150, Y, Indoor, "Banquet Hall,AC,Stage,Decor", Rajesh Singh, 9829012345, "Non-refundable deposit 30%", 900, 4.6, Hawa Mahal
5, Community Centre Hall A, Kolkata, West_Bengal, COMM, 2000, 35000, 30000, 40000, 200, 50, Y, Indoor, "Stage,Sound System", Anjali Bose, 9830012345, "Hourly booking allowed", 300, 3.8, Park Street
6, Sunset Banquets, Bengaluru, Karnataka, BAN, 7000, 140000, 115000, 160000, 550, 220, Y, Indoor, "AC,Parking,Lighting,Stage", Karthik Rao, 9845012345, "50% advance", 850, 4.4, Electronic City
7, Riverfront Lawn, Kochi, Kerala, LAWN, 12000, 100000, 85000, 125000, 700, 400, N, Outdoor, "Sea view,Open kitchen,Parking", Maria Thomas, 9847012345, "Weather backup required", 650, 4.1, Marine Drive
8, Shree Marriage Palace, Ahmedabad, Gujarat, MARR, 4500, 110000, 95000, 125000, 420, 140, Y, Indoor, "Stage,AC,Bridal Room", Vikram Patel, 9427012345, "Advance 40%", 750, 4.3, Gandhi Road
9, Elite Community Hall, Lucknow, Uttar_Pradesh, COMM, 2500, 45000, 38000, 50000, 230, 60, Y, Indoor, "Sound,Seating", Sameer Khan, 9456012345, "Refundable security deposit", 320, 3.9, Hazratganj
10, City Convention Centre, Delhi, Delhi, AUD, 9000, 230000, 200000, 260000, 900, 400, Y, Indoor, "Projector,Stage,AC,Simultaneous Interpretation", Aparna Gupta, 9810012345, "Corporate rates apply", 1200, 4.7, Connaught Place
11, Heritage Banquet, Varanasi, Uttar_Pradesh, BAN, 5500, 85000, 70000, 100000, 300, 100, Y, Indoor, "Decor,AC,Parking", Anand Verma, 9457012345, "Festival peak rates", 450, 4.0, Dashashwamedh Ghat
12, Palace Lawn, Udaipur, Rajasthan, LAWN, 15000, 200000, 170000, 230000, 1000, 500, N, Outdoor, "Lake view,Lighting,Stage", Meera Singh, 9823012345, "Peak season surcharge", 1200, 4.8, Lake Pichola
13, Metro Community Hall, Mumbai, Maharashtra, COMM, 3000, 70000, 60000, 80000, 280, 80, Y, Indoor, "Sound,Seating,AC", Raj Malhotra, 9930012345, "2 hour minimum", 500, 4.1, Bandra
14, Horizon Auditorium, Bhopal, Madhya_Pradesh, AUD, 4500, 60000, 50000, 70000, 320, 90, Y, Indoor, "AC,Projector,Sound", Sunita Sharma, 9750012345, "Weekday discounts", 450, 4.0, Upper Lake
15, Gardenia Banquet, Indore, Madhya_Pradesh, BAN, 6500, 95000, 80000, 110000, 480, 180, Y, Indoor, "AC,Parking,Dressing Rooms", Mohan Lal, 9890012345, "50% advance", 600, 4.2, Sarafa Bazaar
;
run;
proc print data=function_halls;
run;
Output:
Obs | Hall_ID | Name | City | State | HallType | Area_sqft | Price_per_day | Weekday_price | Weekend_price | Capacity | Parking_slots | AC | Indoor_Outdoor | Amenities | Owner | Contact | Booking_Policy | Avg_Catering_Cost_per_person | Rating | Nearby_Landmark | Availability |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | The Grand Marigold | Hyderabad | Telangana | BAN | 6,000 | 150,000.00 | 120,000.00 | 180,000.00 | 500 | 200 | Y | Indoor | Stage,Lighting,AC,Parking,Projector | Ramesh Kumar | 9848012345 | 50% advance, refundable deposit | 800 | 4.5 | Necklace Road | Y |
2 | 2 | Lotus Auditorium | Chennai | Tamil_Nadu | AUD | 4,000 | 90,000.00 | 80,000.00 | 110,000.00 | 350 | 120 | Y | Indoor | PA System,Lighting,AC,Dressing Rooms | S. Meena | 9840012345 | Full payment on booking | 600 | 4.2 | Anna Salai | Y |
3 | 3 | Green Meadows Lawn | Pune | Maharashtra | LAWN | 10,000 | 80,000.00 | 70,000.00 | 100,000.00 | 600 | 300 | N | Outdoor | Garden,Outdoor Stage,Lighting,Parking | Priya Desai | 9822012345 | Tentative booking 10% advance | 700 | 4.0 | Near Pune Airport | Y |
4 | 4 | Royal Pavilion | Jaipur | Rajasthan | MARR | 5,000 | 120,000.00 | 100,000.00 | 140,000.00 | 450 | 150 | Y | Indoor | Banquet Hall,AC,Stage,Decor | Rajesh Singh | 9829012345 | Non-refundable deposit 30% | 900 | 4.6 | Hawa Mahal | Y |
5 | 5 | Community Centre Hall A | Kolkata | West_Bengal | COMM | 2,000 | 35,000.00 | 30,000.00 | 40,000.00 | 200 | 50 | Y | Indoor | Stage,Sound System | Anjali Bose | 9830012345 | Hourly booking allowed | 300 | 3.8 | Park Street | N |
6 | 6 | Sunset Banquets | Bengaluru | Karnataka | BAN | 7,000 | 140,000.00 | 115,000.00 | 160,000.00 | 550 | 220 | Y | Indoor | AC,Parking,Lighting,Stage | Karthik Rao | 9845012345 | 50% advance | 850 | 4.4 | Electronic City | Y |
7 | 7 | Riverfront Lawn | Kochi | Kerala | LAWN | 12,000 | 100,000.00 | 85,000.00 | 125,000.00 | 700 | 400 | N | Outdoor | Sea view,Open kitchen,Parking | Maria Thomas | 9847012345 | Weather backup required | 650 | 4.1 | Marine Drive | Y |
8 | 8 | Shree Marriage Palace | Ahmedabad | Gujarat | MARR | 4,500 | 110,000.00 | 95,000.00 | 125,000.00 | 420 | 140 | Y | Indoor | Stage,AC,Bridal Room | Vikram Patel | 9427012345 | Advance 40% | 750 | 4.3 | Gandhi Road | Y |
9 | 9 | Elite Community Hall | Lucknow | Uttar_Pradesh | COMM | 2,500 | 45,000.00 | 38,000.00 | 50,000.00 | 230 | 60 | Y | Indoor | Sound,Seating | Sameer Khan | 9456012345 | Refundable security deposit | 320 | 3.9 | Hazratganj | N |
10 | 10 | City Convention Centre | Delhi | Delhi | AUD | 9,000 | 230,000.00 | 200,000.00 | 260,000.00 | 900 | 400 | Y | Indoor | Projector,Stage,AC,Simultaneous Interpretation | Aparna Gupta | 9810012345 | Corporate rates apply | 1200 | 4.7 | Connaught Place | Y |
11 | 11 | Heritage Banquet | Varanasi | Uttar_Pradesh | BAN | 5,500 | 85,000.00 | 70,000.00 | 100,000.00 | 300 | 100 | Y | Indoor | Decor,AC,Parking | Anand Verma | 9457012345 | Festival peak rates | 450 | 4.0 | Dashashwamedh Ghat | Y |
12 | 12 | Palace Lawn | Udaipur | Rajasthan | LAWN | 15,000 | 200,000.00 | 170,000.00 | 230,000.00 | 1000 | 500 | N | Outdoor | Lake view,Lighting,Stage | Meera Singh | 9823012345 | Peak season surcharge | 1200 | 4.8 | Lake Pichola | Y |
13 | 13 | Metro Community Hall | Mumbai | Maharashtra | COMM | 3,000 | 70,000.00 | 60,000.00 | 80,000.00 | 280 | 80 | Y | Indoor | Sound,Seating,AC | Raj Malhotra | 9930012345 | 2 hour minimum | 500 | 4.1 | Bandra | N |
14 | 14 | Horizon Auditorium | Bhopal | Madhya_Pradesh | AUD | 4,500 | 60,000.00 | 50,000.00 | 70,000.00 | 320 | 90 | Y | Indoor | AC,Projector,Sound | Sunita Sharma | 9750012345 | Weekday discounts | 450 | 4.0 | Upper Lake | Y |
15 | 15 | Gardenia Banquet | Indore | Madhya_Pradesh | BAN | 6,500 | 95,000.00 | 80,000.00 | 110,000.00 | 480 | 180 | Y | Indoor | AC,Parking,Dressing Rooms | Mohan Lal | 9890012345 | 50% advance | 600 | 4.2 | Sarafa Bazaar | Y |
2) PROC CONTENTS - purpose: show dataset structure and variable attributes
proc contents data=function_halls varnum;
run;
Output:
The CONTENTS Procedure
Data Set Name | WORK.FUNCTION_HALLS | Observations | 15 |
---|---|---|---|
Member Type | DATA | Variables | 21 |
Engine | V9 | Indexes | 0 |
Created | 08/10/2025 18:42:42 | Observation Length | 528 |
Last Modified | 08/10/2025 18:42:42 | Deleted Observations | 0 |
Protection | Compressed | NO | |
Data Set Type | Sorted | NO | |
Label | |||
Data Representation | SOLARIS_X86_64, LINUX_X86_64, ALPHA_TRU64, LINUX_IA64 | ||
Encoding | utf-8 Unicode (UTF-8) |
Engine/Host Dependent Information | |
---|---|
Data Set Page Size | 131072 |
Number of Data Set Pages | 1 |
First Data Page | 1 |
Max Obs per Page | 248 |
Obs in First Data Page | 15 |
Number of Data Set Repairs | 0 |
Filename | /saswork/SAS_work97F10000B31F_odaws02-apse1-2.oda.sas.com/SAS_workCF1B0000B31F_odaws02-apse1-2.oda.sas.com/function_halls.sas7bdat |
Release Created | 9.0401M8 |
Host Created | Linux |
Inode Number | 134331195 |
Access Permission | rw-r--r-- |
Owner Name | u63247146 |
File Size | 256KB |
File Size (bytes) | 262144 |
Variables in Creation Order | ||||
---|---|---|---|---|
# | Variable | Type | Len | Format |
1 | Hall_ID | Num | 8 | |
2 | Name | Char | 50 | |
3 | City | Char | 20 | |
4 | State | Char | 20 | |
5 | HallType | Char | 5 | |
6 | Area_sqft | Num | 8 | COMMA8. |
7 | Price_per_day | Num | 8 | COMMA10.2 |
8 | Weekday_price | Num | 8 | COMMA10.2 |
9 | Weekend_price | Num | 8 | COMMA10.2 |
10 | Capacity | Num | 8 | |
11 | Parking_slots | Num | 8 | |
12 | AC | Char | 1 | |
13 | Indoor_Outdoor | Char | 8 | |
14 | Amenities | Char | 200 | |
15 | Owner | Char | 30 | |
16 | Contact | Char | 15 | |
17 | Booking_Policy | Char | 60 | |
18 | Avg_Catering_Cost_per_person | Num | 8 | |
19 | Rating | Num | 8 | 4.1 |
20 | Nearby_Landmark | Char | 40 | |
21 | Availability | Char | 1 |
3) PROC PRINT - small sample
proc print data=function_halls (obs=8);
title "Sample of Function Halls (first 8 obs)";
var Hall_ID Name City State HallType Capacity Area_sqft Price_per_day Rating Availability;
run;
Output:
Sample of Function Halls (first 8 obs)
Obs | Hall_ID | Name | City | State | HallType | Capacity | Area_sqft | Price_per_day | Rating | Availability |
---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | The Grand Marigold | Hyderabad | Telangana | BAN | 500 | 6,000 | 150,000.00 | 4.5 | Y |
2 | 2 | Lotus Auditorium | Chennai | Tamil_Nadu | AUD | 350 | 4,000 | 90,000.00 | 4.2 | Y |
3 | 3 | Green Meadows Lawn | Pune | Maharashtra | LAWN | 600 | 10,000 | 80,000.00 | 4.0 | Y |
4 | 4 | Royal Pavilion | Jaipur | Rajasthan | MARR | 450 | 5,000 | 120,000.00 | 4.6 | Y |
5 | 5 | Community Centre Hall A | Kolkata | West_Bengal | COMM | 200 | 2,000 | 35,000.00 | 3.8 | N |
6 | 6 | Sunset Banquets | Bengaluru | Karnataka | BAN | 550 | 7,000 | 140,000.00 | 4.4 | Y |
7 | 7 | Riverfront Lawn | Kochi | Kerala | LAWN | 700 | 12,000 | 100,000.00 | 4.1 | Y |
8 | 8 | Shree Marriage Palace | Ahmedabad | Gujarat | MARR | 420 | 4,500 | 110,000.00 | 4.3 | Y |
4) PROC FREQ - purpose: frequency distributions
proc freq data=function_halls;
tables HallType City State Indoor_Outdoor Availability;
run;
Output:
The FREQ Procedure
HallType | Frequency | Percent | Cumulative Frequency | Cumulative Percent |
---|---|---|---|---|
AUD | 3 | 20.00 | 3 | 20.00 |
BAN | 4 | 26.67 | 7 | 46.67 |
COMM | 3 | 20.00 | 10 | 66.67 |
LAWN | 3 | 20.00 | 13 | 86.67 |
MARR | 2 | 13.33 | 15 | 100.00 |
City | Frequency | Percent | Cumulative Frequency | Cumulative Percent |
---|---|---|---|---|
Ahmedabad | 1 | 6.67 | 1 | 6.67 |
Bengaluru | 1 | 6.67 | 2 | 13.33 |
Bhopal | 1 | 6.67 | 3 | 20.00 |
Chennai | 1 | 6.67 | 4 | 26.67 |
Delhi | 1 | 6.67 | 5 | 33.33 |
Hyderabad | 1 | 6.67 | 6 | 40.00 |
Indore | 1 | 6.67 | 7 | 46.67 |
Jaipur | 1 | 6.67 | 8 | 53.33 |
Kochi | 1 | 6.67 | 9 | 60.00 |
Kolkata | 1 | 6.67 | 10 | 66.67 |
Lucknow | 1 | 6.67 | 11 | 73.33 |
Mumbai | 1 | 6.67 | 12 | 80.00 |
Pune | 1 | 6.67 | 13 | 86.67 |
Udaipur | 1 | 6.67 | 14 | 93.33 |
Varanasi | 1 | 6.67 | 15 | 100.00 |
State | Frequency | Percent | Cumulative Frequency | Cumulative Percent |
---|---|---|---|---|
Delhi | 1 | 6.67 | 1 | 6.67 |
Gujarat | 1 | 6.67 | 2 | 13.33 |
Karnataka | 1 | 6.67 | 3 | 20.00 |
Kerala | 1 | 6.67 | 4 | 26.67 |
Madhya_Pradesh | 2 | 13.33 | 6 | 40.00 |
Maharashtra | 2 | 13.33 | 8 | 53.33 |
Rajasthan | 2 | 13.33 | 10 | 66.67 |
Tamil_Nadu | 1 | 6.67 | 11 | 73.33 |
Telangana | 1 | 6.67 | 12 | 80.00 |
Uttar_Pradesh | 2 | 13.33 | 14 | 93.33 |
West_Bengal | 1 | 6.67 | 15 | 100.00 |
Indoor_Outdoor | Frequency | Percent | Cumulative Frequency | Cumulative Percent |
---|---|---|---|---|
Indoor | 12 | 80.00 | 12 | 80.00 |
Outdoor | 3 | 20.00 | 15 | 100.00 |
Availability | Frequency | Percent | Cumulative Frequency | Cumulative Percent |
---|---|---|---|---|
N | 3 | 20.00 | 3 | 20.00 |
Y | 12 | 80.00 | 15 | 100.00 |
5) PROC MEANS - purpose: numeric summaries (mean, min, max)
proc means data=function_halls n mean median min max stddec maxdec=2;
var Price_per_day Weekday_price Weekend_price Capacity Area_sqft Rating Avg_Catering_Cost_per_person;
run;
Output:
The MEANS Procedure
Variable | N | Mean | Median | Minimum | Maximum | Std Dev |
---|---|---|---|---|---|---|
Price_per_day Weekday_price Weekend_price Capacity Area_sqft Rating Avg_Catering_Cost_per_person | 15 15 15 15 15 15 15 | 107333.33 90866.67 125333.33 485.33 6433.33 4.24 684.67 | 95000.00 80000.00 110000.00 450.00 5500.00 4.20 650.00 | 35000.00 30000.00 40000.00 200.00 2000.00 3.80 300.00 | 230000.00 200000.00 260000.00 1000.00 15000.00 4.80 1200.00 | 54243.72 46266.10 61715.55 235.25 3658.97 0.30 275.60 |
6) PROC SQL - purpose: aggregated summaries and views (SQL style)
Create aggregated summary by State
proc sql;
create table state_summary as
select State,
count(*) as Num_Halls,
avg(Price_per_day) format=comma10.2 as Avg_Price,
avg(Rating) format=4.2 as Avg_Rating,
sum(Capacity) as Total_Capacity
from function_halls
group by State
order by Avg_Price desc;
quit;
proc print data=state_summary;
run;
Output:
Obs | State | Num_Halls | Avg_Price | Avg_Rating | Total_Capacity |
---|---|---|---|---|---|
1 | Delhi | 1 | 230,000.00 | 4.70 | 900 |
2 | Rajasthan | 2 | 160,000.00 | 4.70 | 1450 |
3 | Telangana | 1 | 150,000.00 | 4.50 | 500 |
4 | Karnataka | 1 | 140,000.00 | 4.40 | 550 |
5 | Gujarat | 1 | 110,000.00 | 4.30 | 420 |
6 | Kerala | 1 | 100,000.00 | 4.10 | 700 |
7 | Tamil_Nadu | 1 | 90,000.00 | 4.20 | 350 |
8 | Madhya_Pradesh | 2 | 77,500.00 | 4.10 | 800 |
9 | Maharashtra | 2 | 75,000.00 | 4.05 | 880 |
10 | Uttar_Pradesh | 2 | 65,000.00 | 3.95 | 530 |
11 | West_Bengal | 1 | 35,000.00 | 3.80 | 200 |
7) PROC SORT - purpose: sort dataset for reporting
proc sort data=function_halls out=fh_sorted;
by descending Price_per_day;
run;
proc print data=fh_sorted;
run;
Output:
Obs | Hall_ID | Name | City | State | HallType | Area_sqft | Price_per_day | Weekday_price | Weekend_price | Capacity | Parking_slots | AC | Indoor_Outdoor | Amenities | Owner | Contact | Booking_Policy | Avg_Catering_Cost_per_person | Rating | Nearby_Landmark | Availability |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 10 | City Convention Centre | Delhi | Delhi | AUD | 9,000 | 230,000.00 | 200,000.00 | 260,000.00 | 900 | 400 | Y | Indoor | Projector,Stage,AC,Simultaneous Interpretation | Aparna Gupta | 9810012345 | Corporate rates apply | 1200 | 4.7 | Connaught Place | Y |
2 | 12 | Palace Lawn | Udaipur | Rajasthan | LAWN | 15,000 | 200,000.00 | 170,000.00 | 230,000.00 | 1000 | 500 | N | Outdoor | Lake view,Lighting,Stage | Meera Singh | 9823012345 | Peak season surcharge | 1200 | 4.8 | Lake Pichola | Y |
3 | 1 | The Grand Marigold | Hyderabad | Telangana | BAN | 6,000 | 150,000.00 | 120,000.00 | 180,000.00 | 500 | 200 | Y | Indoor | Stage,Lighting,AC,Parking,Projector | Ramesh Kumar | 9848012345 | 50% advance, refundable deposit | 800 | 4.5 | Necklace Road | Y |
4 | 6 | Sunset Banquets | Bengaluru | Karnataka | BAN | 7,000 | 140,000.00 | 115,000.00 | 160,000.00 | 550 | 220 | Y | Indoor | AC,Parking,Lighting,Stage | Karthik Rao | 9845012345 | 50% advance | 850 | 4.4 | Electronic City | Y |
5 | 4 | Royal Pavilion | Jaipur | Rajasthan | MARR | 5,000 | 120,000.00 | 100,000.00 | 140,000.00 | 450 | 150 | Y | Indoor | Banquet Hall,AC,Stage,Decor | Rajesh Singh | 9829012345 | Non-refundable deposit 30% | 900 | 4.6 | Hawa Mahal | Y |
6 | 8 | Shree Marriage Palace | Ahmedabad | Gujarat | MARR | 4,500 | 110,000.00 | 95,000.00 | 125,000.00 | 420 | 140 | Y | Indoor | Stage,AC,Bridal Room | Vikram Patel | 9427012345 | Advance 40% | 750 | 4.3 | Gandhi Road | Y |
7 | 7 | Riverfront Lawn | Kochi | Kerala | LAWN | 12,000 | 100,000.00 | 85,000.00 | 125,000.00 | 700 | 400 | N | Outdoor | Sea view,Open kitchen,Parking | Maria Thomas | 9847012345 | Weather backup required | 650 | 4.1 | Marine Drive | Y |
8 | 15 | Gardenia Banquet | Indore | Madhya_Pradesh | BAN | 6,500 | 95,000.00 | 80,000.00 | 110,000.00 | 480 | 180 | Y | Indoor | AC,Parking,Dressing Rooms | Mohan Lal | 9890012345 | 50% advance | 600 | 4.2 | Sarafa Bazaar | Y |
9 | 2 | Lotus Auditorium | Chennai | Tamil_Nadu | AUD | 4,000 | 90,000.00 | 80,000.00 | 110,000.00 | 350 | 120 | Y | Indoor | PA System,Lighting,AC,Dressing Rooms | S. Meena | 9840012345 | Full payment on booking | 600 | 4.2 | Anna Salai | Y |
10 | 11 | Heritage Banquet | Varanasi | Uttar_Pradesh | BAN | 5,500 | 85,000.00 | 70,000.00 | 100,000.00 | 300 | 100 | Y | Indoor | Decor,AC,Parking | Anand Verma | 9457012345 | Festival peak rates | 450 | 4.0 | Dashashwamedh Ghat | Y |
11 | 3 | Green Meadows Lawn | Pune | Maharashtra | LAWN | 10,000 | 80,000.00 | 70,000.00 | 100,000.00 | 600 | 300 | N | Outdoor | Garden,Outdoor Stage,Lighting,Parking | Priya Desai | 9822012345 | Tentative booking 10% advance | 700 | 4.0 | Near Pune Airport | Y |
12 | 13 | Metro Community Hall | Mumbai | Maharashtra | COMM | 3,000 | 70,000.00 | 60,000.00 | 80,000.00 | 280 | 80 | Y | Indoor | Sound,Seating,AC | Raj Malhotra | 9930012345 | 2 hour minimum | 500 | 4.1 | Bandra | N |
13 | 14 | Horizon Auditorium | Bhopal | Madhya_Pradesh | AUD | 4,500 | 60,000.00 | 50,000.00 | 70,000.00 | 320 | 90 | Y | Indoor | AC,Projector,Sound | Sunita Sharma | 9750012345 | Weekday discounts | 450 | 4.0 | Upper Lake | Y |
14 | 9 | Elite Community Hall | Lucknow | Uttar_Pradesh | COMM | 2,500 | 45,000.00 | 38,000.00 | 50,000.00 | 230 | 60 | Y | Indoor | Sound,Seating | Sameer Khan | 9456012345 | Refundable security deposit | 320 | 3.9 | Hazratganj | N |
15 | 5 | Community Centre Hall A | Kolkata | West_Bengal | COMM | 2,000 | 35,000.00 | 30,000.00 | 40,000.00 | 200 | 50 | Y | Indoor | Stage,Sound System | Anjali Bose | 9830012345 | Hourly booking allowed | 300 | 3.8 | Park Street | N |
8) PROC REPORT - purpose: create formatted report table
proc report data=state_summary nowd;
columns State Num_Halls Avg_Price Avg_Rating Total_Capacity;
define State / group;
define Avg_Price / analysis format=comma10.2;
title "Function Halls - Summary by State";
run;
Output:
Function Halls - Summary by State
State | Num_Halls | Avg_Price | Avg_Rating | Total_Capacity |
---|---|---|---|---|
Delhi | 1 | 230,000.00 | 4.70 | 900 |
Gujarat | 1 | 110,000.00 | 4.30 | 420 |
Karnataka | 1 | 140,000.00 | 4.40 | 550 |
Kerala | 1 | 100,000.00 | 4.10 | 700 |
Madhya_Pradesh | 2 | 77,500.00 | 4.10 | 800 |
Maharashtra | 2 | 75,000.00 | 4.05 | 880 |
Rajasthan | 2 | 160,000.00 | 4.70 | 1450 |
Tamil_Nadu | 1 | 90,000.00 | 4.20 | 350 |
Telangana | 1 | 150,000.00 | 4.50 | 500 |
Uttar_Pradesh | 2 | 65,000.00 | 3.95 | 530 |
West_Bengal | 1 | 35,000.00 | 3.80 | 200 |
9) PROC TRANSPOSE - purpose: pivot HallType counts to columns (wide)
proc freq data=function_halls noprint;
tables State*HallType / out=state_type_counts;
run;
proc sort data=state_type_counts; by State HallType; run;
proc transpose data=state_type_counts out=state_type_wide prefix=Type_;
by State;
id HallType;
var Count;
run;
proc print data=state_type_wide;
run;
Output:
Obs | State | _NAME_ | _LABEL_ | Type_AUD | Type_MARR | Type_BAN | Type_LAWN | Type_COMM |
---|---|---|---|---|---|---|---|---|
1 | Delhi | COUNT | Frequency Count | 1 | . | . | . | . |
2 | Gujarat | COUNT | Frequency Count | . | 1 | . | . | . |
3 | Karnataka | COUNT | Frequency Count | . | . | 1 | . | . |
4 | Kerala | COUNT | Frequency Count | . | . | . | 1 | . |
5 | Madhya_Pradesh | COUNT | Frequency Count | 1 | . | 1 | . | . |
6 | Maharashtra | COUNT | Frequency Count | . | . | . | 1 | 1 |
7 | Rajasthan | COUNT | Frequency Count | . | 1 | . | 1 | . |
8 | Tamil_Nadu | COUNT | Frequency Count | 1 | . | . | . | . |
9 | Telangana | COUNT | Frequency Count | . | . | 1 | . | . |
10 | Uttar_Pradesh | COUNT | Frequency Count | . | . | 1 | . | 1 |
11 | West_Bengal | COUNT | Frequency Count | . | . | . | . | 1 |
10) Create an Owners dataset and demonstrate a join using PROC SQL - purpose: joins
data owners;
infile datalines dlm=',' dsd;
length Owner $30 Contact $15 Hall_ID 8;
input Owner Contact Hall_ID;
datalines;
Ramesh Kumar,9848012345,1
S. Meena,9840012345,2
Priya Desai,9822012345,3
Rajesh Singh,9829012345,4
Anjali Bose,9830012345,5
Karthik Rao,9845012345,6
Maria Thomas,9847012345,7
Vikram Patel,9427012345,8
Sameer Khan,9456012345,9
Aparna Gupta,9810012345,10
;
run;
proc print;run;
Output:
Obs | Owner | Contact | Hall_ID |
---|---|---|---|
1 | Ramesh Kumar | 9848012345 | 1 |
2 | S. Meena | 9840012345 | 2 |
3 | Priya Desai | 9822012345 | 3 |
4 | Rajesh Singh | 9829012345 | 4 |
5 | Anjali Bose | 9830012345 | 5 |
6 | Karthik Rao | 9845012345 | 6 |
7 | Maria Thomas | 9847012345 | 7 |
8 | Vikram Patel | 9427012345 | 8 |
9 | Sameer Khan | 9456012345 | 9 |
10 | Aparna Gupta | 9810012345 | 10 |
proc sql;
create table halls_with_owners as
select a.Hall_ID, a.Name, a.City, a.State, a.Price_per_day, b.Owner, b.Contact
from function_halls as a left join owners as b
on a.Hall_ID = b.Hall_ID;
quit;
proc print data=halls_with_owners;
run;
Output:
Obs | Hall_ID | Name | City | State | Price_per_day | Owner | Contact |
---|---|---|---|---|---|---|---|
1 | 1 | The Grand Marigold | Hyderabad | Telangana | 150,000.00 | Ramesh Kumar | 9848012345 |
2 | 2 | Lotus Auditorium | Chennai | Tamil_Nadu | 90,000.00 | S. Meena | 9840012345 |
3 | 3 | Green Meadows Lawn | Pune | Maharashtra | 80,000.00 | Priya Desai | 9822012345 |
4 | 4 | Royal Pavilion | Jaipur | Rajasthan | 120,000.00 | Rajesh Singh | 9829012345 |
5 | 5 | Community Centre Hall A | Kolkata | West_Bengal | 35,000.00 | Anjali Bose | 9830012345 |
6 | 6 | Sunset Banquets | Bengaluru | Karnataka | 140,000.00 | Karthik Rao | 9845012345 |
7 | 7 | Riverfront Lawn | Kochi | Kerala | 100,000.00 | Maria Thomas | 9847012345 |
8 | 8 | Shree Marriage Palace | Ahmedabad | Gujarat | 110,000.00 | Vikram Patel | 9427012345 |
9 | 9 | Elite Community Hall | Lucknow | Uttar_Pradesh | 45,000.00 | Sameer Khan | 9456012345 |
10 | 10 | City Convention Centre | Delhi | Delhi | 230,000.00 | Aparna Gupta | 9810012345 |
11 | 11 | Heritage Banquet | Varanasi | Uttar_Pradesh | 85,000.00 | ||
12 | 12 | Palace Lawn | Udaipur | Rajasthan | 200,000.00 | ||
13 | 13 | Metro Community Hall | Mumbai | Maharashtra | 70,000.00 | ||
14 | 14 | Horizon Auditorium | Bhopal | Madhya_Pradesh | 60,000.00 | ||
15 | 15 | Gardenia Banquet | Indore | Madhya_Pradesh | 95,000.00 |
11) Macro examples
Macro purpose: city-specific report generator
%macro CityReport(city=);
%put NOTE: Generating report for &city..;
proc sql;
create table city_&city._list as
select Hall_ID, Name, HallType, Capacity, Price_per_day, Rating, Availability
from function_halls
where upcase(City) = upcase("&city.")
order by Price_per_day desc;
quit;
proc print data=city_&city._list noobs;
title "Function Halls in &city.";
run;
%mend CityReport;
Macro purpose: adjust prices globally by percentage (e.g., percent=10 increases prices by 10%)
%macro AdjustPrice(percent=0);
%let factor = %sysevalf(1 + &percent./100);
data function_halls_price_adj;
set function_halls;
Price_per_day = round(Price_per_day * &factor, 1);
Weekday_price = round(Weekday_price * &factor, 1);
Weekend_price = round(Weekend_price * &factor, 1);
run;
proc means data=function_halls_price_adj mean min max;
var Price_per_day Weekday_price Weekend_price;
title "Prices adjusted by &percent.%";
run;
%mend AdjustPrice;
%CityReport(city=Hyderabad);
Output:
Function Halls in Hyderabad
Hall_ID | Name | HallType | Capacity | Price_per_day | Rating | Availability |
---|---|---|---|---|---|---|
1 | The Grand Marigold | BAN | 500 | 150,000.00 | 4.5 | Y |
%CityReport(city=Mumbai);
Output:
Function Halls in Mumbai
Hall_ID | Name | HallType | Capacity | Price_per_day | Rating | Availability |
---|---|---|---|---|---|---|
13 | Metro Community Hall | COMM | 280 | 70,000.00 | 4.1 | N |
%AdjustPrice(percent=5)
Output:
Prices adjusted by 5%
The MEANS Procedure
Variable | Mean | Minimum | Maximum |
---|---|---|---|
Price_per_day Weekday_price Weekend_price | 112700.00 95410.00 131600.00 | 36750.00 31500.00 42000.00 | 241500.00 210000.00 273000.00 |
- Get link
- X
- Other Apps
Comments
Post a Comment