BookmarkSubscribeRSS Feed
Nikos
Fluorite | Level 6

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



bygroupreplacemissing.png
3 REPLIES 3
Nikos
Fluorite | Level 6

just a typo

in the last by group: where 'O' should be replaced with 'V'

Thank you

mohamed_zaki
Barite | Level 11

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;

mohamed_zaki
Barite | Level 11

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;

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 918 views
  • 0 likes
  • 2 in conversation