343.Which Country Truly Dominates the Olympics? – A Complete SAS Medal Efficiency Analytics Project

Which Country Truly Dominates the Olympics? – A Complete SAS Medal Efficiency Analytics Project

options nocenter;

1.OLYMPIC PERFORMANCE DATA CREATION

data olympic_performance;

    length Country $20;

    format Olympics_Date date9.;

    input Country $ Gold Silver Bronze Population Rank Olympics_Date :date9.;

    Total_Medals = Gold + Silver + Bronze;

datalines;

USA 39 41 33 331 1 24JUL2021

China 38 32 18 1441 2 24JUL2021

Japan 27 14 17 126 3 24JUL2021

GreatBritain 22 21 22 68 4 24JUL2021

ROC 20 28 23 146 5 24JUL2021

Australia 17 7 22 26 6 24JUL2021

Netherlands 10 12 14 17 7 24JUL2021

France 10 12 11 65 8 24JUL2021

Germany 10 11 16 83 9 24JUL2021

Italy 10 10 20 60 10 24JUL2021

Canada 7 6 11 38 11 24JUL2021

Brazil 7 6 8 213 12 24JUL2021

;

run;

proc print data=olympic_performance;

run;

OUTPUT:

ObsCountryOlympics_DateGoldSilverBronzePopulationRankTotal_Medals
1USA24JUL20213941333311113
2China24JUL20213832181441288
3Japan24JUL2021271417126358
4GreatBritain24JUL202122212268465
5ROC24JUL2021202823146571
6Australia24JUL20211772226646
7Netherlands24JUL202110121417736
8France24JUL202110121165833
9Germany24JUL202110111683937
10Italy24JUL2021101020601040
11Canada24JUL20217611381124
12Brazil24JUL20217682131221


2.DATA VALIDATION

proc contents data=olympic_performance;

run;

OUTPUT:

The CONTENTS Procedure

Data Set NameWORK.OLYMPIC_PERFORMANCEObservations12
Member TypeDATAVariables8
EngineV9Indexes0
Created12/19/2025 07:20:13Observation Length80
Last Modified12/19/2025 07:20:13Deleted Observations0
Protection CompressedNO
Data Set Type SortedNO
Label   
Data RepresentationSOLARIS_X86_64, LINUX_X86_64, ALPHA_TRU64, LINUX_IA64  
Encodingutf-8 Unicode (UTF-8)  
Engine/Host Dependent Information
Data Set Page Size131072
Number of Data Set Pages1
First Data Page1
Max Obs per Page1635
Obs in First Data Page12
Number of Data Set Repairs0
Filename/saswork/SAS_workEE3900010E8A_odaws02-apse1-2.oda.sas.com/SAS_work271200010E8A_odaws02-apse1-2.oda.sas.com/olympic_performance.sas7bdat
Release Created9.0401M8
Host CreatedLinux
Inode Number67178131
Access Permissionrw-r--r--
Owner Nameu63247146
File Size256KB
File Size (bytes)262144
Alphabetic List of Variables and Attributes
#VariableTypeLenFormat
5BronzeNum8 
1CountryChar20 
3GoldNum8 
2Olympics_DateNum8DATE9.
6PopulationNum8 
7RankNum8 
4SilverNum8 
8Total_MedalsNum8 

proc print data=olympic_performance(obs=5);

run;

OUTPUT:

ObsCountryOlympics_DateGoldSilverBronzePopulationRankTotal_Medals
1USA24JUL20213941333311113
2China24JUL20213832181441288
3Japan24JUL2021271417126358
4GreatBritain24JUL202122212268465
5ROC24JUL2021202823146571


3.DATE FUNCTION APPLICATION (INTNX & INTCK)

data olympic_dates;

    set olympic_performance;

    Next_Olympics = intnx('year', Olympics_Date, 4, 'same');

    Years_Since_2021 = intck('year', Olympics_Date, '24JUL2025'd);

    format Next_Olympics date9.;

run;

proc print data=olympic_dates;

run;

OUTPUT:

ObsCountryOlympics_DateGoldSilverBronzePopulationRankTotal_MedalsNext_OlympicsYears_Since_2021
1USA24JUL2021394133331111324JUL20254
2China24JUL2021383218144128824JUL20254
3Japan24JUL202127141712635824JUL20254
4GreatBritain24JUL20212221226846524JUL20254
5ROC24JUL202120282314657124JUL20254
6Australia24JUL2021177222664624JUL20254
7Netherlands24JUL20211012141773624JUL20254
8France24JUL20211012116583324JUL20254
9Germany24JUL20211011168393724JUL20254
10Italy24JUL202110102060104024JUL20254
11Canada24JUL2021761138112424JUL20254
12Brazil24JUL2021768213122124JUL20254


4.PROC SQL – DERIVED METRICS

proc sql;

    create table olympic_sql as

    select *,

           Total_Medals / Population as Medal_Efficiency format=8.3,

           Gold / Population as Gold_Efficiency format=8.3

    from olympic_dates

    order by Medal_Efficiency desc;

quit;

proc print data=olympic_sql;

run;

OUTPUT:

ObsCountryOlympics_DateGoldSilverBronzePopulationRankTotal_MedalsNext_OlympicsYears_Since_2021Medal_EfficiencyGold_Efficiency
1Netherlands24JUL20211012141773624JUL202542.1180.588
2Australia24JUL2021177222664624JUL202541.7690.654
3GreatBritain24JUL20212221226846524JUL202540.9560.324
4Italy24JUL202110102060104024JUL202540.6670.167
5Canada24JUL2021761138112424JUL202540.6320.184
6France24JUL20211012116583324JUL202540.5080.154
7ROC24JUL202120282314657124JUL202540.4860.137
8Japan24JUL202127141712635824JUL202540.4600.214
9Germany24JUL20211011168393724JUL202540.4460.120
10USA24JUL2021394133331111324JUL202540.3410.118
11Brazil24JUL2021768213122124JUL202540.0990.033
12China24JUL2021383218144128824JUL202540.0610.026


5.MACRO FOR MEDAL EFFICIENCY CLASSIFICATION

%macro efficiency_flag;

data olympic_efficiency;

    set olympic_sql;

    length Efficiency_Level $12;

    if Medal_Efficiency >= 1 then Efficiency_Level = "EXCELLENT";

    else if Medal_Efficiency >= 0.5 then Efficiency_Level = "GOOD";

    else Efficiency_Level = "AVERAGE";

run;

proc print data=olympic_efficiency;

run;

%mend;


%efficiency_flag;

OUTPUT:

ObsCountryOlympics_DateGoldSilverBronzePopulationRankTotal_MedalsNext_OlympicsYears_Since_2021Medal_EfficiencyGold_EfficiencyEfficiency_Level
1Netherlands24JUL20211012141773624JUL202542.1180.588EXCELLENT
2Australia24JUL2021177222664624JUL202541.7690.654EXCELLENT
3GreatBritain24JUL20212221226846524JUL202540.9560.324GOOD
4Italy24JUL202110102060104024JUL202540.6670.167GOOD
5Canada24JUL2021761138112424JUL202540.6320.184GOOD
6France24JUL20211012116583324JUL202540.5080.154GOOD
7ROC24JUL202120282314657124JUL202540.4860.137AVERAGE
8Japan24JUL202127141712635824JUL202540.4600.214AVERAGE
9Germany24JUL20211011168393724JUL202540.4460.120AVERAGE
10USA24JUL2021394133331111324JUL202540.3410.118AVERAGE
11Brazil24JUL2021768213122124JUL202540.0990.033AVERAGE
12China24JUL2021383218144128824JUL202540.0610.026AVERAGE


6.PROC MEANS – STATISTICAL SUMMARY

proc means data=olympic_efficiency min max mean sum;

    var Gold Silver Bronze Total_Medals Population Medal_Efficiency;

run;

OUTPUT:

The MEANS Procedure

VariableMinimumMaximumMeanSum
Gold
Silver
Bronze
Total_Medals
Population
Medal_Efficiency
7.0000000
6.0000000
8.0000000
21.0000000
17.0000000
0.0610687
39.0000000
41.0000000
33.0000000
113.0000000
1441.00
2.1176471
18.0833333
16.6666667
17.9166667
52.6666667
217.8333333
0.7118458
217.0000000
200.0000000
215.0000000
632.0000000
2614.00
8.5421500

7.PROC FREQ – RANK DISTRIBUTION

proc freq data=olympic_efficiency;

    tables Rank Efficiency_Level;

run;

OUTPUT:

The FREQ Procedure

RankFrequencyPercentCumulative
Frequency
Cumulative
Percent
118.3318.33
218.33216.67
318.33325.00
418.33433.33
518.33541.67
618.33650.00
718.33758.33
818.33866.67
918.33975.00
1018.331083.33
1118.331191.67
1218.3312100.00
Efficiency_LevelFrequencyPercentCumulative
Frequency
Cumulative
Percent
AVERAGE650.00650.00
EXCELLENT216.67866.67
GOOD433.3312100.00

8.PROC SGPLOT – VISUAL ANALYSIS

A. BAR CHART – TOTAL MEDALS BY COUNTRY

proc sgplot data=olympic_efficiency;

    vbar Country / response=Total_Medals datalabel;

    title "TOTAL OLYMPIC MEDALS BY COUNTRY";

run;

OUTPUT:

The SGPlot Procedure


B. SCATTER PLOT – POPULATION VS MEDAL EFFICIENCY

proc sgplot data=olympic_efficiency;

    scatter x=Population y=Medal_Efficiency / datalabel=Country;

    title "POPULATION VS MEDAL EFFICIENCY";

run;

OUTPUT:

The SGPlot Procedure


9.PROC SORT & PROC PRINT – TOP PERFORMERS

proc sort data=olympic_efficiency;

    by descending Medal_Efficiency;

run;


proc print data=olympic_efficiency(obs=5);

    title "TOP 5 COUNTRIES BY MEDAL EFFICIENCY";

run;

OUTPUT:

TOP 5 COUNTRIES BY MEDAL EFFICIENCY

ObsCountryOlympics_DateGoldSilverBronzePopulationRankTotal_MedalsNext_OlympicsYears_Since_2021Medal_EfficiencyGold_EfficiencyEfficiency_Level
1Netherlands24JUL20211012141773624JUL202542.1180.588EXCELLENT
2Australia24JUL2021177222664624JUL202541.7690.654EXCELLENT
3GreatBritain24JUL20212221226846524JUL202540.9560.324GOOD
4Italy24JUL202110102060104024JUL202540.6670.167GOOD
5Canada24JUL2021761138112424JUL202540.6320.184GOOD

10.PIE Chart

proc sgplot data=olympic_efficiency;

    pie Efficiency_Level / datalabel;

run;


/* Note: In practice above there is an Invalid in this code Find it,Correct it and Use it /*

OUTPUT:

Pie chart of Efficiency_Level



To Visit My Previous Online Streaming Flatform Dataset:Click Here
To Visit My Previous Statistical Evaluation Of Clinical Trials:Click Here
To Visit My Previous Unlocking Retail Insights Dataset:Click Here
To Visit My Previous Sas Interview Questions-1: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