SHOPPING MALLS IN HYDERABAD — DATA CREATION | PROC PRINT | PROC CONTENTS | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | PROC TABULATE | PROC REPORT | PROC TRANSPOSE | PROC FORMAT | PROC SGPLOT | MACROS
/*Creating a dataset of Hyderabad shopping malls*/
1. Create the dataset: Family of Shopping Malls in Hyderabad
options nocenter;
data malls_hyd;
length Mall_Name $30 Location $20 Type $20 Special_Feature $40;
input Mall_ID Mall_Name $ Location $ Year_Opened Area_sqft Stores Anchors
Parking_Capacity Type $ Special_Feature $;
datalines;
1 Inorbit HitechCity 2004 800000 200 5 2000 Luxury Waterfront_View
2 ForumSujana Kukatpally 2014 1200000 250 6 3000 Family Multiplex_9Screens
3 GVKOne BanjaraHills 2009 700000 150 4 1800 Premium IMAX_Theatre
4 CityCentre BanjaraHills 2006 600000 130 3 1500 Lifestyle Rooftop_Dining
5 SarathCity Gachibowli 2018 1900000 430 8 5000 Mega Largest_Mall
6 Manjeera Kukatpally 2013 900000 220 5 2500 Family FoodCourt_International
7 DSLVirtue Uppal 2015 450000 120 2 1200 Regional Budget_Shopping
8 NextGalleria Punjagutta 2017 650000 140 3 1600 Lifestyle Gaming_Zone
9 NextGalleria Erramanzil 2018 500000 110 2 1400 Lifestyle Multiplex_5Screens
10 NextGalleria Musarambagh 2019 550000 115 3 1500 Regional Affordable_Shopping
11 PVRIcon JubileeHills 2020 480000 100 2 1200 Premium Luxury_Cinema
12 GSMall Malakpet 2012 400000 90 1 900 Regional Community_Center
13 AsianMall LBnagar 2021 520000 105 3 1300 Family Multiplex_Experience
14 SouthIndiaMall KPHB 2010 600000 125 2 1500 Regional Traditional_Brand
15 CentralMall Panjagutta 2008 750000 160 3 1700 Lifestyle Fashion_Focus
;
run;
proc print;run;
Output:
| Obs | Mall_Name | Location | Type | Special_Feature | Mall_ID | Year_Opened | Area_sqft | Stores | Anchors | Parking_Capacity |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Inorbit | HitechCity | Luxury | Waterfront_View | 1 | 2004 | 800000 | 200 | 5 | 2000 |
| 2 | ForumSujana | Kukatpally | Family | Multiplex_9Screens | 2 | 2014 | 1200000 | 250 | 6 | 3000 |
| 3 | GVKOne | BanjaraHills | Premium | IMAX_Theatre | 3 | 2009 | 700000 | 150 | 4 | 1800 |
| 4 | CityCentre | BanjaraHills | Lifestyle | Rooftop_Dining | 4 | 2006 | 600000 | 130 | 3 | 1500 |
| 5 | SarathCity | Gachibowli | Mega | Largest_Mall | 5 | 2018 | 1900000 | 430 | 8 | 5000 |
| 6 | Manjeera | Kukatpally | Family | FoodCourt_International | 6 | 2013 | 900000 | 220 | 5 | 2500 |
| 7 | DSLVirtue | Uppal | Regional | Budget_Shopping | 7 | 2015 | 450000 | 120 | 2 | 1200 |
| 8 | NextGalleria | Punjagutta | Lifestyle | Gaming_Zone | 8 | 2017 | 650000 | 140 | 3 | 1600 |
| 9 | NextGalleria | Erramanzil | Lifestyle | Multiplex_5Screens | 9 | 2018 | 500000 | 110 | 2 | 1400 |
| 10 | NextGalleria | Musarambagh | Regional | Affordable_Shopping | 10 | 2019 | 550000 | 115 | 3 | 1500 |
| 11 | PVRIcon | JubileeHills | Premium | Luxury_Cinema | 11 | 2020 | 480000 | 100 | 2 | 1200 |
| 12 | GSMall | Malakpet | Regional | Community_Center | 12 | 2012 | 400000 | 90 | 1 | 900 |
| 13 | AsianMall | LBnagar | Family | Multiplex_Experience | 13 | 2021 | 520000 | 105 | 3 | 1300 |
| 14 | SouthIndiaMall | KPHB | Regional | Traditional_Brand | 14 | 2010 | 600000 | 125 | 2 | 1500 |
| 15 | CentralMall | Panjagutta | Lifestyle | Fashion_Focus | 15 | 2008 | 750000 | 160 | 3 | 1700 |
2. Display the dataset
proc print data=malls_hyd noobs;
title "List of Shopping Malls in Hyderabad";
run;
Output:
| Mall_Name | Location | Type | Special_Feature | Mall_ID | Year_Opened | Area_sqft | Stores | Anchors | Parking_Capacity |
|---|---|---|---|---|---|---|---|---|---|
| Inorbit | HitechCity | Luxury | Waterfront_View | 1 | 2004 | 800000 | 200 | 5 | 2000 |
| ForumSujana | Kukatpally | Family | Multiplex_9Screens | 2 | 2014 | 1200000 | 250 | 6 | 3000 |
| GVKOne | BanjaraHills | Premium | IMAX_Theatre | 3 | 2009 | 700000 | 150 | 4 | 1800 |
| CityCentre | BanjaraHills | Lifestyle | Rooftop_Dining | 4 | 2006 | 600000 | 130 | 3 | 1500 |
| SarathCity | Gachibowli | Mega | Largest_Mall | 5 | 2018 | 1900000 | 430 | 8 | 5000 |
| Manjeera | Kukatpally | Family | FoodCourt_International | 6 | 2013 | 900000 | 220 | 5 | 2500 |
| DSLVirtue | Uppal | Regional | Budget_Shopping | 7 | 2015 | 450000 | 120 | 2 | 1200 |
| NextGalleria | Punjagutta | Lifestyle | Gaming_Zone | 8 | 2017 | 650000 | 140 | 3 | 1600 |
| NextGalleria | Erramanzil | Lifestyle | Multiplex_5Screens | 9 | 2018 | 500000 | 110 | 2 | 1400 |
| NextGalleria | Musarambagh | Regional | Affordable_Shopping | 10 | 2019 | 550000 | 115 | 3 | 1500 |
| PVRIcon | JubileeHills | Premium | Luxury_Cinema | 11 | 2020 | 480000 | 100 | 2 | 1200 |
| GSMall | Malakpet | Regional | Community_Center | 12 | 2012 | 400000 | 90 | 1 | 900 |
| AsianMall | LBnagar | Family | Multiplex_Experience | 13 | 2021 | 520000 | 105 | 3 | 1300 |
| SouthIndiaMall | KPHB | Regional | Traditional_Brand | 14 | 2010 | 600000 | 125 | 2 | 1500 |
| CentralMall | Panjagutta | Lifestyle | Fashion_Focus | 15 | 2008 | 750000 | 160 | 3 | 1700 |
3. Dataset structure
proc contents data=malls_hyd;
title "Dataset Structure of Shopping Malls";
run;
Output:
The CONTENTS Procedure
| Data Set Name | WORK.MALLS_HYD | Observations | 15 |
|---|---|---|---|
| Member Type | DATA | Variables | 10 |
| Engine | V9 | Indexes | 0 |
| Created | 08/17/2025 17:48:49 | Observation Length | 160 |
| Last Modified | 08/17/2025 17:48:49 | 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 | 818 |
| Obs in First Data Page | 15 |
| Number of Data Set Repairs | 0 |
| Filename | /saswork/SAS_workFE8E0001E63E_odaws02-apse1-2.oda.sas.com/SAS_work235C0001E63E_odaws02-apse1-2.oda.sas.com/malls_hyd.sas7bdat |
| Release Created | 9.0401M8 |
| Host Created | Linux |
| Inode Number | 961173 |
| Access Permission | rw-r--r-- |
| Owner Name | u63247146 |
| File Size | 256KB |
| File Size (bytes) | 262144 |
| Alphabetic List of Variables and Attributes | |||
|---|---|---|---|
| # | Variable | Type | Len |
| 9 | Anchors | Num | 8 |
| 7 | Area_sqft | Num | 8 |
| 2 | Location | Char | 20 |
| 5 | Mall_ID | Num | 8 |
| 1 | Mall_Name | Char | 30 |
| 10 | Parking_Capacity | Num | 8 |
| 4 | Special_Feature | Char | 40 |
| 8 | Stores | Num | 8 |
| 3 | Type | Char | 20 |
| 6 | Year_Opened | Num | 8 |
4. Sort malls by Year_Opened
proc sort data=malls_hyd out=sorted_malls;
by Year_Opened;
run;
proc print data=sorted_malls;
title "Malls Sorted by Year Opened";
run;
Output:
| Obs | Mall_Name | Location | Type | Special_Feature | Mall_ID | Year_Opened | Area_sqft | Stores | Anchors | Parking_Capacity |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Inorbit | HitechCity | Luxury | Waterfront_View | 1 | 2004 | 800000 | 200 | 5 | 2000 |
| 2 | CityCentre | BanjaraHills | Lifestyle | Rooftop_Dining | 4 | 2006 | 600000 | 130 | 3 | 1500 |
| 3 | CentralMall | Panjagutta | Lifestyle | Fashion_Focus | 15 | 2008 | 750000 | 160 | 3 | 1700 |
| 4 | GVKOne | BanjaraHills | Premium | IMAX_Theatre | 3 | 2009 | 700000 | 150 | 4 | 1800 |
| 5 | SouthIndiaMall | KPHB | Regional | Traditional_Brand | 14 | 2010 | 600000 | 125 | 2 | 1500 |
| 6 | GSMall | Malakpet | Regional | Community_Center | 12 | 2012 | 400000 | 90 | 1 | 900 |
| 7 | Manjeera | Kukatpally | Family | FoodCourt_International | 6 | 2013 | 900000 | 220 | 5 | 2500 |
| 8 | ForumSujana | Kukatpally | Family | Multiplex_9Screens | 2 | 2014 | 1200000 | 250 | 6 | 3000 |
| 9 | DSLVirtue | Uppal | Regional | Budget_Shopping | 7 | 2015 | 450000 | 120 | 2 | 1200 |
| 10 | NextGalleria | Punjagutta | Lifestyle | Gaming_Zone | 8 | 2017 | 650000 | 140 | 3 | 1600 |
| 11 | SarathCity | Gachibowli | Mega | Largest_Mall | 5 | 2018 | 1900000 | 430 | 8 | 5000 |
| 12 | NextGalleria | Erramanzil | Lifestyle | Multiplex_5Screens | 9 | 2018 | 500000 | 110 | 2 | 1400 |
| 13 | NextGalleria | Musarambagh | Regional | Affordable_Shopping | 10 | 2019 | 550000 | 115 | 3 | 1500 |
| 14 | PVRIcon | JubileeHills | Premium | Luxury_Cinema | 11 | 2020 | 480000 | 100 | 2 | 1200 |
| 15 | AsianMall | LBnagar | Family | Multiplex_Experience | 13 | 2021 | 520000 | 105 | 3 | 1300 |
5. Descriptive statistics: Area, Stores, Parking
proc means data=malls_hyd mean min max std;
var Area_sqft Stores Parking_Capacity;
title "Descriptive Statistics of Hyderabad Malls";
run;
Output:
The MEANS Procedure
| Variable | Mean | Minimum | Maximum | Std Dev |
|---|---|---|---|---|
Area_sqft Stores Parking_Capacity | 733333.33 163.0000000 1873.33 | 400000.00 90.0000000 900.0000000 | 1900000.00 430.0000000 5000.00 | 382111.93 87.1533951 1013.81 |
6. Frequency of mall types
proc freq data=malls_hyd;
tables Type;
title "Frequency Distribution of Mall Types";
run;
Output:
The FREQ Procedure
| Type | Frequency | Percent | Cumulative Frequency | Cumulative Percent |
|---|---|---|---|---|
| Family | 3 | 20.00 | 3 | 20.00 |
| Lifestyle | 4 | 26.67 | 7 | 46.67 |
| Luxury | 1 | 6.67 | 8 | 53.33 |
| Mega | 1 | 6.67 | 9 | 60.00 |
| Premium | 2 | 13.33 | 11 | 73.33 |
| Regional | 4 | 26.67 | 15 | 100.00 |
7. Crosstab of Mall Type by Location
proc freq data=malls_hyd;
tables Location*Type;
title "Mall Type by Location Cross-tab";
run;
Output:
The FREQ Procedure
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
proc report data=malls_hyd nowd;
columns Mall_Name Location Type Stores Parking_Capacity;
define Mall_Name / display "Mall Name";
define Location / group;
define Type / group;
define Stores / analysis mean;
define Parking_Capacity / analysis mean;
title "Mall Summary Report by Location and Type";
run;
Output:
| Mall Name | Location | Type | Stores | Parking_Capacity |
|---|---|---|---|---|
| CityCentre | BanjaraHills | Lifestyle | 130 | 1500 |
| GVKOne | Premium | 150 | 1800 | |
| NextGalleria | Erramanzil | Lifestyle | 110 | 1400 |
| SarathCity | Gachibowli | Mega | 430 | 5000 |
| Inorbit | HitechCity | Luxury | 200 | 2000 |
| PVRIcon | JubileeHills | Premium | 100 | 1200 |
| SouthIndiaMall | KPHB | Regional | 125 | 1500 |
| ForumSujana | Kukatpally | Family | 250 | 3000 |
| Manjeera | 220 | 2500 | ||
| AsianMall | LBnagar | Family | 105 | 1300 |
| GSMall | Malakpet | Regional | 90 | 900 |
| NextGalleria | Musarambagh | Regional | 115 | 1500 |
| CentralMall | Panjagutta | Lifestyle | 160 | 1700 |
| NextGalleria | Punjagutta | Lifestyle | 140 | 1600 |
| DSLVirtue | Uppal | Regional | 120 | 1200 |
9. Tabulate mall characteristics
proc tabulate data=malls_hyd;
class Type Location;
var Area_sqft Stores;
table Type, Location*Stores*(mean min max);
title "Tabulated Statistics by Mall Type and Location";
run;
Output:
| Location | |||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BanjaraHills | Erramanzil | Gachibowli | HitechCity | JubileeHills | KPHB | Kukatpally | LBnagar | Malakpet | Musarambagh | Panjagutta | Punjagutta | Uppal | |||||||||||||||||||||||||||
| Stores | Stores | Stores | Stores | Stores | Stores | Stores | Stores | Stores | Stores | Stores | Stores | Stores | |||||||||||||||||||||||||||
| Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | Mean | Min | Max | |
| Type | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | 235.00 | 220.00 | 250.00 | 105.00 | 105.00 | 105.00 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
| Family | |||||||||||||||||||||||||||||||||||||||
| Lifestyle | 130.00 | 130.00 | 130.00 | 110.00 | 110.00 | 110.00 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | 160.00 | 160.00 | 160.00 | 140.00 | 140.00 | 140.00 | . | . | . |
| Luxury | . | . | . | . | . | . | . | . | . | 200.00 | 200.00 | 200.00 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
| Mega | . | . | . | . | . | . | 430.00 | 430.00 | 430.00 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
| Premium | 150.00 | 150.00 | 150.00 | . | . | . | . | . | . | . | . | . | 100.00 | 100.00 | 100.00 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
| Regional | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | 125.00 | 125.00 | 125.00 | . | . | . | . | . | . | 90.00 | 90.00 | 90.00 | 115.00 | 115.00 | 115.00 | . | . | . | . | . | . | 120.00 | 120.00 | 120.00 |
10. SQL: Select top 5 largest malls
proc sql outobs=5;
select Mall_Name, Area_sqft, Stores
from malls_hyd
order by Area_sqft desc;
quit;
Output:
| Mall_Name | Area_sqft | Stores |
|---|---|---|
| SarathCity | 1900000 | 430 |
| ForumSujana | 1200000 | 250 |
| Manjeera | 900000 | 220 |
| Inorbit | 800000 | 200 |
| CentralMall | 750000 | 160 |
11. SQL: Average parking by type
proc sql;
select Type, avg(Parking_Capacity) as Avg_Parking
from malls_hyd
group by Type;
quit;
Output:
| Type | Avg_Parking |
|---|---|
| Family | 2266.667 |
| Lifestyle | 1550 |
| Luxury | 2000 |
| Mega | 5000 |
| Premium | 1500 |
| Regional | 1275 |
12. SQL: Count malls opened after 2015
proc sql;
select count(*) as Recent_Malls
from malls_hyd
where Year_Opened > 2015;
quit;
Output:
| Recent_Malls |
|---|
| 6 |
13. Transpose: Malls and Stores
proc transpose data=malls_hyd out=trans_malls prefix=StoreCount_;
id Mall_Id;
var Stores;
run;
proc print data=trans_malls;
title "Transposed Dataset of Stores per Mall";
run;
Output:
| Obs | _NAME_ | StoreCount_1 | StoreCount_2 | StoreCount_3 | StoreCount_4 | StoreCount_5 | StoreCount_6 | StoreCount_7 | StoreCount_8 | StoreCount_9 | StoreCount_10 | StoreCount_11 | StoreCount_12 | StoreCount_13 | StoreCount_14 | StoreCount_15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Stores | 200 | 250 | 150 | 130 | 430 | 220 | 120 | 140 | 110 | 115 | 100 | 90 | 105 | 125 | 160 |
14. Format: Categorize malls by size
proc format;
value sizefmt
low -< 600000 = "Small"
600000 -< 1000000 = "Medium"
1000000 - high = "Large";
run;
data malls_hyd_fmt;
set malls_hyd;
Size_Category = put(Area_sqft, sizefmt.);
run;
proc freq data=malls_hyd_fmt;
tables Size_Category;
title "Mall Size Categories";
run;
Output:
The FREQ Procedure
| Size_Category | Frequency | Percent | Cumulative Frequency | Cumulative Percent |
|---|---|---|---|---|
| Large | 2 | 13.33 | 2 | 13.33 |
| Medium | 7 | 46.67 | 9 | 60.00 |
| Small | 6 | 40.00 | 15 | 100.00 |
15. Visualization: Mall Area vs Stores
proc sgplot data=malls_hyd;
scatter x=Area_sqft y=Stores / datalabel=Mall_Name;
title "Mall Area vs. Number of Stores";
run;
Output:
16. Macro: Automate top N malls by area
%macro TopMalls(n=5);
proc sql outobs=&n;
select Mall_Name, Area_sqft, Stores
from malls_hyd
order by Area_sqft desc
quit;
%mend;
%TopMalls(n=7);
Output:
| Mall_Name | Area_sqft | Stores |
|---|---|---|
| SarathCity | 1900000 | 430 |
| ForumSujana | 1200000 | 250 |
| Manjeera | 900000 | 220 |
| Inorbit | 800000 | 200 |
| CentralMall | 750000 | 160 |
| GVKOne | 700000 | 150 |
| NextGalleria | 650000 | 140 |
No comments:
Post a Comment