256.ANALYZING INDIAN RAKHI MARKET USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | PROC FORMAT | PROC GCHART | PROC UNIVARIATE | PROC REPORT IN SAS
- Get link
- X
- Other Apps
ANALYZING INDIAN RAKHI MARKET USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | PROC FORMAT | PROC GCHART | PROC UNIVARIATE | PROC REPORT IN SAS
/*Creating The Different Types Of Indian Rakhi dataset*/
STEP 1: Creating the base dataset
Purpose: To input real-world Rakhi dataset with >25 rows
options nocenter;
data rakhis;
infile datalines dlm=',' dsd;
length Rakhi_Type $30 Material $20 Region $20;
input Rakhi_ID Rakhi_Type $ Material $ Price Ratings Quantity_Sold Region $;
datalines;
1,Designer Rakhi,Gold Plated,350,4.8,120,Delhi
2,Traditional Rakhi,Thread,50,4.2,300,UttarPradesh
3,Lumba Rakhi,Beads,120,4.5,200,Maharashtra
4,Kids Rakhi,Plastic,60,4.1,250,Rajasthan
5,Silver Rakhi,Silver,500,4.9,80,Gujarat
6,Personalized Rakhi,Wood,200,4.6,150,Karnataka
7,Stone Studded Rakhi,Metal,180,4.4,170,MadhyaPradesh
8,Premium Rakhi,Gold,1000,5.0,50,Delhi
9,Cartoon Rakhi,Plastic,70,4.0,220,Bihar
10,Bhaiya-Bhabhi Rakhi,Beads,150,4.5,180,Punjab
11,Handmade Rakhi,Cotton,90,4.3,210,Uttarakhand
12,Zardosi Rakhi,Zari,250,4.7,140,Maharashtra
13,Resin Rakhi,Resin,130,4.4,160,Karnataka
14,Minimal Rakhi,Thread,40,4.0,310,UttarPradesh
15,Kundan Rakhi,Metal,280,4.6,130,Delhi
16,Rudraksha Rakhi,Beads,150,4.5,175,WestBengal
17,Floral Rakhi,Cloth,100,4.2,190,Rajasthan
18,Bracelet Rakhi,Metal,300,4.8,110,Haryana
19,Mirror Work Rakhi,Cloth,80,4.1,200,MadhyaPradesh
20,LED Rakhi,Plastic,90,4.3,205,Bihar
21,Ethnic Rakhi,Thread,70,4.0,240,Gujarat
22,Diamond Rakhi,Diamond,5000,5.0,20,Maharashtra
23,Couple Rakhi,Beads,170,4.4,160,Delhi
24,Chandan Rakhi,Sandalwood,220,4.7,145,Karnataka
25,Velvet Rakhi,Velvet,140,4.5,155,Punjab
26,American Diamond Rakhi,Metal,350,4.8,115,UttarPradesh
27,Tassel Rakhi,Thread,60,4.1,260,Rajasthan
28,Crystal Rakhi,Crystal,400,4.9,95,Delhi
29,Fusion Rakhi,Beads,180,4.6,135,Gujarat
30,Artistic Rakhi,Clay,160,4.3,150,WestBengal
;
run;
proc print;run;
Output:
Obs | Rakhi_Type | Material | Region | Rakhi_ID | Price | Ratings | Quantity_Sold |
---|---|---|---|---|---|---|---|
1 | Designer Rakhi | Gold Plated | Delhi | 1 | 350 | 4.8 | 120 |
2 | Traditional Rakhi | Thread | UttarPradesh | 2 | 50 | 4.2 | 300 |
3 | Lumba Rakhi | Beads | Maharashtra | 3 | 120 | 4.5 | 200 |
4 | Kids Rakhi | Plastic | Rajasthan | 4 | 60 | 4.1 | 250 |
5 | Silver Rakhi | Silver | Gujarat | 5 | 500 | 4.9 | 80 |
6 | Personalized Rakhi | Wood | Karnataka | 6 | 200 | 4.6 | 150 |
7 | Stone Studded Rakhi | Metal | MadhyaPradesh | 7 | 180 | 4.4 | 170 |
8 | Premium Rakhi | Gold | Delhi | 8 | 1000 | 5.0 | 50 |
9 | Cartoon Rakhi | Plastic | Bihar | 9 | 70 | 4.0 | 220 |
10 | Bhaiya-Bhabhi Rakhi | Beads | Punjab | 10 | 150 | 4.5 | 180 |
11 | Handmade Rakhi | Cotton | Uttarakhand | 11 | 90 | 4.3 | 210 |
12 | Zardosi Rakhi | Zari | Maharashtra | 12 | 250 | 4.7 | 140 |
13 | Resin Rakhi | Resin | Karnataka | 13 | 130 | 4.4 | 160 |
14 | Minimal Rakhi | Thread | UttarPradesh | 14 | 40 | 4.0 | 310 |
15 | Kundan Rakhi | Metal | Delhi | 15 | 280 | 4.6 | 130 |
16 | Rudraksha Rakhi | Beads | WestBengal | 16 | 150 | 4.5 | 175 |
17 | Floral Rakhi | Cloth | Rajasthan | 17 | 100 | 4.2 | 190 |
18 | Bracelet Rakhi | Metal | Haryana | 18 | 300 | 4.8 | 110 |
19 | Mirror Work Rakhi | Cloth | MadhyaPradesh | 19 | 80 | 4.1 | 200 |
20 | LED Rakhi | Plastic | Bihar | 20 | 90 | 4.3 | 205 |
21 | Ethnic Rakhi | Thread | Gujarat | 21 | 70 | 4.0 | 240 |
22 | Diamond Rakhi | Diamond | Maharashtra | 22 | 5000 | 5.0 | 20 |
23 | Couple Rakhi | Beads | Delhi | 23 | 170 | 4.4 | 160 |
24 | Chandan Rakhi | Sandalwood | Karnataka | 24 | 220 | 4.7 | 145 |
25 | Velvet Rakhi | Velvet | Punjab | 25 | 140 | 4.5 | 155 |
26 | American Diamond Rakhi | Metal | UttarPradesh | 26 | 350 | 4.8 | 115 |
27 | Tassel Rakhi | Thread | Rajasthan | 27 | 60 | 4.1 | 260 |
28 | Crystal Rakhi | Crystal | Delhi | 28 | 400 | 4.9 | 95 |
29 | Fusion Rakhi | Beads | Gujarat | 29 | 180 | 4.6 | 135 |
30 | Artistic Rakhi | Clay | WestBengal | 30 | 160 | 4.3 | 150 |
STEP 2: PROC PRINT
Purpose: Display first 10 rows of dataset
proc print data=rakhis (obs=10);
title "First 10 Rakhis in Dataset";
run;
Output:
First 10 Rakhis in Dataset
Obs | Rakhi_Type | Material | Region | Rakhi_ID | Price | Ratings | Quantity_Sold |
---|---|---|---|---|---|---|---|
1 | Designer Rakhi | Gold Plated | Delhi | 1 | 350 | 4.8 | 120 |
2 | Traditional Rakhi | Thread | UttarPradesh | 2 | 50 | 4.2 | 300 |
3 | Lumba Rakhi | Beads | Maharashtra | 3 | 120 | 4.5 | 200 |
4 | Kids Rakhi | Plastic | Rajasthan | 4 | 60 | 4.1 | 250 |
5 | Silver Rakhi | Silver | Gujarat | 5 | 500 | 4.9 | 80 |
6 | Personalized Rakhi | Wood | Karnataka | 6 | 200 | 4.6 | 150 |
7 | Stone Studded Rakhi | Metal | MadhyaPradesh | 7 | 180 | 4.4 | 170 |
8 | Premium Rakhi | Gold | Delhi | 8 | 1000 | 5.0 | 50 |
9 | Cartoon Rakhi | Plastic | Bihar | 9 | 70 | 4.0 | 220 |
10 | Bhaiya-Bhabhi Rakhi | Beads | Punjab | 10 | 150 | 4.5 | 180 |
STEP 3: PROC SORT
Purpose: Sort data by Price in descending order
proc sort data=rakhis out=rakhis_sorted;
by descending Price;
run;
proc print data=rakhis_sorted(obs=10);
run;
Output:
Obs | Rakhi_Type | Material | Region | Rakhi_ID | Price | Ratings | Quantity_Sold |
---|---|---|---|---|---|---|---|
1 | Diamond Rakhi | Diamond | Maharashtra | 22 | 5000 | 5.0 | 20 |
2 | Premium Rakhi | Gold | Delhi | 8 | 1000 | 5.0 | 50 |
3 | Silver Rakhi | Silver | Gujarat | 5 | 500 | 4.9 | 80 |
4 | Crystal Rakhi | Crystal | Delhi | 28 | 400 | 4.9 | 95 |
5 | Designer Rakhi | Gold Plated | Delhi | 1 | 350 | 4.8 | 120 |
6 | American Diamond Rakhi | Metal | UttarPradesh | 26 | 350 | 4.8 | 115 |
7 | Bracelet Rakhi | Metal | Haryana | 18 | 300 | 4.8 | 110 |
8 | Kundan Rakhi | Metal | Delhi | 15 | 280 | 4.6 | 130 |
9 | Zardosi Rakhi | Zari | Maharashtra | 12 | 250 | 4.7 | 140 |
10 | Chandan Rakhi | Sandalwood | Karnataka | 24 | 220 | 4.7 | 145 |
STEP 4: PROC MEANS
Purpose: Get average price, rating, and quantity
proc means data=rakhis mean min max maxdec=2;
var Price Ratings Quantity_Sold;
title "Rakhi Summary Statistics";
run;
Output:
Rakhi Summary Statistics
The MEANS Procedure
Variable | Mean | Minimum | Maximum |
---|---|---|---|
Price Ratings Quantity_Sold | 364.67 4.47 167.50 | 40.00 4.00 20.00 | 5000.00 5.00 310.00 |
STEP 5: PROC FREQ
Purpose: Frequency of Rakhis by Material
proc freq data=rakhis;
tables Material / nocum;
title "Frequency of Rakhis by Material";
run;
Output:
Frequency of Rakhis by Material
The FREQ Procedure
Material | Frequency | Percent |
---|---|---|
Beads | 5 | 16.67 |
Clay | 1 | 3.33 |
Cloth | 2 | 6.67 |
Cotton | 1 | 3.33 |
Crystal | 1 | 3.33 |
Diamond | 1 | 3.33 |
Gold | 1 | 3.33 |
Gold Plated | 1 | 3.33 |
Metal | 4 | 13.33 |
Plastic | 3 | 10.00 |
Resin | 1 | 3.33 |
Sandalwood | 1 | 3.33 |
Silver | 1 | 3.33 |
Thread | 4 | 13.33 |
Velvet | 1 | 3.33 |
Wood | 1 | 3.33 |
Zari | 1 | 3.33 |
STEP 6: PROC SQL
Purpose: Top 5 most expensive Rakhis
proc sql Outobs=5;
title "Top 5 Most Expensive Rakhis";
select Rakhi_Type, Material, Price
from rakhis
order by Price desc;
quit;
Output:
Top 5 Most Expensive Rakhis
Rakhi_Type | Material | Price |
---|---|---|
Diamond Rakhi | Diamond | 5000 |
Premium Rakhi | Gold | 1000 |
Silver Rakhi | Silver | 500 |
Crystal Rakhi | Crystal | 400 |
American Diamond Rakhi | Metal | 350 |
STEP 7: PROC SQL with Grouping
Purpose: Average Price per Region
proc sql;
title "Average Price per Region";
select Region, avg(Price) as Avg_Price format=8.2
from rakhis
group by Region;
quit;
Output:
Average Price per Region
Region | Avg_Price |
---|---|
Bihar | 80.00 |
Delhi | 440.00 |
Gujarat | 250.00 |
Haryana | 300.00 |
Karnataka | 183.33 |
MadhyaPradesh | 130.00 |
Maharashtra | 1790.00 |
Punjab | 145.00 |
Rajasthan | 73.33 |
UttarPradesh | 146.67 |
Uttarakhand | 90.00 |
WestBengal | 155.00 |
STEP 8: PROC FORMAT
Purpose: Create price category labels
proc format;
value pricecat
low - 100 = "Budget"
101 - 300 = "Mid-Range"
301 - high = "Premium";
run;
data rakhis_categorized;
set rakhis;
Price_Category = put(Price, pricecat.);
run;
proc print data=rakhis_categorized (obs=10);
title "Rakhis with Price Categories";
run;
Output:
Rakhis with Price Categories
Obs | Rakhi_Type | Material | Region | Rakhi_ID | Price | Ratings | Quantity_Sold | Price_Category |
---|---|---|---|---|---|---|---|---|
1 | Designer Rakhi | Gold Plated | Delhi | 1 | 350 | 4.8 | 120 | Premium |
2 | Traditional Rakhi | Thread | UttarPradesh | 2 | 50 | 4.2 | 300 | Budget |
3 | Lumba Rakhi | Beads | Maharashtra | 3 | 120 | 4.5 | 200 | Mid-Range |
4 | Kids Rakhi | Plastic | Rajasthan | 4 | 60 | 4.1 | 250 | Budget |
5 | Silver Rakhi | Silver | Gujarat | 5 | 500 | 4.9 | 80 | Premium |
6 | Personalized Rakhi | Wood | Karnataka | 6 | 200 | 4.6 | 150 | Mid-Range |
7 | Stone Studded Rakhi | Metal | MadhyaPradesh | 7 | 180 | 4.4 | 170 | Mid-Range |
8 | Premium Rakhi | Gold | Delhi | 8 | 1000 | 5.0 | 50 | Premium |
9 | Cartoon Rakhi | Plastic | Bihar | 9 | 70 | 4.0 | 220 | Budget |
10 | Bhaiya-Bhabhi Rakhi | Beads | Punjab | 10 | 150 | 4.5 | 180 | Mid-Range |
STEP 9: PROC GCHART
Purpose: Bar chart of average price by region
proc gchart data=rakhis;
vbar Region / sumvar=Price type=mean;
title "Average Rakhi Price by Region";
run;
quit;
Output:
STEP 10: PROC UNIVARIATE
Purpose: Detailed distribution of Price
proc univariate data=rakhis;
var Price;
histogram Price / normal;
title "Price Distribution of Rakhis";
run;
Output:
Price Distribution of Rakhis
The UNIVARIATE Procedure
Variable: Price
Moments | |||
---|---|---|---|
N | 30 | Sum Weights | 30 |
Mean | 364.666667 | Sum Observations | 10940 |
Std Deviation | 895.462636 | Variance | 801853.333 |
Skewness | 5.11981535 | Kurtosis | 27.1375352 |
Uncorrected SS | 27243200 | Corrected SS | 23253746.7 |
Coeff Variation | 245.556482 | Std Error Mean | 163.488362 |
Basic Statistical Measures | |||
---|---|---|---|
Location | Variability | ||
Mean | 364.6667 | Std Deviation | 895.46264 |
Median | 155.0000 | Variance | 801853 |
Mode | 60.0000 | Range | 4960 |
Interquartile Range | 190.00000 |
Note: The mode displayed is the smallest of 6 modes with a count of 2.
Tests for Location: Mu0=0 | ||||
---|---|---|---|---|
Test | Statistic | p Value | ||
Student's t | t | 2.230536 | Pr > |t| | 0.0336 |
Sign | M | 15 | Pr >= |M| | <.0001 |
Signed Rank | S | 232.5 | Pr >= |S| | <.0001 |
Quantiles (Definition 5) | |
---|---|
Level | Quantile |
100% Max | 5000 |
99% | 5000 |
95% | 1000 |
90% | 450 |
75% Q3 | 280 |
50% Median | 155 |
25% Q1 | 90 |
10% | 60 |
5% | 50 |
1% | 40 |
0% Min | 40 |
Extreme Observations | |||
---|---|---|---|
Lowest | Highest | ||
Value | Obs | Value | Obs |
40 | 14 | 350 | 26 |
50 | 2 | 400 | 28 |
60 | 27 | 500 | 5 |
60 | 4 | 1000 | 8 |
70 | 21 | 5000 | 22 |
Price Distribution of Rakhis
The UNIVARIATE Procedure
Price Distribution of Rakhis
The UNIVARIATE Procedure
Fitted Normal Distribution for Price
Parameters for Normal Distribution | ||
---|---|---|
Parameter | Symbol | Estimate |
Mean | Mu | 364.6667 |
Std Dev | Sigma | 895.4626 |
Goodness-of-Fit Tests for Normal Distribution | ||||
---|---|---|---|---|
Test | Statistic | p Value | ||
Kolmogorov-Smirnov | D | 0.38426254 | Pr > D | <0.010 |
Cramer-von Mises | W-Sq | 1.49958796 | Pr > W-Sq | <0.005 |
Anderson-Darling | A-Sq | 7.55382024 | Pr > A-Sq | <0.005 |
Quantiles for Normal Distribution | ||
---|---|---|
Percent | Quantile | |
Observed | Estimated | |
1.0 | 40.0000 | -1718.491 |
5.0 | 50.0000 | -1108.238 |
10.0 | 60.0000 | -782.915 |
25.0 | 90.0000 | -239.314 |
50.0 | 155.0000 | 364.667 |
75.0 | 280.0000 | 968.647 |
90.0 | 450.0000 | 1512.248 |
95.0 | 1000.0000 | 1837.572 |
99.0 | 5000.0000 | 2447.824 |
STEP 11: Using Macro
Purpose: Create a reusable macro for top N Rakhis by Price
%macro top_rakhis(n=5);
proc sql outobs=&n;
title "Top &n Most Expensive Rakhis (Macro Output)";
select Rakhi_Type, Price
from rakhis
order by Price desc ;
quit;
%mend;
%top_rakhis(n=7);
Output:
Top 7 Most Expensive Rakhis (Macro Output)
Rakhi_Type | Price |
---|---|
Diamond Rakhi | 5000 |
Premium Rakhi | 1000 |
Silver Rakhi | 500 |
Crystal Rakhi | 400 |
American Diamond Rakhi | 350 |
Designer Rakhi | 350 |
Bracelet Rakhi | 300 |
STEP 12: PROC REPORT
Purpose: Detailed report with grouping by Region
proc report data=rakhis nowd;
column Region Rakhi_Type Price Ratings Quantity_Sold;
define Region / group;
define Rakhi_Type / display;
define Price / analysis mean format=8.2;
define Ratings / analysis mean format=8.2;
define Quantity_Sold / analysis sum;
title "Region-wise Rakhi Report";
run;
Output:
Region-wise Rakhi Report
Region | Rakhi_Type | Price | Ratings | Quantity_Sold |
---|---|---|---|---|
Bihar | Cartoon Rakhi | 70.00 | 4.00 | 220 |
LED Rakhi | 90.00 | 4.30 | 205 | |
Delhi | Designer Rakhi | 350.00 | 4.80 | 120 |
Premium Rakhi | 1000.00 | 5.00 | 50 | |
Kundan Rakhi | 280.00 | 4.60 | 130 | |
Couple Rakhi | 170.00 | 4.40 | 160 | |
Crystal Rakhi | 400.00 | 4.90 | 95 | |
Gujarat | Silver Rakhi | 500.00 | 4.90 | 80 |
Ethnic Rakhi | 70.00 | 4.00 | 240 | |
Fusion Rakhi | 180.00 | 4.60 | 135 | |
Haryana | Bracelet Rakhi | 300.00 | 4.80 | 110 |
Karnataka | Personalized Rakhi | 200.00 | 4.60 | 150 |
Resin Rakhi | 130.00 | 4.40 | 160 | |
Chandan Rakhi | 220.00 | 4.70 | 145 | |
MadhyaPradesh | Stone Studded Rakhi | 180.00 | 4.40 | 170 |
Mirror Work Rakhi | 80.00 | 4.10 | 200 | |
Maharashtra | Lumba Rakhi | 120.00 | 4.50 | 200 |
Zardosi Rakhi | 250.00 | 4.70 | 140 | |
Diamond Rakhi | 5000.00 | 5.00 | 20 | |
Punjab | Bhaiya-Bhabhi Rakhi | 150.00 | 4.50 | 180 |
Velvet Rakhi | 140.00 | 4.50 | 155 | |
Rajasthan | Kids Rakhi | 60.00 | 4.10 | 250 |
Floral Rakhi | 100.00 | 4.20 | 190 | |
Tassel Rakhi | 60.00 | 4.10 | 260 | |
UttarPradesh | Traditional Rakhi | 50.00 | 4.20 | 300 |
Minimal Rakhi | 40.00 | 4.00 | 310 | |
American Diamond Rakhi | 350.00 | 4.80 | 115 | |
Uttarakhand | Handmade Rakhi | 90.00 | 4.30 | 210 |
WestBengal | Rudraksha Rakhi | 150.00 | 4.50 | 175 |
Artistic Rakhi | 160.00 | 4.30 | 150 |
- Get link
- X
- Other Apps
Comments
Post a Comment