DATA Step, Macro, Functions and more

Why are dates changing -- and why is intck not generating a number?

Accepted Solution Solved
Reply
Contributor
Posts: 44
Accepted Solution

Why are dates changing -- and why is intck not generating a number?

My current code is.

 

1. The "svcdate" variable in the "have" dataset starts with 2010 dates but for some reason in the "want" dataset output, I only get dates that are based on 1960s (resembles more like the patient's birthdates)

 

2. my enrolled_days_tot are showing up as "." in the output dataset Smiley Sad

 

Anybody know what is going on here? Thank you so much!

 

 

data want;
			do until(last.enrolid);
			set have;
			where (dx1 in (&dx1_list.) or dx2 in (&dx1_list.) or dx3 in (&dx1_list.) or dx4 in (&dx1_list.))
				and age >=&age_cutoff.;
			by enrolid enroll_start_dt enroll_end_dt;
			if first.enrolid then index_dt=svcdate and enrolled_days_tot=intck('days', enroll_end_dt, enroll_start_dt);
				format index_dt date11.; 
				output;
			end;
			keep enrolid enroll_start_dt enroll_end_dt index_dt enrolled_days_tot;
		run;

Accepted Solutions
Solution
‎12-31-2017 11:28 PM
PROC Star
Posts: 1,570

Re: Why are dates changing -- and why is intck not generating a number?

This is erroneous:

 

if first.enrolid then index_dt=svcdate and enrolled_days_tot=intck('days', enroll_end_dt, enroll_start_dt);
				

 do you mean something like:

if first.enrolid and index_dt=svcdate then enrolled_days_tot=intck('days', enroll_end_dt, enroll_start_dt);
				

or 

if first.enrolid then do;
index_dt=svcdate;
enrolled_days_tot=intck('days', enroll_end_dt, enroll_start_dt);
end;

 I am only guessing. 

View solution in original post


All Replies
Solution
‎12-31-2017 11:28 PM
PROC Star
Posts: 1,570

Re: Why are dates changing -- and why is intck not generating a number?

This is erroneous:

 

if first.enrolid then index_dt=svcdate and enrolled_days_tot=intck('days', enroll_end_dt, enroll_start_dt);
				

 do you mean something like:

if first.enrolid and index_dt=svcdate then enrolled_days_tot=intck('days', enroll_end_dt, enroll_start_dt);
				

or 

if first.enrolid then do;
index_dt=svcdate;
enrolled_days_tot=intck('days', enroll_end_dt, enroll_start_dt);
end;

 I am only guessing. 

Contributor
Posts: 44

Re: Why are dates changing -- and why is intck not generating a number

Posted in reply to novinosrin
ahh yes! The latter! I shall try that. Thank you!!
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 259 views
  • 0 likes
  • 2 in conversation