Hello,
I want the program not calculate flux and age if it is the first secid. I write this but it does not work. it still calculate for the first secid. What is wrong with this if first.secid then call missing(flux, age);
thanks
data ageyear;
set inception;
Age = yrdif(Inception_date, sas_date,'Actual');
flux=(TNA-lag1(TNA)*(1+mret))/(lag1(TNA));
if first.secid then call missing(flux, age);
run;
The FIRST. construct in a SAS data step requires a BY statement.
Also, it's not 100% clear to me what your requirement is ... do you mean first record in the data set, or first record of a block of SECID? If it is first record in the data set use
if _n_=1 then ...
I need to put the first record of a block of SECID to missing value.
Thanks
Then you need the BY statement.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.