Tuesday, 16 December 2025

341.FAMOUS SCIENTISTS DATA ANALYSIS USING PROC SQL | PROC MEANS | PROC RANK | PROC FORMAT | PROC SGPLOT | MACROS | DATE FUNCTIONS FOR IMPACT EVALUATION | RANKING INSIGHTS | TIME-BASED SCIENTIFIC CONTRIBUTION STUDY

FAMOUS SCIENTISTS DATA ANALYSIS USING PROC SQL | PROC MEANS | PROC RANK | PROC FORMAT | PROC SGPLOT | MACROS | DATE FUNCTIONS FOR IMPACT EVALUATION | RANKING INSIGHTS | TIME-BASED SCIENTIFIC CONTRIBUTION STUDY

options nocenter;

1.DATASET CREATION 

data scientists;

    length Scientist_Name $30 Country $20 Field $25 Awards $40 Inventions $50 Birth_Date $10;

    format  Discovery_Date date9.;

    input Scientist_Name $ Country $ Field $ Awards $ Inventions $ Impact_Score

           Birth_Date $ Discovery_Date :date9.;

datalines;

Einstein Germany Physics Nobel_Prize Relativity 98 14MAR1879 01JAN1905

Newton UK Physics None Laws_of_Motion 97 04JAN1643 01JAN1687

Curie Poland Chemistry Nobel_Prize Radioactivity 96 07NOV1867 01JAN1898

Tesla Serbia Engineering None AC_Current 95 10JUL1856 01JAN1887

Darwin UK Biology None Evolution 94 12FEB1809 01JAN1859

Galileo Italy Astronomy None Telescope 93 15FEB1564 01JAN1610

Edison USA Engineering None Light_Bulb 92 11FEB1847 01JAN1879

Faraday UK Physics None Electromagnetism 91 22SEP1791 01JAN1831

Bohr Denmark Physics Nobel_Prize Atomic_Model 90 07OCT1885 01JAN1913

Feynman USA Physics Nobel_Prize Quantum_Theory 89 11MAY1918 01JAN1948

Hawking UK Physics None Black_Holes 88 08JAN1942 01JAN1974

Raman India Physics Nobel_Prize Raman_Effect 87 07NOV1888 28FEB1928

;

run;

proc print data=scientists;

run;

OUTPUT:

ObsScientist_NameCountryFieldAwardsInventionsBirth_DateDiscovery_DateImpact_Score
1EinsteinGermanyPhysicsNobel_PrizeRelativity14MAR187901JAN190598
2NewtonUKPhysicsNoneLaws_of_Motion04JAN164301JAN168797
3CuriePolandChemistryNobel_PrizeRadioactivity07NOV186701JAN189896
4TeslaSerbiaEngineeringNoneAC_Current10JUL185601JAN188795
5DarwinUKBiologyNoneEvolution12FEB180901JAN185994
6GalileoItalyAstronomyNoneTelescope15FEB156401JAN161093
7EdisonUSAEngineeringNoneLight_Bulb11FEB184701JAN187992
8FaradayUKPhysicsNoneElectromagnetism22SEP179101JAN183191
9BohrDenmarkPhysicsNobel_PrizeAtomic_Model07OCT188501JAN191390
10FeynmanUSAPhysicsNobel_PrizeQuantum_Theory11MAY191801JAN194889
11HawkingUKPhysicsNoneBlack_Holes08JAN194201JAN197488
12RamanIndiaPhysicsNobel_PrizeRaman_Effect07NOV188828FEB192887


2.DATA REVIEW AND STRUCTURE CHECK

proc contents data=scientists;

run;

OUTPUT:

The CONTENTS Procedure

Data Set NameWORK.SCIENTISTSObservations12
Member TypeDATAVariables8
EngineV9Indexes0
Created12/17/2025 07:16:14Observation Length192
Last Modified12/17/2025 07:16:14Deleted 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 Page682
Obs in First Data Page12
Number of Data Set Repairs0
Filename/saswork/SAS_work4389000164D4_odaws02-apse1-2.oda.sas.com/SAS_work894F000164D4_odaws02-apse1-2.oda.sas.com/scientists.sas7bdat
Release Created9.0401M8
Host CreatedLinux
Inode Number1046139
Access Permissionrw-r--r--
Owner Nameu63247146
File Size256KB
File Size (bytes)262144
Alphabetic List of Variables and Attributes
#VariableTypeLenFormat
4AwardsChar40 
6Birth_DateChar10 
2CountryChar20 
7Discovery_DateNum8DATE9.
3FieldChar25 
8Impact_ScoreNum8 
5InventionsChar50 
1Scientist_NameChar30 

proc print data=scientists(obs=5);

run;

OUTPUT:

ObsScientist_NameCountryFieldAwardsInventionsBirth_DateDiscovery_DateImpact_Score
1EinsteinGermanyPhysicsNobel_PrizeRelativity14MAR187901JAN190598
2NewtonUKPhysicsNoneLaws_of_Motion04JAN164301JAN168797
3CuriePolandChemistryNobel_PrizeRadioactivity07NOV186701JAN189896
4TeslaSerbiaEngineeringNoneAC_Current10JUL185601JAN188795
5DarwinUKBiologyNoneEvolution12FEB180901JAN185994


3.Create a Derived Dataset with Years Since Discovery

proc sql;

    create table sci_analysis as

    select *,

           intck('year', Discovery_Date, today()) as Years_Since_Discovery

    from scientists;

quit;

proc print data=sci_analysis;

run;

OUTPUT:

ObsScientist_NameCountryFieldAwardsInventionsBirth_DateDiscovery_DateImpact_ScoreYears_Since_Discovery
1EinsteinGermanyPhysicsNobel_PrizeRelativity14MAR187901JAN190598120
2NewtonUKPhysicsNoneLaws_of_Motion04JAN164301JAN168797338
3CuriePolandChemistryNobel_PrizeRadioactivity07NOV186701JAN189896127
4TeslaSerbiaEngineeringNoneAC_Current10JUL185601JAN188795138
5DarwinUKBiologyNoneEvolution12FEB180901JAN185994166
6GalileoItalyAstronomyNoneTelescope15FEB156401JAN161093415
7EdisonUSAEngineeringNoneLight_Bulb11FEB184701JAN187992146
8FaradayUKPhysicsNoneElectromagnetism22SEP179101JAN183191194
9BohrDenmarkPhysicsNobel_PrizeAtomic_Model07OCT188501JAN191390112
10FeynmanUSAPhysicsNobel_PrizeQuantum_Theory11MAY191801JAN19488977
11HawkingUKPhysicsNoneBlack_Holes08JAN194201JAN19748851
12RamanIndiaPhysicsNobel_PrizeRaman_Effect07NOV188828FEB19288797


4.DATE ADVANCEMENT USING INTNX

data sci_dates;

    set sci_analysis;

    Next_Review_Date = intnx('year', Discovery_Date, 10, 'same');

    format Next_Review_Date date9.;

run;

proc print data=sci_dates;

run;

OUTPUT:

ObsScientist_NameCountryFieldAwardsInventionsBirth_DateDiscovery_DateImpact_ScoreYears_Since_DiscoveryNext_Review_Date
1EinsteinGermanyPhysicsNobel_PrizeRelativity14MAR187901JAN19059812001JAN1915
2NewtonUKPhysicsNoneLaws_of_Motion04JAN164301JAN16879733801JAN1697
3CuriePolandChemistryNobel_PrizeRadioactivity07NOV186701JAN18989612701JAN1908
4TeslaSerbiaEngineeringNoneAC_Current10JUL185601JAN18879513801JAN1897
5DarwinUKBiologyNoneEvolution12FEB180901JAN18599416601JAN1869
6GalileoItalyAstronomyNoneTelescope15FEB156401JAN16109341501JAN1620
7EdisonUSAEngineeringNoneLight_Bulb11FEB184701JAN18799214601JAN1889
8FaradayUKPhysicsNoneElectromagnetism22SEP179101JAN18319119401JAN1841
9BohrDenmarkPhysicsNobel_PrizeAtomic_Model07OCT188501JAN19139011201JAN1923
10FeynmanUSAPhysicsNobel_PrizeQuantum_Theory11MAY191801JAN1948897701JAN1958
11HawkingUKPhysicsNoneBlack_Holes08JAN194201JAN1974885101JAN1984
12RamanIndiaPhysicsNobel_PrizeRaman_Effect07NOV188828FEB1928879728FEB1938


5.STATISTICAL SUMMARY (PROC MEANS)

proc means data=sci_dates min max mean;

    var Impact_Score Years_Since_Discovery;

run;

OUTPUT:

The MEANS Procedure

VariableMinimumMaximumMean
Impact_Score
Years_Since_Discovery
87.0000000
51.0000000
98.0000000
415.0000000
92.5000000
165.0833333

6.IMPACT RANKING USING PROC RANK

proc rank data=sci_dates out=sci_rank descending;

    var Impact_Score;

    ranks Impact_Rank;

run;

proc print data=sci_rank;

run;

OUTPUT:

ObsScientist_NameCountryFieldAwardsInventionsBirth_DateDiscovery_DateImpact_ScoreYears_Since_DiscoveryNext_Review_DateImpact_Rank
1EinsteinGermanyPhysicsNobel_PrizeRelativity14MAR187901JAN19059812001JAN19151
2NewtonUKPhysicsNoneLaws_of_Motion04JAN164301JAN16879733801JAN16972
3CuriePolandChemistryNobel_PrizeRadioactivity07NOV186701JAN18989612701JAN19083
4TeslaSerbiaEngineeringNoneAC_Current10JUL185601JAN18879513801JAN18974
5DarwinUKBiologyNoneEvolution12FEB180901JAN18599416601JAN18695
6GalileoItalyAstronomyNoneTelescope15FEB156401JAN16109341501JAN16206
7EdisonUSAEngineeringNoneLight_Bulb11FEB184701JAN18799214601JAN18897
8FaradayUKPhysicsNoneElectromagnetism22SEP179101JAN18319119401JAN18418
9BohrDenmarkPhysicsNobel_PrizeAtomic_Model07OCT188501JAN19139011201JAN19239
10FeynmanUSAPhysicsNobel_PrizeQuantum_Theory11MAY191801JAN1948897701JAN195810
11HawkingUKPhysicsNoneBlack_Holes08JAN194201JAN1974885101JAN198411
12RamanIndiaPhysicsNobel_PrizeRaman_Effect07NOV188828FEB1928879728FEB193812


7.CUSTOM FORMATS USING PROC FORMAT

proc format;

    value impactfmt

        low - <85 = 'LOW IMPACT'

        85 - <95 = 'HIGH IMPACT'

        95 - high = 'LEGENDARY IMPACT';

run;

LOG:

NOTE: Format IMPACTFMT has been output.

data sci_format;

    set sci_rank;

    format Impact_Score impactfmt.;

run;

proc print data=sci_format;

run;

OUTPUT:

ObsScientist_NameCountryFieldAwardsInventionsBirth_DateDiscovery_DateImpact_ScoreYears_Since_DiscoveryNext_Review_DateImpact_Rank
1EinsteinGermanyPhysicsNobel_PrizeRelativity14MAR187901JAN1905LEGENDARY IMPACT12001JAN19151
2NewtonUKPhysicsNoneLaws_of_Motion04JAN164301JAN1687LEGENDARY IMPACT33801JAN16972
3CuriePolandChemistryNobel_PrizeRadioactivity07NOV186701JAN1898LEGENDARY IMPACT12701JAN19083
4TeslaSerbiaEngineeringNoneAC_Current10JUL185601JAN1887LEGENDARY IMPACT13801JAN18974
5DarwinUKBiologyNoneEvolution12FEB180901JAN1859HIGH IMPACT16601JAN18695
6GalileoItalyAstronomyNoneTelescope15FEB156401JAN1610HIGH IMPACT41501JAN16206
7EdisonUSAEngineeringNoneLight_Bulb11FEB184701JAN1879HIGH IMPACT14601JAN18897
8FaradayUKPhysicsNoneElectromagnetism22SEP179101JAN1831HIGH IMPACT19401JAN18418
9BohrDenmarkPhysicsNobel_PrizeAtomic_Model07OCT188501JAN1913HIGH IMPACT11201JAN19239
10FeynmanUSAPhysicsNobel_PrizeQuantum_Theory11MAY191801JAN1948HIGH IMPACT7701JAN195810
11HawkingUKPhysicsNoneBlack_Holes08JAN194201JAN1974HIGH IMPACT5101JAN198411
12RamanIndiaPhysicsNobel_PrizeRaman_Effect07NOV188828FEB1928HIGH IMPACT9728FEB193812


8.MACRO FOR AUTOMATED RANKING REPORT

%macro impact_report(min_score);

    proc sql;

        select Scientist_Name, Field, Impact_Score, Impact_Rank

        from sci_rank

        where Impact_Score >= &min_score;

    quit;

%mend;


%impact_report(90);

OUTPUT:

Scientist_NameFieldImpact_ScoreRank for Variable Impact_Score
EinsteinPhysics981
NewtonPhysics972
CurieChemistry963
TeslaEngineering954
DarwinBiology945
GalileoAstronomy936
EdisonEngineering927
FaradayPhysics918
BohrPhysics909


9.PROC FREQ

proc freq data=sci_format;

    tables Field Country;

run;

OUTPUT:

The FREQ Procedure

FieldFrequencyPercentCumulative
Frequency
Cumulative
Percent
Astronomy18.3318.33
Biology18.33216.67
Chemistry18.33325.00
Engineering216.67541.67
Physics758.3312100.00
CountryFrequencyPercentCumulative
Frequency
Cumulative
Percent
Denmark18.3318.33
Germany18.33216.67
India18.33325.00
Italy18.33433.33
Poland18.33541.67
Serbia18.33650.00
UK433.331083.33
USA216.6712100.00

10.IMPACT SCORE BY SCIENTIST (BAR CHART)
proc sgplot data=sci_rank;
    vbar Scientist_Name / response=Impact_Score datalabel;
    xaxis discreteorder=data label="SCIENTIST NAME";
    yaxis label="IMPACT SCORE";
    title "IMPACT SCORE COMPARISON OF FAMOUS SCIENTISTS";
run;
OUTPUT:
The SGPlot Procedure





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.


No comments:

Post a Comment