370.ASTRONAUT PERFORMANCE & SPACE MISSION ANALYTICS USING SAS

ASTRONAUT PERFORMANCE & SPACE MISSION ANALYTICS USING SAS


HERE IN THIS PROJECT WE USED THESE SAS STATEMENTS --PROC SQL | PROC MEANS | PROC SORT | PROC SGPLOT | MACROS | MDY | INTNX | INTCK | MERGE | APPEND | SET | TRANSPOSE


1. Why Astronaut Data Analytics Matters

Modern space agencies such as NASA, ESA, ISRO, Roscosmos and SpaceX manage billions of dollars of missions.

Each astronaut is a high-value human asset. Their:

  • Mission count
  • Space exposure
  • Age
  • Success rate
  • Fatigue
  • Flight history

must be continuously analyzed to ensure:

  1. Crew safety
  2. Optimal mission selection
  3. Training effectiveness
  4. Mission success

SAS is used in aerospace organizations because it can:

  • Merge flight logs
  • Calculate exposure time
  • Rank crew members
  • Predict performance
  • Create mission dashboards

This project simulates how NASA or ISRO would track astronaut performance using SAS.

2. Creating Astronaut Master Dataset

This Astronaut Analytics project is not just about space data. It is a complete enterprise-level SAS training model that teaches how real organizations (NASA, ISRO, SpaceX, ESA) analyze human performance, operational risk, and mission efficiency using SAS.

You are learning how raw data becomes management decisions.


data astronauts_raw;

    format First_Mission Last_Mission date9.;

    input Name $ Country $ Missions Total_Hours_in_Space Age Success_Rate First_Mission :date9. Last_Mission :date9.;

    datalines;

John_USA USA 6 1240 45 92 01JAN2010 15DEC2024

Maria_RUS Russia 7 1400 48 95 10FEB2008 20NOV2024

Ravi_IND India 4 800 38 88 05MAR2015 01JUN2024

Li_CHN China 5 900 40 90 20APR2013 10OCT2024

Akira_JPN Japan 3 620 36 85 11MAY2017 15AUG2024

Tom_USA USA 8 1600 50 97 01JAN2005 30DEC2024

Elena_RUS Russia 6 1300 46 93 01JUN2011 20DEC2024

Ahmed_UAE UAE 2 300 34 80 10MAR2021 05APR2024

Paul_FRA France 4 700 39 87 12JUL2016 01SEP2024

Mark_USA USA 5 1000 42 90 02FEB2014 18DEC2024

Sun_CHN China 6 1200 44 94 01JAN2012 22DEC2024

Anita_IND India 3 500 35 82 15JUN2018 30SEP2024

Leo_ITA Italy 4 750 41 89 10APR2016 10OCT2024

Carlos_ESP Spain 3 620 37 86 01MAR2017 12SEP2024

James_USA USA 7 1450 49 96 01JAN2007 31DEC2024

Ivan_RUS Russia 5 1100 43 91 01APR2012 15NOV2024

;

run;

proc print data=astronauts_raw;

run;

OUTPUT:

ObsFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_Rate
101JAN201015DEC2024John_USAUSA612404592
210FEB200820NOV2024Maria_RURussia714004895
305MAR201501JUN2024Ravi_INDIndia48003888
420APR201310OCT2024Li_CHNChina59004090
511MAY201715AUG2024Akira_JPJapan36203685
601JAN200530DEC2024Tom_USAUSA816005097
701JUN201120DEC2024Elena_RURussia613004693
810MAR202105APR2024Ahmed_UAUAE23003480
912JUL201601SEP2024Paul_FRAFrance47003987
1002FEB201418DEC2024Mark_USAUSA510004290
1101JAN201222DEC2024Sun_CHNChina612004494
1215JUN201830SEP2024Anita_INIndia35003582
1310APR201610OCT2024Leo_ITAItaly47504189
1401MAR201712SEP2024Carlos_ESpain36203786
1501JAN200731DEC2024James_USUSA714504996
1601APR201215NOV2024Ivan_RUSRussia511004391


3. Creating Space Exposure Dates using INTNX & MDY

data astronauts_dates;

    set astronauts_raw;

    Mission_Start = intnx('month', First_Mission, 0, 'b');

    Mission_End   = intnx('month', Last_Mission, 0, 'e');

    Mission_Year  = year(First_Mission);

    format Mission_Start Mission_End date9.;

run;

proc print data=astronauts_dates;

run;

OUTPUT:

ObsFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_RateMission_StartMission_EndMission_Year
101JAN201015DEC2024John_USAUSA61240459201JAN201031DEC20242010
210FEB200820NOV2024Maria_RURussia71400489501FEB200830NOV20242008
305MAR201501JUN2024Ravi_INDIndia4800388801MAR201530JUN20242015
420APR201310OCT2024Li_CHNChina5900409001APR201331OCT20242013
511MAY201715AUG2024Akira_JPJapan3620368501MAY201731AUG20242017
601JAN200530DEC2024Tom_USAUSA81600509701JAN200531DEC20242005
701JUN201120DEC2024Elena_RURussia61300469301JUN201131DEC20242011
810MAR202105APR2024Ahmed_UAUAE2300348001MAR202130APR20242021
912JUL201601SEP2024Paul_FRAFrance4700398701JUL201630SEP20242016
1002FEB201418DEC2024Mark_USAUSA51000429001FEB201431DEC20242014
1101JAN201222DEC2024Sun_CHNChina61200449401JAN201231DEC20242012
1215JUN201830SEP2024Anita_INIndia3500358201JUN201830SEP20242018
1310APR201610OCT2024Leo_ITAItaly4750418901APR201631OCT20242016
1401MAR201712SEP2024Carlos_ESpain3620378601MAR201730SEP20242017
1501JAN200731DEC2024James_USUSA71450499601JAN200731DEC20242007
1601APR201215NOV2024Ivan_RUSRussia51100439101APR201230NOV20242012


4. Experience Duration Using INTCK

data astronauts_exp;

    set astronauts_dates;

    Years_of_Service = intck('year', First_Mission, Last_Mission);

run;

proc print data=astronauts_exp;

run;

OUTPUT:

ObsFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_RateMission_StartMission_EndMission_YearYears_of_Service
101JAN201015DEC2024John_USAUSA61240459201JAN201031DEC2024201014
210FEB200820NOV2024Maria_RURussia71400489501FEB200830NOV2024200816
305MAR201501JUN2024Ravi_INDIndia4800388801MAR201530JUN202420159
420APR201310OCT2024Li_CHNChina5900409001APR201331OCT2024201311
511MAY201715AUG2024Akira_JPJapan3620368501MAY201731AUG202420177
601JAN200530DEC2024Tom_USAUSA81600509701JAN200531DEC2024200519
701JUN201120DEC2024Elena_RURussia61300469301JUN201131DEC2024201113
810MAR202105APR2024Ahmed_UAUAE2300348001MAR202130APR202420213
912JUL201601SEP2024Paul_FRAFrance4700398701JUL201630SEP202420168
1002FEB201418DEC2024Mark_USAUSA51000429001FEB201431DEC2024201410
1101JAN201222DEC2024Sun_CHNChina61200449401JAN201231DEC2024201212
1215JUN201830SEP2024Anita_INIndia3500358201JUN201830SEP202420186
1310APR201610OCT2024Leo_ITAItaly4750418901APR201631OCT202420168
1401MAR201712SEP2024Carlos_ESpain3620378601MAR201730SEP202420177
1501JAN200731DEC2024James_USUSA71450499601JAN200731DEC2024200717
1601APR201215NOV2024Ivan_RUSRussia51100439101APR201230NOV2024201212


5. Macro for Performance Classification

%macro classify;

data astronauts_ranked;

    set astronauts_exp;

    if Success_Rate >= 95 then Success_Level = "ELITE";

    else if Success_Rate >= 90 then Success_Level = "HIGH";

    else if Success_Rate >= 85 then Success_Level = "MEDIUM";

    else Success_Level = "LOW";

run;

proc print data=astronauts_ranked;

run;

%mend;


%classify;

OUTPUT:

ObsSUCCESS_LEVELFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_RateMission_StartMission_EndMission_YearYears_of_Service
1HIGH01JAN201015DEC2024John_USAUSA61240459201JAN201031DEC2024201014
2ELITE10FEB200820NOV2024Maria_RURussia71400489501FEB200830NOV2024200816
3MEDIUM05MAR201501JUN2024Ravi_INDIndia4800388801MAR201530JUN202420159
4HIGH20APR201310OCT2024Li_CHNChina5900409001APR201331OCT2024201311
5MEDIUM11MAY201715AUG2024Akira_JPJapan3620368501MAY201731AUG202420177
6ELITE01JAN200530DEC2024Tom_USAUSA81600509701JAN200531DEC2024200519
7HIGH01JUN201120DEC2024Elena_RURussia61300469301JUN201131DEC2024201113
8LOW10MAR202105APR2024Ahmed_UAUAE2300348001MAR202130APR202420213
9MEDIUM12JUL201601SEP2024Paul_FRAFrance4700398701JUL201630SEP202420168
10HIGH02FEB201418DEC2024Mark_USAUSA51000429001FEB201431DEC2024201410
11HIGH01JAN201222DEC2024Sun_CHNChina61200449401JAN201231DEC2024201212
12LOW15JUN201830SEP2024Anita_INIndia3500358201JUN201830SEP202420186
13MEDIUM10APR201610OCT2024Leo_ITAItaly4750418901APR201631OCT202420168
14MEDIUM01MAR201712SEP2024Carlos_ESpain3620378601MAR201730SEP202420177
15ELITE01JAN200731DEC2024James_USUSA71450499601JAN200731DEC2024200717
16HIGH01APR201215NOV2024Ivan_RUSRussia51100439101APR201230NOV2024201212


6. Sorting Astronauts by Space Hours

proc sort data=astronauts_ranked out=astronauts_sorted;

    by descending Total_Hours_in_Space;

run;

proc print data=astronauts_sorted;

run;

Space agencies always want the most experienced astronauts at the top.

OUTPUT:

ObsSUCCESS_LEVELFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_RateMission_StartMission_EndMission_YearYears_of_Service
1ELITE01JAN200530DEC2024Tom_USAUSA81600509701JAN200531DEC2024200519
2ELITE01JAN200731DEC2024James_USUSA71450499601JAN200731DEC2024200717
3ELITE10FEB200820NOV2024Maria_RURussia71400489501FEB200830NOV2024200816
4HIGH01JUN201120DEC2024Elena_RURussia61300469301JUN201131DEC2024201113
5HIGH01JAN201015DEC2024John_USAUSA61240459201JAN201031DEC2024201014
6HIGH01JAN201222DEC2024Sun_CHNChina61200449401JAN201231DEC2024201212
7HIGH01APR201215NOV2024Ivan_RUSRussia51100439101APR201230NOV2024201212
8HIGH02FEB201418DEC2024Mark_USAUSA51000429001FEB201431DEC2024201410
9HIGH20APR201310OCT2024Li_CHNChina5900409001APR201331OCT2024201311
10MEDIUM05MAR201501JUN2024Ravi_INDIndia4800388801MAR201530JUN202420159
11MEDIUM10APR201610OCT2024Leo_ITAItaly4750418901APR201631OCT202420168
12MEDIUM12JUL201601SEP2024Paul_FRAFrance4700398701JUL201630SEP202420168
13MEDIUM11MAY201715AUG2024Akira_JPJapan3620368501MAY201731AUG202420177
14MEDIUM01MAR201712SEP2024Carlos_ESpain3620378601MAR201730SEP202420177
15LOW15JUN201830SEP2024Anita_INIndia3500358201JUN201830SEP202420186
16LOW10MAR202105APR2024Ahmed_UAUAE2300348001MAR202130APR202420213


7. PROC SQL – Mission Analytics

proc sql;

    create table country_stats as

    select Country,

           count(Name) as Astronauts,

           avg(Total_Hours_in_Space) as Avg_Hours,

           avg(Success_Rate) as Avg_Success

    from astronauts_sorted

    group by Country;

quit;

proc print data=country_stats;

run;

This shows how each country performs in space.

OUTPUT:

ObsCountryAstronautsAvg_HoursAvg_Success
1China21050.0092.00
2France1700.0087.00
3India2650.0085.00
4Italy1750.0089.00
5Japan1620.0085.00
6Russia31266.6793.00
7Spain1620.0086.00
8UAE1300.0080.00
9USA41322.5093.75


8. PROC MEANS – Performance Summary

proc means data=astronauts_sorted mean min max;

    var Total_Hours_in_Space Missions Age Success_Rate;

run;

OUTPUT:

The MEANS Procedure

VariableMeanMinimumMaximum
Total_Hours_in_Space
Missions
Age
Success_Rate
967.5000000
4.8750000
41.6875000
89.6875000
300.0000000
2.0000000
34.0000000
80.0000000
1600.00
8.0000000
50.0000000
97.0000000

NASA would use this to track:

·       Crew fatigue

·       Average experience knowing

·       Age distributions

9. PROC SGPLOT – Visual Performance Dashboard

proc sgplot data=astronauts_sorted;

    vbar Name / response=Total_Hours_in_Space;

    title "Astronaut Space Experience Comparison";

run;

OUTPUT:

The SGPlot Procedure


proc sgplot data=astronauts_sorted;

    scatter x=Age y=Success_Rate;

    title "Age vs Mission Success";

run;

This helps identify optimal astronaut age vs performance.

OUTPUT:

The SGPlot Procedure


10. TRANSPOSE – Convert Data for Reports

proc transpose data=astronauts_sorted out=hours_wide;

    id Name;

    var Total_Hours_in_Space;

run;

proc print data=hours_wide;

run;

Now every astronaut becomes a column for reporting.

OUTPUT:

Obs_NAME_Tom_USAJames_USMaria_RUElena_RUJohn_USASun_CHNIvan_RUSMark_USALi_CHNRavi_INDLeo_ITAPaul_FRAAkira_JPCarlos_EAnita_INAhmed_UA
1Total_Hours_in_Space16001450140013001240120011001000900800750700620620500300


11. MERGE – Combine Country Statistics

proc sort data=astronauts_sorted; by Country; run;

proc print data=astronauts_sorted;

run;

OUTPUT:

ObsSUCCESS_LEVELFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_RateMission_StartMission_EndMission_YearYears_of_Service
1HIGH01JAN201222DEC2024Sun_CHNChina61200449401JAN201231DEC2024201212
2HIGH20APR201310OCT2024Li_CHNChina5900409001APR201331OCT2024201311
3MEDIUM12JUL201601SEP2024Paul_FRAFrance4700398701JUL201630SEP202420168
4MEDIUM05MAR201501JUN2024Ravi_INDIndia4800388801MAR201530JUN202420159
5LOW15JUN201830SEP2024Anita_INIndia3500358201JUN201830SEP202420186
6MEDIUM10APR201610OCT2024Leo_ITAItaly4750418901APR201631OCT202420168
7MEDIUM11MAY201715AUG2024Akira_JPJapan3620368501MAY201731AUG202420177
8ELITE10FEB200820NOV2024Maria_RURussia71400489501FEB200830NOV2024200816
9HIGH01JUN201120DEC2024Elena_RURussia61300469301JUN201131DEC2024201113
10HIGH01APR201215NOV2024Ivan_RUSRussia51100439101APR201230NOV2024201212
11MEDIUM01MAR201712SEP2024Carlos_ESpain3620378601MAR201730SEP202420177
12LOW10MAR202105APR2024Ahmed_UAUAE2300348001MAR202130APR202420213
13ELITE01JAN200530DEC2024Tom_USAUSA81600509701JAN200531DEC2024200519
14ELITE01JAN200731DEC2024James_USUSA71450499601JAN200731DEC2024200717
15HIGH01JAN201015DEC2024John_USAUSA61240459201JAN201031DEC2024201014
16HIGH02FEB201418DEC2024Mark_USAUSA51000429001FEB201431DEC2024201410


proc sort data=country_stats; by Country; run;

proc print data=country_stats;

run;

OUTPUT:

ObsCountryAstronautsAvg_HoursAvg_Success
1China21050.0092.00
2France1700.0087.00
3India2650.0085.00
4Italy1750.0089.00
5Japan1620.0085.00
6Russia31266.6793.00
7Spain1620.0086.00
8UAE1300.0080.00
9USA41322.5093.75


data final_astronauts;

    merge astronauts_sorted country_stats;

    by Country;

run;

proc print data=final_astronauts;

run;

Now every astronaut also carries national performance metrics.

OUTPUT:

ObsSUCCESS_LEVELFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_RateMission_StartMission_EndMission_YearYears_of_ServiceAstronautsAvg_HoursAvg_Success
1HIGH01JAN201222DEC2024Sun_CHNChina61200449401JAN201231DEC202420121221050.0092.00
2HIGH20APR201310OCT2024Li_CHNChina5900409001APR201331OCT202420131121050.0092.00
3MEDIUM12JUL201601SEP2024Paul_FRAFrance4700398701JUL201630SEP2024201681700.0087.00
4MEDIUM05MAR201501JUN2024Ravi_INDIndia4800388801MAR201530JUN2024201592650.0085.00
5LOW15JUN201830SEP2024Anita_INIndia3500358201JUN201830SEP2024201862650.0085.00
6MEDIUM10APR201610OCT2024Leo_ITAItaly4750418901APR201631OCT2024201681750.0089.00
7MEDIUM11MAY201715AUG2024Akira_JPJapan3620368501MAY201731AUG2024201771620.0085.00
8ELITE10FEB200820NOV2024Maria_RURussia71400489501FEB200830NOV202420081631266.6793.00
9HIGH01JUN201120DEC2024Elena_RURussia61300469301JUN201131DEC202420111331266.6793.00
10HIGH01APR201215NOV2024Ivan_RUSRussia51100439101APR201230NOV202420121231266.6793.00
11MEDIUM01MAR201712SEP2024Carlos_ESpain3620378601MAR201730SEP2024201771620.0086.00
12LOW10MAR202105APR2024Ahmed_UAUAE2300348001MAR202130APR2024202131300.0080.00
13ELITE01JAN200530DEC2024Tom_USAUSA81600509701JAN200531DEC202420051941322.5093.75
14ELITE01JAN200731DEC2024James_USUSA71450499601JAN200731DEC202420071741322.5093.75
15HIGH01JAN201015DEC2024John_USAUSA61240459201JAN201031DEC202420101441322.5093.75
16HIGH02FEB201418DEC2024Mark_USAUSA51000429001FEB201431DEC202420141041322.5093.75


12. APPEND – Add New Astronauts

data new_astronaut;

    input Name $ Country $ Missions Total_Hours_in_Space Age Success_Rate;

    datalines;

Neil_USA USA 2 350 34 85

;

run;

proc print data=new_astronaut;

run;

OUTPUT:

ObsNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_Rate
1Neil_USAUSA23503485


proc append base=final_astronauts 

            data=new_astronaut force;

run;

proc print data=final_astronauts;

run;

This simulates onboarding of new astronauts.

OUTPUT:

ObsSUCCESS_LEVELFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_RateMission_StartMission_EndMission_YearYears_of_ServiceAstronautsAvg_HoursAvg_Success
1HIGH01JAN201222DEC2024Sun_CHNChina61200449401JAN201231DEC202420121221050.0092.00
2HIGH20APR201310OCT2024Li_CHNChina5900409001APR201331OCT202420131121050.0092.00
3MEDIUM12JUL201601SEP2024Paul_FRAFrance4700398701JUL201630SEP2024201681700.0087.00
4MEDIUM05MAR201501JUN2024Ravi_INDIndia4800388801MAR201530JUN2024201592650.0085.00
5LOW15JUN201830SEP2024Anita_INIndia3500358201JUN201830SEP2024201862650.0085.00
6MEDIUM10APR201610OCT2024Leo_ITAItaly4750418901APR201631OCT2024201681750.0089.00
7MEDIUM11MAY201715AUG2024Akira_JPJapan3620368501MAY201731AUG2024201771620.0085.00
8ELITE10FEB200820NOV2024Maria_RURussia71400489501FEB200830NOV202420081631266.6793.00
9HIGH01JUN201120DEC2024Elena_RURussia61300469301JUN201131DEC202420111331266.6793.00
10HIGH01APR201215NOV2024Ivan_RUSRussia51100439101APR201230NOV202420121231266.6793.00
11MEDIUM01MAR201712SEP2024Carlos_ESpain3620378601MAR201730SEP2024201771620.0086.00
12LOW10MAR202105APR2024Ahmed_UAUAE2300348001MAR202130APR2024202131300.0080.00
13ELITE01JAN200530DEC2024Tom_USAUSA81600509701JAN200531DEC202420051941322.5093.75
14ELITE01JAN200731DEC2024James_USUSA71450499601JAN200731DEC202420071741322.5093.75
15HIGH01JAN201015DEC2024John_USAUSA61240459201JAN201031DEC202420101441322.5093.75
16HIGH02FEB201418DEC2024Mark_USAUSA51000429001FEB201431DEC202420141041322.5093.75
17 ..Neil_USAUSA23503485.......


13. SET – Combine Old and New Records

data all_astronauts;

    set final_astronauts

        new_astronaut;

run;

proc print data=all_astronauts;

run;

OUTPUT:

ObsSUCCESS_LEVELFirst_MissionLast_MissionNameCountryMissionsTotal_Hours_in_SpaceAgeSuccess_RateMission_StartMission_EndMission_YearYears_of_ServiceAstronautsAvg_HoursAvg_Success
1HIGH01JAN201222DEC2024Sun_CHNChina61200449401JAN201231DEC202420121221050.0092.00
2HIGH20APR201310OCT2024Li_CHNChina5900409001APR201331OCT202420131121050.0092.00
3MEDIUM12JUL201601SEP2024Paul_FRAFrance4700398701JUL201630SEP2024201681700.0087.00
4MEDIUM05MAR201501JUN2024Ravi_INDIndia4800388801MAR201530JUN2024201592650.0085.00
5LOW15JUN201830SEP2024Anita_INIndia3500358201JUN201830SEP2024201862650.0085.00
6MEDIUM10APR201610OCT2024Leo_ITAItaly4750418901APR201631OCT2024201681750.0089.00
7MEDIUM11MAY201715AUG2024Akira_JPJapan3620368501MAY201731AUG2024201771620.0085.00
8ELITE10FEB200820NOV2024Maria_RURussia71400489501FEB200830NOV202420081631266.6793.00
9HIGH01JUN201120DEC2024Elena_RURussia61300469301JUN201131DEC202420111331266.6793.00
10HIGH01APR201215NOV2024Ivan_RUSRussia51100439101APR201230NOV202420121231266.6793.00
11MEDIUM01MAR201712SEP2024Carlos_ESpain3620378601MAR201730SEP2024201771620.0086.00
12LOW10MAR202105APR2024Ahmed_UAUAE2300348001MAR202130APR2024202131300.0080.00
13ELITE01JAN200530DEC2024Tom_USAUSA81600509701JAN200531DEC202420051941322.5093.75
14ELITE01JAN200731DEC2024James_USUSA71450499601JAN200731DEC202420071741322.5093.75
15HIGH01JAN201015DEC2024John_USAUSA61240459201JAN201031DEC202420101441322.5093.75
16HIGH02FEB201418DEC2024Mark_USAUSA51000429001FEB201431DEC202420141041322.5093.75
17 ..Neil_USAUSA23503485.......
18 ..Neil_USAUSA23503485.......

 

14. What This Project Simulates in Real Life

This project mirrors how:

·       NASA tracks crew readiness

·       ISRO tracks Gaganyaan astronauts

·       ESA evaluates international partners

·       SpaceX picks long-duration crews


1. DATA  ENGINEERING SKILLS YOU LEARN

We learned how to build structured datasets from scratch using SAS.

You practiced:

Skill

What it means in real life

DATA Step

Creating astronaut master records

SET

Combining multiple astronaut tables

APPEND

Adding new astronauts

MERGE

Linking astronaut data with country stats

TRANSPOSE

Converting rows to columns for reporting

These are the same techniques used in:

·       Clinical trials

·       Banking risk systems

·       Aerospace crew management

·       HR analytics

We are no longer just “writing SAS” — we are building data pipelines.ENGINEERING SKILLS We LEARN

We learned how to build structured datasets from scratch using SAS.

We practiced:

Skill

What it means in real life

DATA Step

Creating astronaut master records

SET

Combining multiple astronaut tables

APPEND

Adding new astronauts

MERGE

Linking astronaut data with country stats

TRANSPOSE

Converting rows to columns for reporting

These are the same techniques used in:

·       Clinical trials

·       Banking risk systems

·       Aerospace crew management

·       HR analytics


2. DATE AND TIME ANALYTICS (MOST IMPORTANT)

Space agencies depend heavily on time calculations.

We learned how to use:

Function

What you did

MDY

Created proper calendar dates

INTNX

Calculated mission start and end dates

INTCK

Measured years of service in space

This is exactly how:

·       NASA tracks astronaut service

·       Pharma companies track drug exposure

·       Banks track account age

We now know how to handle time-based analytics, which is one of the most in-demand SAS skills.


About the Author:

SAS Learning Hub is a data analytics and SAS programming platform focused on clinical, financial, and real-world data analysis. The content is created by professionals with academic training in Pharmaceutics and hands-on experience in Base SAS, PROC SQL, Macros, SDTM, and ADaM, providing practical and industry-relevant SAS learning resources.


Disclaimer:

The datasets and analysis in this article are created for educational and demonstration purposes only. They do not represent astronaut data.


Our Mission:

This blog provides industry-focused SAS programming tutorials and analytics projects covering finance, healthcare, and technology.


This project is suitable for:

SAS Programmer Interviews

SAS Programmer Job Seekers

SAS Analysts


Follow Us On : 


 


--->Follow our blog for more SAS-based analytics projects and industry data models.


To deepen your understanding of SAS analytics, please refer to our other data science and industry-focused projects listed below:









Comments

Popular posts from this blog

184.HOW TO CREATE MOCK SHELLS AND CLINICAL DATA LISTINGS IN SAS USING DATA NULL | PROC PRINT | PROC REPORT | PROC SORT | PROC COMPARE | ODS PDF | ODS RTF | ODS EXCEL | A COMPLETE STEP-BY-STEP GUIDE FOR CLINICAL SAS PROGRAMMERS

62.ADDING NEW DATA INTO AVAILABLE DATA USING MERGE

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