354.Can DATA STEP and PROC SQL uncover which Virtual Reality (VR) applications are truly driving user engagement and revenue growth?
Can DATA STEP and PROC SQL uncover which Virtual Reality (VR) applications are truly driving user engagement and revenue growth?
options nocenter;
1.VR APPS DATASET CREATION
data vr_apps;
format Launch_Date Review_Date date9.;
input App_Name $12. Industry $15. Usage_Hours User_Satisfaction Complexity $8. Cost
Launch_Date :date9. Review_Date :date9.;
datalines;
MediVR Healthcare 120 9 High 15000 15JAN2020 10JAN2024
EduSimVR Education 90 8 Medium 8000 20MAR2021 05JAN2024
BuildXR Construction 110 8 High 20000 01JUN2019 08JAN2024
GameSphere Gaming 200 9 Medium 12000 10DEC2022 09JAN2024
TourVista Tourism 75 7 Low 6000 25FEB2021 06JAN2024
TrainProVR Corporate 160 8 High 18000 30JUL2018 11JAN2024
DefenseSim Defense 190 9 High 25000 10OCT2017 12JAN2024
RetailXR Retail 85 7 Medium 7000 05MAY2020 04JAN2024
AutoDesignVR Manufacturing 140 8 High 22000 14AUG2019 10JAN2024
SportsArena Sports 130 8 Medium 10000 18NOV2021 09JAN2024
TherapyVR Healthcare 100 9 Medium 14000 22APR2020 07JAN2024
MuseumWalk Culture 60 7 Low 5000 01JAN2022 03JAN2024
RemoteMeetVR IT 170 8 Medium 16000 12SEP2020 11JAN2024
;
run;
proc print data=vr_apps;
run;
OUTPUT:
| Obs | Launch_Date | Review_Date | App_Name | Industry | Usage_Hours | User_Satisfaction | Complexity | Cost |
|---|---|---|---|---|---|---|---|---|
| 1 | 15JAN2020 | 10JAN2024 | MediVR | Healthcare | 120 | 9 | High | 15000 |
| 2 | 20MAR2021 | 05JAN2024 | EduSimVR | Education | 90 | 8 | Medium | 8000 |
| 3 | 01JUN2019 | 08JAN2024 | BuildXR | Construction | 110 | 8 | High | 20000 |
| 4 | 10DEC2022 | 09JAN2024 | GameSphere | Gaming | 200 | 9 | Medium | 12000 |
| 5 | 25FEB2021 | 06JAN2024 | TourVista | Tourism | 75 | 7 | Low | 6000 |
| 6 | 30JUL2018 | 11JAN2024 | TrainProVR | Corporate | 160 | 8 | High | 18000 |
| 7 | 10OCT2017 | 12JAN2024 | DefenseSim | Defense | 190 | 9 | High | 25000 |
| 8 | 05MAY2020 | 04JAN2024 | RetailXR | Retail | 85 | 7 | Medium | 7000 |
| 9 | 14AUG2019 | 10JAN2024 | AutoDesignVR | Manufacturing | 140 | 8 | High | 22000 |
| 10 | 18NOV2021 | 09JAN2024 | SportsArena | Sports | 130 | 8 | Medium | 10000 |
| 11 | 22APR2020 | 07JAN2024 | TherapyVR | Healthcare | 100 | 9 | Medium | 14000 |
| 12 | 01JAN2022 | 03JAN2024 | MuseumWalk | Culture | 60 | 7 | Low | 5000 |
| 13 | 12SEP2020 | 11JAN2024 | RemoteMeetVR | IT | 170 | 8 | Medium | 16000 |
2.DATE FUNCTIONS: MDY, INTCK, INTNX
Creating Derived Date Variables
data vr_dates;
set vr_apps;
/* Create standardized review date */
Standard_Review = mdy(1,1,2024);
/* Years since launch */
Years_Since_Launch = intck('year', Launch_Date, Review_Date);
/* Next annual review */
Next_Review = intnx('year', Review_Date, 1, 'same');
format Standard_Review Next_Review date9.;
run;
proc print data=vr_dates;
run;
OUTPUT:
| Obs | Launch_Date | Review_Date | App_Name | Industry | Usage_Hours | User_Satisfaction | Complexity | Cost | Standard_Review | Years_Since_Launch | Next_Review |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 15JAN2020 | 10JAN2024 | MediVR | Healthcare | 120 | 9 | High | 15000 | 01JAN2024 | 4 | 10JAN2025 |
| 2 | 20MAR2021 | 05JAN2024 | EduSimVR | Education | 90 | 8 | Medium | 8000 | 01JAN2024 | 3 | 05JAN2025 |
| 3 | 01JUN2019 | 08JAN2024 | BuildXR | Construction | 110 | 8 | High | 20000 | 01JAN2024 | 5 | 08JAN2025 |
| 4 | 10DEC2022 | 09JAN2024 | GameSphere | Gaming | 200 | 9 | Medium | 12000 | 01JAN2024 | 2 | 09JAN2025 |
| 5 | 25FEB2021 | 06JAN2024 | TourVista | Tourism | 75 | 7 | Low | 6000 | 01JAN2024 | 3 | 06JAN2025 |
| 6 | 30JUL2018 | 11JAN2024 | TrainProVR | Corporate | 160 | 8 | High | 18000 | 01JAN2024 | 6 | 11JAN2025 |
| 7 | 10OCT2017 | 12JAN2024 | DefenseSim | Defense | 190 | 9 | High | 25000 | 01JAN2024 | 7 | 12JAN2025 |
| 8 | 05MAY2020 | 04JAN2024 | RetailXR | Retail | 85 | 7 | Medium | 7000 | 01JAN2024 | 4 | 04JAN2025 |
| 9 | 14AUG2019 | 10JAN2024 | AutoDesignVR | Manufacturing | 140 | 8 | High | 22000 | 01JAN2024 | 5 | 10JAN2025 |
| 10 | 18NOV2021 | 09JAN2024 | SportsArena | Sports | 130 | 8 | Medium | 10000 | 01JAN2024 | 3 | 09JAN2025 |
| 11 | 22APR2020 | 07JAN2024 | TherapyVR | Healthcare | 100 | 9 | Medium | 14000 | 01JAN2024 | 4 | 07JAN2025 |
| 12 | 01JAN2022 | 03JAN2024 | MuseumWalk | Culture | 60 | 7 | Low | 5000 | 01JAN2024 | 2 | 03JAN2025 |
| 13 | 12SEP2020 | 11JAN2024 | RemoteMeetVR | IT | 170 | 8 | Medium | 16000 | 01JAN2024 | 4 | 11JAN2025 |
3.PROC SQL – INDUSTRY LEVEL ANALYSIS
proc sql;
create table industry_summary as
select Industry,
count(App_Name) as Total_Apps,
avg(Usage_Hours) as Avg_Usage,
avg(User_Satisfaction) as Avg_Satisfaction,
sum(Cost) as Total_Cost
from vr_apps
group by Industry;
quit;
proc print data=industry_summary;
run;
OUTPUT:
| Obs | Industry | Total_Apps | Avg_Usage | Avg_Satisfaction | Total_Cost |
|---|---|---|---|---|---|
| 1 | Construction | 1 | 110 | 8 | 20000 |
| 2 | Corporate | 1 | 160 | 8 | 18000 |
| 3 | Culture | 1 | 60 | 7 | 5000 |
| 4 | Defense | 1 | 190 | 9 | 25000 |
| 5 | Education | 1 | 90 | 8 | 8000 |
| 6 | Gaming | 1 | 200 | 9 | 12000 |
| 7 | Healthcare | 2 | 110 | 9 | 29000 |
| 8 | IT | 1 | 170 | 8 | 16000 |
| 9 | Manufacturing | 1 | 140 | 8 | 22000 |
| 10 | Retail | 1 | 85 | 7 | 7000 |
| 11 | Sports | 1 | 130 | 8 | 10000 |
| 12 | Tourism | 1 | 75 | 7 | 6000 |
4.PROC MEANS – STATISTICAL SUMMARY
proc means data=vr_apps mean min max;
var Usage_Hours User_Satisfaction Cost;
run;
OUTPUT:
The MEANS Procedure
| Variable | Mean | Minimum | Maximum |
|---|---|---|---|
Usage_Hours User_Satisfaction Cost | 125.3846154 8.0769231 13692.31 | 60.0000000 7.0000000 5000.00 | 200.0000000 9.0000000 25000.00 |
5.MACROS – AUTOMATED CATEGORIZATION
Macro for Cost Category
%macro cost_category;
data vr_cost_cat;
set vr_apps;
length Cost_Category $10;
if Cost < 8000 then Cost_Category = "Low";
else if Cost < 15000 then Cost_Category = "Medium";
else Cost_Category = "High";
run;
proc print data=vr_cost_cat;
run;
%mend;
%cost_category;
OUTPUT:
| Obs | Launch_Date | Review_Date | App_Name | Industry | Usage_Hours | User_Satisfaction | Complexity | Cost | Cost_Category |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 15JAN2020 | 10JAN2024 | MediVR | Healthcare | 120 | 9 | High | 15000 | High |
| 2 | 20MAR2021 | 05JAN2024 | EduSimVR | Education | 90 | 8 | Medium | 8000 | Medium |
| 3 | 01JUN2019 | 08JAN2024 | BuildXR | Construction | 110 | 8 | High | 20000 | High |
| 4 | 10DEC2022 | 09JAN2024 | GameSphere | Gaming | 200 | 9 | Medium | 12000 | Medium |
| 5 | 25FEB2021 | 06JAN2024 | TourVista | Tourism | 75 | 7 | Low | 6000 | Low |
| 6 | 30JUL2018 | 11JAN2024 | TrainProVR | Corporate | 160 | 8 | High | 18000 | High |
| 7 | 10OCT2017 | 12JAN2024 | DefenseSim | Defense | 190 | 9 | High | 25000 | High |
| 8 | 05MAY2020 | 04JAN2024 | RetailXR | Retail | 85 | 7 | Medium | 7000 | Low |
| 9 | 14AUG2019 | 10JAN2024 | AutoDesignVR | Manufacturing | 140 | 8 | High | 22000 | High |
| 10 | 18NOV2021 | 09JAN2024 | SportsArena | Sports | 130 | 8 | Medium | 10000 | Medium |
| 11 | 22APR2020 | 07JAN2024 | TherapyVR | Healthcare | 100 | 9 | Medium | 14000 | Medium |
| 12 | 01JAN2022 | 03JAN2024 | MuseumWalk | Culture | 60 | 7 | Low | 5000 | Low |
| 13 | 12SEP2020 | 11JAN2024 | RemoteMeetVR | IT | 170 | 8 | Medium | 16000 | High |
6.PROC SGPLOT – VISUALIZATION
Usage Hours by Industry
proc sgplot data=vr_apps;
vbar Industry / response=Usage_Hours stat=mean;
title "Average VR Usage Hours by Industry";
run;
OUTPUT:
Satisfaction vs Cost
proc sgplot data=vr_apps;
scatter x=Cost y=User_Satisfaction;
title "User Satisfaction vs Cost of VR Applications";
run;
OUTPUT:
7.PROC APPEND – ADDITIONAL DATA
data vr_new;
format Launch_Date Review_Date date9.;
input App_Name $12. Industry $ Usage_Hours User_Satisfaction Complexity $8. Cost
Launch_Date:date9. Review_Date:date9. ;
datalines;
CityPlanVR Urban 95 8 Medium 9000 01JAN2023 10JAN2024
;
run;
proc print data=vr_new;
run;
OUTPUT:
| Obs | Launch_Date | Review_Date | App_Name | Industry | Usage_Hours | User_Satisfaction | Complexity | Cost |
|---|---|---|---|---|---|---|---|---|
| 1 | 01JAN2023 | 10JAN2024 | CityPlanVR | Urban | 95 | 8 | Medium | 9000 |
proc append base=vr_apps
data=vr_new;
run;
proc print data=vr_apps;
run;
OUTPUT:
| Obs | Launch_Date | Review_Date | App_Name | Industry | Usage_Hours | User_Satisfaction | Complexity | Cost |
|---|---|---|---|---|---|---|---|---|
| 1 | 15JAN2020 | 10JAN2024 | MediVR | Healthcare | 120 | 9 | High | 15000 |
| 2 | 20MAR2021 | 05JAN2024 | EduSimVR | Education | 90 | 8 | Medium | 8000 |
| 3 | 01JUN2019 | 08JAN2024 | BuildXR | Construction | 110 | 8 | High | 20000 |
| 4 | 10DEC2022 | 09JAN2024 | GameSphere | Gaming | 200 | 9 | Medium | 12000 |
| 5 | 25FEB2021 | 06JAN2024 | TourVista | Tourism | 75 | 7 | Low | 6000 |
| 6 | 30JUL2018 | 11JAN2024 | TrainProVR | Corporate | 160 | 8 | High | 18000 |
| 7 | 10OCT2017 | 12JAN2024 | DefenseSim | Defense | 190 | 9 | High | 25000 |
| 8 | 05MAY2020 | 04JAN2024 | RetailXR | Retail | 85 | 7 | Medium | 7000 |
| 9 | 14AUG2019 | 10JAN2024 | AutoDesignVR | Manufacturing | 140 | 8 | High | 22000 |
| 10 | 18NOV2021 | 09JAN2024 | SportsArena | Sports | 130 | 8 | Medium | 10000 |
| 11 | 22APR2020 | 07JAN2024 | TherapyVR | Healthcare | 100 | 9 | Medium | 14000 |
| 12 | 01JAN2022 | 03JAN2024 | MuseumWalk | Culture | 60 | 7 | Low | 5000 |
| 13 | 12SEP2020 | 11JAN2024 | RemoteMeetVR | IT | 170 | 8 | Medium | 16000 |
| 14 | 01JAN2023 | 10JAN2024 | CityPlanVR | Urban | 95 | 8 | Medium | 9000 |
8.PROC MERGE – COMBINING DATASETS
proc sort data=vr_apps; by App_Name; run;
proc print data=vr_apps;
run;
OUTPUT:
| Obs | Launch_Date | Review_Date | App_Name | Industry | Usage_Hours | User_Satisfaction | Complexity | Cost |
|---|---|---|---|---|---|---|---|---|
| 1 | 14AUG2019 | 10JAN2024 | AutoDesignVR | Manufacturing | 140 | 8 | High | 22000 |
| 2 | 01JUN2019 | 08JAN2024 | BuildXR | Construction | 110 | 8 | High | 20000 |
| 3 | 01JAN2023 | 10JAN2024 | CityPlanVR | Urban | 95 | 8 | Medium | 9000 |
| 4 | 10OCT2017 | 12JAN2024 | DefenseSim | Defense | 190 | 9 | High | 25000 |
| 5 | 20MAR2021 | 05JAN2024 | EduSimVR | Education | 90 | 8 | Medium | 8000 |
| 6 | 10DEC2022 | 09JAN2024 | GameSphere | Gaming | 200 | 9 | Medium | 12000 |
| 7 | 15JAN2020 | 10JAN2024 | MediVR | Healthcare | 120 | 9 | High | 15000 |
| 8 | 01JAN2022 | 03JAN2024 | MuseumWalk | Culture | 60 | 7 | Low | 5000 |
| 9 | 12SEP2020 | 11JAN2024 | RemoteMeetVR | IT | 170 | 8 | Medium | 16000 |
| 10 | 05MAY2020 | 04JAN2024 | RetailXR | Retail | 85 | 7 | Medium | 7000 |
| 11 | 18NOV2021 | 09JAN2024 | SportsArena | Sports | 130 | 8 | Medium | 10000 |
| 12 | 22APR2020 | 07JAN2024 | TherapyVR | Healthcare | 100 | 9 | Medium | 14000 |
| 13 | 25FEB2021 | 06JAN2024 | TourVista | Tourism | 75 | 7 | Low | 6000 |
| 14 | 30JUL2018 | 11JAN2024 | TrainProVR | Corporate | 160 | 8 | High | 18000 |
proc sort data=vr_cost_cat; by App_Name; run;
proc print data=vr_cost_cat;
run;
OUTPUT:
| Obs | Launch_Date | Review_Date | App_Name | Industry | Usage_Hours | User_Satisfaction | Complexity | Cost | Cost_Category |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 14AUG2019 | 10JAN2024 | AutoDesignVR | Manufacturing | 140 | 8 | High | 22000 | High |
| 2 | 01JUN2019 | 08JAN2024 | BuildXR | Construction | 110 | 8 | High | 20000 | High |
| 3 | 10OCT2017 | 12JAN2024 | DefenseSim | Defense | 190 | 9 | High | 25000 | High |
| 4 | 20MAR2021 | 05JAN2024 | EduSimVR | Education | 90 | 8 | Medium | 8000 | Medium |
| 5 | 10DEC2022 | 09JAN2024 | GameSphere | Gaming | 200 | 9 | Medium | 12000 | Medium |
| 6 | 15JAN2020 | 10JAN2024 | MediVR | Healthcare | 120 | 9 | High | 15000 | High |
| 7 | 01JAN2022 | 03JAN2024 | MuseumWalk | Culture | 60 | 7 | Low | 5000 | Low |
| 8 | 12SEP2020 | 11JAN2024 | RemoteMeetVR | IT | 170 | 8 | Medium | 16000 | High |
| 9 | 05MAY2020 | 04JAN2024 | RetailXR | Retail | 85 | 7 | Medium | 7000 | Low |
| 10 | 18NOV2021 | 09JAN2024 | SportsArena | Sports | 130 | 8 | Medium | 10000 | Medium |
| 11 | 22APR2020 | 07JAN2024 | TherapyVR | Healthcare | 100 | 9 | Medium | 14000 | Medium |
| 12 | 25FEB2021 | 06JAN2024 | TourVista | Tourism | 75 | 7 | Low | 6000 | Low |
| 13 | 30JUL2018 | 11JAN2024 | TrainProVR | Corporate | 160 | 8 | High | 18000 | High |
data vr_merged;
merge vr_apps vr_cost_cat;
by App_Name;
run;
proc print data=vr_merged;
run;
OUTPUT:
| Obs | Launch_Date | Review_Date | App_Name | Industry | Usage_Hours | User_Satisfaction | Complexity | Cost | Cost_Category |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 14AUG2019 | 10JAN2024 | AutoDesignVR | Manufacturing | 140 | 8 | High | 22000 | High |
| 2 | 01JUN2019 | 08JAN2024 | BuildXR | Construction | 110 | 8 | High | 20000 | High |
| 3 | 01JAN2023 | 10JAN2024 | CityPlanVR | Urban | 95 | 8 | Medium | 9000 | |
| 4 | 10OCT2017 | 12JAN2024 | DefenseSim | Defense | 190 | 9 | High | 25000 | High |
| 5 | 20MAR2021 | 05JAN2024 | EduSimVR | Education | 90 | 8 | Medium | 8000 | Medium |
| 6 | 10DEC2022 | 09JAN2024 | GameSphere | Gaming | 200 | 9 | Medium | 12000 | Medium |
| 7 | 15JAN2020 | 10JAN2024 | MediVR | Healthcare | 120 | 9 | High | 15000 | High |
| 8 | 01JAN2022 | 03JAN2024 | MuseumWalk | Culture | 60 | 7 | Low | 5000 | Low |
| 9 | 12SEP2020 | 11JAN2024 | RemoteMeetVR | IT | 170 | 8 | Medium | 16000 | High |
| 10 | 05MAY2020 | 04JAN2024 | RetailXR | Retail | 85 | 7 | Medium | 7000 | Low |
| 11 | 18NOV2021 | 09JAN2024 | SportsArena | Sports | 130 | 8 | Medium | 10000 | Medium |
| 12 | 22APR2020 | 07JAN2024 | TherapyVR | Healthcare | 100 | 9 | Medium | 14000 | Medium |
| 13 | 25FEB2021 | 06JAN2024 | TourVista | Tourism | 75 | 7 | Low | 6000 | Low |
| 14 | 30JUL2018 | 11JAN2024 | TrainProVR | Corporate | 160 | 8 | High | 18000 | High |
9.PROC TRANSPOSE – RESHAPING DATA
proc transpose data=industry_summary out=industry_trans;
by Industry;
var Avg_Usage Avg_Satisfaction;
run;
proc print data=industry_trans;
run;
OUTPUT:
| Obs | Industry | _NAME_ | COL1 |
|---|---|---|---|
| 1 | Construction | Avg_Usage | 110 |
| 2 | Construction | Avg_Satisfaction | 8 |
| 3 | Corporate | Avg_Usage | 160 |
| 4 | Corporate | Avg_Satisfaction | 8 |
| 5 | Culture | Avg_Usage | 60 |
| 6 | Culture | Avg_Satisfaction | 7 |
| 7 | Defense | Avg_Usage | 190 |
| 8 | Defense | Avg_Satisfaction | 9 |
| 9 | Education | Avg_Usage | 90 |
| 10 | Education | Avg_Satisfaction | 8 |
| 11 | Gaming | Avg_Usage | 200 |
| 12 | Gaming | Avg_Satisfaction | 9 |
| 13 | Healthcare | Avg_Usage | 110 |
| 14 | Healthcare | Avg_Satisfaction | 9 |
| 15 | IT | Avg_Usage | 170 |
| 16 | IT | Avg_Satisfaction | 8 |
| 17 | Manufacturing | Avg_Usage | 140 |
| 18 | Manufacturing | Avg_Satisfaction | 8 |
| 19 | Retail | Avg_Usage | 85 |
| 20 | Retail | Avg_Satisfaction | 7 |
| 21 | Sports | Avg_Usage | 130 |
| 22 | Sports | Avg_Satisfaction | 8 |
| 23 | Tourism | Avg_Usage | 75 |
| 24 | Tourism | Avg_Satisfaction | 7 |
Comments
Post a Comment