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;
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;
Thank you so much. It worked.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.