295.DATA CREATION AND ANALYTICAL REPRESENTATION OF CAFES FAMILY DATASET IN BENGALURU USING DATA STEP | PROC FORMAT | PROC TRANSPOSE | PROC TABULATE | PROC SGPLOT | PROC SQL

DATA CREATION AND ANALYTICAL REPRESENTATION OF CAFES FAMILY DATASET IN BENGALURU USING DATA STEP | PROC FORMAT | PROC TRANSPOSE | PROC TABULATE | PROC SGPLOT | PROC SQL

1. Create dataset: CAFES_IN_BENGALURU (keeps the variable names you asked for) 

data work.cafes_bengaluru;

    length CafeID $6 CafeName $60 Type $20 AnchorBrands $80 OwnerFamily $40;

    input CafeID $ CafeName & $ Type $ Area_sqft NumStores AnchorBrands & $ ParkingCap AnnualFootfall AvgTicket OwnerFamily $;

    datalines4;

C001 "Cornerstone Cafe"        Neighborhood 1200  8  "CoffeeBlend;BakeryDelights"     40  50000  3.20 "Rao"

C002 "Indie Brew Co."          Boutique     900   6  "SingleOrigin;VeganSnacks"      20  35000  4.50 "Patel"

C003 "Heritage Beans"          Heritage     1500  10 "TraditionalTea;LocalSweets"    60  80000  2.80 "Shetty"

C004 "Riverside Roasters"      Riverside    2000  12 "RoastMasters;Bistro"           80 120000  5.00 "Mukherjee"

C005 "Metro Espresso"          MallLike     3000  20 "EspressoWorld;DessertCorner"  150 220000  4.75 "Kumar"

C006 "Greenhouse Cafe"         Garden       1800  9  "OrganicBrew;SaladBar"          50  65000  6.00 "Iyer"

C007 "Attic & Aroma"           Boutique     800   5  "ArtisanToast;ColdBrew"         15  28000  3.90 "Singh"

C008 "Platform 8 Cafe"         Transit      1100  7  "QuickBites;ExpressCoffee"      30  42000  2.50 "Reddy"

C009 "Sunset Veranda"          Rooftop      1600  8  "CocktailCafe;LightEats"        40  90000  7.25 "Sharma"

C010 "BookNook Coffee"         Niche        950   6  "UsedBooks;LatteLab"            18  32000  3.30 "Gupta"

C011 "Cycle & Sip"             Active       1000  6  "EnergyBars;Espresso"           25  40000  3.00 "Menon"

C012 "Lakeside Lounge"         Riverside    2200  11 "SeaFoodSnacks;BrewHouse"       90 130000  6.50 "Chopra"

C013 "Minimal Mug"             Minimalist   700   4  "MicroRoast;MinimalEats"        10  20000  4.10 "Desai"

C014 "Canvas Cafe"             Artsy        1400  9  "GalleryTea;FusionBakes"        45  70000  5.50 "Nair"

C015 "Late Night Latte"        Night        1300  7  "NightBites;EspressoBar"        35  60000  4.90 "Bose"

C016 "Bengaluru Brew Yard"     Industrial   2500  14 "CraftBeer;CoffeeLab"           100 180000 8.00 "Pradhan"

C017 "TownSquare Cafe"         Neighborhood 1700  10 "FamilyMeals;KidsCorner"        70 100000 4.25 "Rao"

C018 "Zenith Coffee Loft"      Boutique     900   5  "ZenTea;SteamedBuns"            20  29000 5.75 "Khan"

C019 "Seaside (concept)"       Concept      2100  13 "SeaBreeze;GourmetSandwiches"   85 140000 7.00 "Verma"

C020 "Beanstalk"               Chain        3500  25 "BeanChain;PastryPoint"         200 300000 3.95 "Patel"

C021 "Monsoon Mornings"        Garden       1600  9  "RainBrew;ComfortFood"          50  76000 4.60 "Iyer"

C022 "Echo Coffee Lab"         Minimalist   800   4  "Experimental;DessertLab"       12  21000 5.10 "Saxena"

;;;;

run;

proc print data=work.cafes_bengaluru;

run;

OUTPUT:

ObsCafeIDCafeNameTypeAnchorBrandsOwnerFamilyArea_sqftNumStoresParkingCapAnnualFootfallAvgTicket
1C001"Cornerstone Cafe"Neighborhood"CoffeeBlend;BakeryDelights""Rao"1200840500003.20
2C002"Indie Brew Co."Boutique"SingleOrigin;VeganSnacks""Patel"900620350004.50
3C003"Heritage Beans"Heritage"TraditionalTea;LocalSweets""Shetty"15001060800002.80
4C004"Riverside Roasters"Riverside"RoastMasters;Bistro""Mukherjee"200012801200005.00
5C005"Metro Espresso"MallLike"EspressoWorld;DessertCorner""Kumar"3000201502200004.75
6C006"Greenhouse Cafe"Garden"OrganicBrew;SaladBar""Iyer"1800950650006.00
7C007"Attic & Aroma"Boutique"ArtisanToast;ColdBrew""Singh"800515280003.90
8C008"Platform 8 Cafe"Transit"QuickBites;ExpressCoffee""Reddy"1100730420002.50
9C009"Sunset Veranda"Rooftop"CocktailCafe;LightEats""Sharma"1600840900007.25
10C010"BookNook Coffee"Niche"UsedBooks;LatteLab""Gupta"950618320003.30
11C011"Cycle & Sip"Active"EnergyBars;Espresso""Menon"1000625400003.00
12C012"Lakeside Lounge"Riverside"SeaFoodSnacks;BrewHouse""Chopra"220011901300006.50
13C013"Minimal Mug"Minimalist"MicroRoast;MinimalEats""Desai"700410200004.10
14C014"Canvas Cafe"Artsy"GalleryTea;FusionBakes""Nair"1400945700005.50
15C015"Late Night Latte"Night"NightBites;EspressoBar""Bose"1300735600004.90
16C016"Bengaluru Brew Yard"Industrial"CraftBeer;CoffeeLab""Pradhan"2500141001800008.00
17C017"TownSquare Cafe"Neighborhood"FamilyMeals;KidsCorner""Rao"170010701000004.25
18C018"Zenith Coffee Loft"Boutique"ZenTea;SteamedBuns""Khan"900520290005.75
19C019"Seaside (concept)"Concept"SeaBreeze;GourmetSandwiches""Verma"210013851400007.00
20C020"Beanstalk"Chain"BeanChain;PastryPoint""Patel"3500252003000003.95
21C021"Monsoon Mornings"Garden"RainBrew;ComfortFood""Iyer"1600950760004.60
22C022"Echo Coffee Lab"Minimalist"Experimental;DessertLab""Saxena"800412210005.10


2. PROC FORMAT - create human-readable formats for Type and Owner family sizes 

proc format;

    value $typefmt

        'Neighborhood' = 'Neighborhood Cafe'

        'Boutique'     = 'Boutique / Specialty'

        'Heritage'     = 'Heritage / Traditional'

        'Riverside'    = 'Waterfront / Riverside'

        'MallLike'     = 'Large / Mall-like'

        'Garden'       = 'Garden / Outdoor'

        'Transit'      = 'Transit / Station'

        'Rooftop'      = 'Rooftop / Scenic'

        'Niche'        = 'Niche / Theme'

        'Active'       = 'Active / Sports'

        'Minimalist'   = 'Minimalist'

        'Artsy'        = 'Artsy / Gallery'

        'Night'        = 'Night / 24hr'

        'Industrial'   = 'Industrial / Brewyard'

        'Concept'      = 'Concept'

        'Chain'        = 'Chain'

        other = 'Other';

run;

LOG:

NOTE: Format $TYPEFMT has been output.


 Apply format in a view or print 

proc print data=work.cafes_bengaluru label;

    format Type $typefmt.;

    var CafeID CafeName Type Area_sqft NumStores AnchorBrands ParkingCap AnnualFootfall AvgTicket OwnerFamily;

    title "CafĆ©s (represented with Mall* variable names) - sample print with formats";

run;

OUTPUT:

CafƩs (represented with Mall* variable names) - sample print with formats

ObsCafeIDCafeNameTypeArea_sqftNumStoresAnchorBrandsParkingCapAnnualFootfallAvgTicketOwnerFamily
1C001"Cornerstone Cafe"Neighborhood Cafe12008"CoffeeBlend;BakeryDelights"40500003.20"Rao"
2C002"Indie Brew Co."Boutique / Specialty9006"SingleOrigin;VeganSnacks"20350004.50"Patel"
3C003"Heritage Beans"Heritage / Traditional150010"TraditionalTea;LocalSweets"60800002.80"Shetty"
4C004"Riverside Roasters"Waterfront / Riverside200012"RoastMasters;Bistro"801200005.00"Mukherjee"
5C005"Metro Espresso"Large / Mall-like300020"EspressoWorld;DessertCorner"1502200004.75"Kumar"
6C006"Greenhouse Cafe"Garden / Outdoor18009"OrganicBrew;SaladBar"50650006.00"Iyer"
7C007"Attic & Aroma"Boutique / Specialty8005"ArtisanToast;ColdBrew"15280003.90"Singh"
8C008"Platform 8 Cafe"Transit / Station11007"QuickBites;ExpressCoffee"30420002.50"Reddy"
9C009"Sunset Veranda"Rooftop / Scenic16008"CocktailCafe;LightEats"40900007.25"Sharma"
10C010"BookNook Coffee"Niche / Theme9506"UsedBooks;LatteLab"18320003.30"Gupta"
11C011"Cycle & Sip"Active / Sports10006"EnergyBars;Espresso"25400003.00"Menon"
12C012"Lakeside Lounge"Waterfront / Riverside220011"SeaFoodSnacks;BrewHouse"901300006.50"Chopra"
13C013"Minimal Mug"Minimalist7004"MicroRoast;MinimalEats"10200004.10"Desai"
14C014"Canvas Cafe"Artsy / Gallery14009"GalleryTea;FusionBakes"45700005.50"Nair"
15C015"Late Night Latte"Night / 24hr13007"NightBites;EspressoBar"35600004.90"Bose"
16C016"Bengaluru Brew Yard"Industrial / Brewyard250014"CraftBeer;CoffeeLab"1001800008.00"Pradhan"
17C017"TownSquare Cafe"Neighborhood Cafe170010"FamilyMeals;KidsCorner"701000004.25"Rao"
18C018"Zenith Coffee Loft"Boutique / Specialty9005"ZenTea;SteamedBuns"20290005.75"Khan"
19C019"Seaside (concept)"Concept210013"SeaBreeze;GourmetSandwiches"851400007.00"Verma"
20C020"Beanstalk"Chain350025"BeanChain;PastryPoint"2003000003.95"Patel"
21C021"Monsoon Mornings"Garden / Outdoor16009"RainBrew;ComfortFood"50760004.60"Iyer"
22C022"Echo Coffee Lab"Minimalist8004"Experimental;DessertLab"12210005.10"Saxena"

 3. PROC TRANSPOSE - flip long to wide for numeric metrics per Cafe 

proc transpose data=work.cafes_bengaluru out=work.cafes_metrics_t prefix=Metric_;

    by CafeID CafeName;

    var Area_sqft NumStores ParkingCap AnnualFootfall AvgTicket;

run;

proc print data=work.cafes_metrics_t;

run;

OUTPUT:

ObsCafeIDCafeName_NAME_Metric_1
1C001"Cornerstone Cafe"Area_sqft1200.00
2C001"Cornerstone Cafe"NumStores8.00
3C001"Cornerstone Cafe"ParkingCap40.00
4C001"Cornerstone Cafe"AnnualFootfall50000.00
5C001"Cornerstone Cafe"AvgTicket3.20
6C002"Indie Brew Co."Area_sqft900.00
7C002"Indie Brew Co."NumStores6.00
8C002"Indie Brew Co."ParkingCap20.00
9C002"Indie Brew Co."AnnualFootfall35000.00
10C002"Indie Brew Co."AvgTicket4.50
11C003"Heritage Beans"Area_sqft1500.00
12C003"Heritage Beans"NumStores10.00
13C003"Heritage Beans"ParkingCap60.00
14C003"Heritage Beans"AnnualFootfall80000.00
15C003"Heritage Beans"AvgTicket2.80
16C004"Riverside Roasters"Area_sqft2000.00
17C004"Riverside Roasters"NumStores12.00
18C004"Riverside Roasters"ParkingCap80.00
19C004"Riverside Roasters"AnnualFootfall120000.00
20C004"Riverside Roasters"AvgTicket5.00
21C005"Metro Espresso"Area_sqft3000.00
22C005"Metro Espresso"NumStores20.00
23C005"Metro Espresso"ParkingCap150.00
24C005"Metro Espresso"AnnualFootfall220000.00
25C005"Metro Espresso"AvgTicket4.75
26C006"Greenhouse Cafe"Area_sqft1800.00
27C006"Greenhouse Cafe"NumStores9.00
28C006"Greenhouse Cafe"ParkingCap50.00
29C006"Greenhouse Cafe"AnnualFootfall65000.00
30C006"Greenhouse Cafe"AvgTicket6.00
31C007"Attic & Aroma"Area_sqft800.00
32C007"Attic & Aroma"NumStores5.00
33C007"Attic & Aroma"ParkingCap15.00
34C007"Attic & Aroma"AnnualFootfall28000.00
35C007"Attic & Aroma"AvgTicket3.90
36C008"Platform 8 Cafe"Area_sqft1100.00
37C008"Platform 8 Cafe"NumStores7.00
38C008"Platform 8 Cafe"ParkingCap30.00
39C008"Platform 8 Cafe"AnnualFootfall42000.00
40C008"Platform 8 Cafe"AvgTicket2.50
41C009"Sunset Veranda"Area_sqft1600.00
42C009"Sunset Veranda"NumStores8.00
43C009"Sunset Veranda"ParkingCap40.00
44C009"Sunset Veranda"AnnualFootfall90000.00
45C009"Sunset Veranda"AvgTicket7.25
46C010"BookNook Coffee"Area_sqft950.00
47C010"BookNook Coffee"NumStores6.00
48C010"BookNook Coffee"ParkingCap18.00
49C010"BookNook Coffee"AnnualFootfall32000.00
50C010"BookNook Coffee"AvgTicket3.30
51C011"Cycle & Sip"Area_sqft1000.00
52C011"Cycle & Sip"NumStores6.00
53C011"Cycle & Sip"ParkingCap25.00
54C011"Cycle & Sip"AnnualFootfall40000.00
55C011"Cycle & Sip"AvgTicket3.00
56C012"Lakeside Lounge"Area_sqft2200.00
57C012"Lakeside Lounge"NumStores11.00
58C012"Lakeside Lounge"ParkingCap90.00
59C012"Lakeside Lounge"AnnualFootfall130000.00
60C012"Lakeside Lounge"AvgTicket6.50
61C013"Minimal Mug"Area_sqft700.00
62C013"Minimal Mug"NumStores4.00
63C013"Minimal Mug"ParkingCap10.00
64C013"Minimal Mug"AnnualFootfall20000.00
65C013"Minimal Mug"AvgTicket4.10
66C014"Canvas Cafe"Area_sqft1400.00
67C014"Canvas Cafe"NumStores9.00
68C014"Canvas Cafe"ParkingCap45.00
69C014"Canvas Cafe"AnnualFootfall70000.00
70C014"Canvas Cafe"AvgTicket5.50
71C015"Late Night Latte"Area_sqft1300.00
72C015"Late Night Latte"NumStores7.00
73C015"Late Night Latte"ParkingCap35.00
74C015"Late Night Latte"AnnualFootfall60000.00
75C015"Late Night Latte"AvgTicket4.90
76C016"Bengaluru Brew Yard"Area_sqft2500.00
77C016"Bengaluru Brew Yard"NumStores14.00
78C016"Bengaluru Brew Yard"ParkingCap100.00
79C016"Bengaluru Brew Yard"AnnualFootfall180000.00
80C016"Bengaluru Brew Yard"AvgTicket8.00
81C017"TownSquare Cafe"Area_sqft1700.00
82C017"TownSquare Cafe"NumStores10.00
83C017"TownSquare Cafe"ParkingCap70.00
84C017"TownSquare Cafe"AnnualFootfall100000.00
85C017"TownSquare Cafe"AvgTicket4.25
86C018"Zenith Coffee Loft"Area_sqft900.00
87C018"Zenith Coffee Loft"NumStores5.00
88C018"Zenith Coffee Loft"ParkingCap20.00
89C018"Zenith Coffee Loft"AnnualFootfall29000.00
90C018"Zenith Coffee Loft"AvgTicket5.75
91C019"Seaside (concept)"Area_sqft2100.00
92C019"Seaside (concept)"NumStores13.00
93C019"Seaside (concept)"ParkingCap85.00
94C019"Seaside (concept)"AnnualFootfall140000.00
95C019"Seaside (concept)"AvgTicket7.00
96C020"Beanstalk"Area_sqft3500.00
97C020"Beanstalk"NumStores25.00
98C020"Beanstalk"ParkingCap200.00
99C020"Beanstalk"AnnualFootfall300000.00
100C020"Beanstalk"AvgTicket3.95
101C021"Monsoon Mornings"Area_sqft1600.00
102C021"Monsoon Mornings"NumStores9.00
103C021"Monsoon Mornings"ParkingCap50.00
104C021"Monsoon Mornings"AnnualFootfall76000.00
105C021"Monsoon Mornings"AvgTicket4.60
106C022"Echo Coffee Lab"Area_sqft800.00
107C022"Echo Coffee Lab"NumStores4.00
108C022"Echo Coffee Lab"ParkingCap12.00
109C022"Echo Coffee Lab"AnnualFootfall21000.00
110C022"Echo Coffee Lab"AvgTicket5.10


 4. PROC TABULATE - multi-dimensional summary by Type 

proc tabulate data=work.cafes_bengaluru format=8.0;

    class Type;

    var Area_sqft NumStores ParkingCap AnnualFootfall AvgTicket;

    table

        Type,

        (n='Count' Area_sqft='Area (sqft)'*mean='Mean' Area_sqft*min='Min' Area_sqft*max='Max')

        / rts=20 box='Summary by Type';

    keylabel n='N';

    format Type $typefmt.;

    title "Tabulate: Area summary by Type";

run;

OUTPUT:

Tabulate: Area summary by Type

Summary by TypeCountArea (sqft)Area_sqftArea_sqft
MeanMinMax
Type1100010001000
Active / Sports
Artsy / Gallery1140014001400
Boutique / Specialty3867800900
Chain1350035003500
Concept1210021002100
Garden / Outdoor2170016001800
Heritage / Traditional1150015001500
Industrial / Brewyard1250025002500
Large / Mall-like1300030003000
Minimalist2750700800
Neighborhood Cafe2145012001700
Niche / Theme1950950950
Night / 24hr1130013001300
Waterfront / Riverside2210020002200
Rooftop / Scenic1160016001600
Transit / Station1110011001100

 5. PROC SGPLOT - Charts 

 5a. Vertical bar: average AnnualFootfall by Type 

proc sgplot data=work.cafes_bengaluru;

    format Type $typefmt.;

    vbar Type / response=AnnualFootfall stat=mean datalabel;

    yaxis label="Avg Annual Footfall (mean)";

    xaxis display=(nolabel);

    title "Average Annual Footfall by CafĆ© Type";

run;

OUTPUT:

The SGPlot Procedure


5b. Scatter: AvgTicket vs AnnualFootfall, marker size by ParkingCap 

data work.cafes_bengaluru_scaled;

    set work.cafes_bengaluru;

    MarkerSize = ParkingCap / 50; /* adjust denominator to fit visually */

run;

LOG: 

NOTE: There were 22 observations read from the data set WORK.CAFES_BENGALURU.
NOTE: The data set WORK.CAFES_BENGALURU_SCALED has 22 observations and 11 variables.


proc sgplot data=work.cafes_bengaluru_scaled;

    bubble x=AvgTicket y=AnnualFootfall size=MarkerSize /

        datalabel=CafeName

        fillattrs=(color=lightblue)

        transparency=0.1;

    xaxis label="Average Ticket (USD)";

    yaxis label="Annual Footfall";

    title "Average Ticket vs Annual Footfall (Bubble Size Based on Parking Capacity)";

run;

OUTPUT:

The SGPlot Procedure


6. PROC SQL aggregations 

proc sql;

    create table work.type_aggregates as

    select Type,

           count(*) as NumPlaces,

           mean(Area_sqft) as AvgArea format=8.2,

           sum(NumStores) as TotalStores,

           mean(AnnualFootfall) as AvgFootfall format=12.0,

           max(AvgTicket) as MaxAvgTicket format=8.2

    from work.cafes_bengaluru

    group by Type

    order by AvgFootfall desc;

quit;


proc print data=work.type_aggregates; 

  title "Type-level aggregates (SQL)"; 

run;

OUTPUT:

Type-level aggregates (SQL)

ObsTypeNumPlacesAvgAreaTotalStoresAvgFootfallMaxAvgTicket
1Chain13500.00253000003.95
2MallLike13000.00202200004.75
3Industrial12500.00141800008.00
4Concept12100.00131400007.00
5Riverside22100.00231250006.50
6Rooftop11600.008900007.25
7Heritage11500.0010800002.80
8Neighborhood21450.0018750004.25
9Garden21700.0018705006.00
10Artsy11400.009700005.50
11Night11300.007600004.90
12Transit11100.007420002.50
13Active11000.006400003.00
14Niche1950.006320003.30
15Boutique3866.6716306675.75
16Minimalist2750.008205005.10


To Visit My Previous E-Commerce Dataset:Click Here
To Visit My Previous Length,Input,Retain Statements:Click Here
To Visit My Previous Urban Traffic Dataset:Click Here
To Visit My Previous Home Energy Consumption Dataset: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