Dear all,
In a by group I have missing values in variable STATUS for various Trade_Quarters.
I would like to replace the STATUS missing values based on the following:
If STATUS = 'C' (=cancelled) then if any SUBSEQUENT TRADE_QUARTERS take STATUS ='C'
If STATUS = 'C' (=cancelled) then if any PRIOR TRADE_QUARTERS take STATUS = 'V' (=Valid)
If there is no STATUS = 'C' then ALL values of STATUS become = 'V'
Pls. see data HAVE and WANT in the attached file.
Thanking you in advance for any hint.
Kind regards
Nikos
just a typo
in the last by group: where 'O' should be replaced with 'V'
Thank you
Check this *** Not tested
Data new ;
infile datalines dlm=',';
input STATUS $;
datalines;
C,
C,
,
V,
V,
,
,
V,
,
C,
,
,
;
run;
data newC;
retain newV ' ';
set new;
if _n_=1 and STATUS = ' ' then Do ;
*STATUS = 'V';
newV='V';
End;
Else if STATUS in ('C','V') then newV=STATUS;
*Else if STATUS=' ' then STATUS=newV;
run;
the previous one to see the change but the final code should be like the following"
data newC (drop=newV );
retain newV ' ';
set new;
if _n_=1 and STATUS = ' ' then Do ;
STATUS = 'V';
newV=STATUS;
End;
Else if STATUS in ('C','V') then newV=STATUS;
Else if STATUS=' ' then STATUS=newV;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.