Character values have been converted to numeric values

Reply
New Contributor
Posts: 2

Character values have been converted to numeric values

I am having some trouble with SAS formats that I cannot figure out. I have two variables-- ptid2 and dob2. When I run a proc contents I am told that these variables have the following properties:

         

ptid2:     type=char     len=11     format=$11.      informat=$11.

dob2:     type=num     len=8       format=date9.   informat=date9

then I create a new data set from this data set that changes these variables in some cases. The code is as follows:

if ptid='00302333XX1' and inc_date2 lt 201005

     then do;

          ptid2='00305560440' and dob2=mdy(3,30,2010);

     end;

else if ptid='00302333XX1' and inc_date2 ge 201005

     then do;

          ptid2='00305560555' and dob2=mdy(5,23,2011);

when I run this code I am told that char values are being converted to numeric values at column 19 (where I am setting ptid='XXXXXXXXXXX' and numeric values are being converted to char values at column 33 (where I am setting dob2=mdy(mm,dd,yyyy).

Any thoughts on why this may be happening??

Thank you for your help!

Super User
Posts: 19,806

Re: Character values have been converted to numeric values

inc_date2 lt 201005

Check that line.

What format/type is inc_date2 and 201005 isn't a valid date to compare to, so what are you trying to check.

I'm assuming you haven't calculated the sas numeric date of something here...

Super User
Posts: 5,505

Re: Character values have been converted to numeric values

Your outcomes must be listed as separate statements.

if ... then do;

   ptid2='00305560440';

   dob2=mdy(3,30,2010);

end;

You may have problems with the comparison as well, as Reeza indicated.  It would help if you would post the similar PROC CONTENTS results for inc_date2.

Good luck.

Ask a Question
Discussion stats
  • 2 replies
  • 203 views
  • 0 likes
  • 3 in conversation