DATA Step, Macro, Functions and more

why is the LOG showing error when I have entered numeric values for the variable (Ques1-ques5)?

Reply
Occasional Contributor
Posts: 13

why is the LOG showing error when I have entered numeric values for the variable (Ques1-ques5)?

data user_format;
input ID : $3. gender$ age salary (ques1-ques5);
datalines;
  001 M 23 28000 1 2 1 2 3
  002 F 55 76123 4 5 2 1 1
  003 M 38 36500 2 2 2 2 1
  004 F 67 128000 5 3 2 2 4
  005 M 22 23060 3 3 3 4 2
  006 M 63 90000 2 3 5 4 3
  007 F 45 76100 5 3 4 3 3 
run;
  
  proc format;
   value $gender 'M' = 'Male'
                 'F' = 'Female'
                 ' ' = 'Not entered'
                 other = 'Miscoded';
   value age  low-29 = 'Less than 29'
                    30-50 = '30 to 50'
                    51-high = '51+';
   value ques '1' = 'Strongly disagree'
                     '2' = 'Disagree'
                     '3' = 'No opinion'
                     '4' = 'Agree'
                     '5' = 'Strongly agree';
 proc print data=user_format;
 id ID;
 var gender age ques1-ques5;
 format gender $gender.
        age age.
        ques1-ques5 ques.;
 run;

sas.png

Super User
Posts: 22,844

Re: why is the LOG showing error when I have entered numeric values for the variable (Ques1-ques5)?

You created the format with the character one, '1', not the numeric value 1, 1 (no quotes). Remove the quotes and it should be fine.

 

   value ques '1' = 'Strongly disagree'
                     '2' = 'Disagree'
                     '3' = 'No opinion'
                     '4' = 'Agree'
                     '5' = 'Strongly agree';

 

 


b384b7 wrote:
data user_format;
input ID : $3. gender$ age salary (ques1-ques5);
datalines;
  001 M 23 28000 1 2 1 2 3
  002 F 55 76123 4 5 2 1 1
  003 M 38 36500 2 2 2 2 1
  004 F 67 128000 5 3 2 2 4
  005 M 22 23060 3 3 3 4 2
  006 M 63 90000 2 3 5 4 3
  007 F 45 76100 5 3 4 3 3 
run;
  
  proc format;
   value $gender 'M' = 'Male'
                 'F' = 'Female'
                 ' ' = 'Not entered'
                 other = 'Miscoded';
   value age  low-29 = 'Less than 29'
                    30-50 = '30 to 50'
                    51-high = '51+';
   value ques '1' = 'Strongly disagree'
                     '2' = 'Disagree'
                     '3' = 'No opinion'
                     '4' = 'Agree'
                     '5' = 'Strongly agree';
 proc print data=user_format;
 id ID;
 var gender age ques1-ques5;
 format gender $gender.
        age age.
        ques1-ques5 ques.;
 run;

sas.png


 

Occasional Contributor
Posts: 13

Re: why is the LOG showing error when I have entered numeric values for the variable (Ques1-ques5)?

Thank you so much. It worked.

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