<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Proc Format is Not Work as Expected in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Proc-Format-is-Not-Work-as-Expected/m-p/600052#M16565</link>
    <description>&lt;P&gt;What it says. Since you need to be able to append a width to the format name where used, the name itself MUST NOT end with a number. Use an additional underline to prevent this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;value A1_
  1 = 'Strongly Disagree' 
  2 = 'Disagree'
  3 = 'No Opinion'
  4 = 'Agree'
  5 = 'Strongly Agree'
;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 29 Oct 2019 13:10:00 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2019-10-29T13:10:00Z</dc:date>
    <item>
      <title>Proc Format is Not Work as Expected</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Proc-Format-is-Not-Work-as-Expected/m-p/600051#M16564</link>
      <description>&lt;P&gt;Hi SAS Experts,&lt;/P&gt;&lt;P&gt;Trying to Proc Format A1-A5, unfortunately couldn't generate as per described with following errors.&lt;/P&gt;&lt;P&gt;What's wrong with the SAS code?&lt;/P&gt;&lt;P&gt;Helps.....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a;
	infile '/folders/myfolders/a.txt';
	input ID $3. Gender $ age salary A1 A2 A3 A4 A5;
run;

proc format;
value $gender 'M' = 'Male'
			  'F' = 'Female'
			  ' ' = 'Not Entered'
			other = 'Miscoded';
			
value age low-29  = 'Less than 30'
          30-50   = '30 to 50'
          51-high = '51+';
          
value A1      1 = 'Strongly Disagree' 
			  2 = 'Disagree'
			  3 = 'No Opinion'
			  4 = 'Agree'
			  5 = 'Strongly Agree';

proc print data=a noobs;
var id gender age salary A1-A5;
format 
	   gender $gender.
	   age    age.
	   salary dollar11.2
	   A1 A1.;	   
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;ID Gender age salary A1 A2 A3 A4 A5&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;001&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;Less than 30&lt;/TD&gt;&lt;TD&gt;$28,000.00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;51+&lt;/TD&gt;&lt;TD&gt;$76,123.00&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;003&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;30 to 50&lt;/TD&gt;&lt;TD&gt;$36,500.00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;51+&lt;/TD&gt;&lt;TD&gt;$128,000.00&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;005&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;Less than 30&lt;/TD&gt;&lt;TD&gt;$23,060.00&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;006&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;51+&lt;/TD&gt;&lt;TD&gt;$90,000.00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;007&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;30 to 50&lt;/TD&gt;&lt;TD&gt;$76,100.00&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;Below is the Log Results:-&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="dijitContentPane dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane dijitAlignCenter dijitContentPaneSingleChild"&gt;&lt;DIV class="dijitBorderContainer dijitContainer row-fluid dijitLayoutContainer"&gt;&lt;DIV class="dijitContentPane dijitAlignCenter dijitContentPaneSingleChild dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane"&gt;&lt;DIV class="tabs dijitBorderContainer dijitContainer dojoDndTarget sasStudioTabsParentContainer dijitLayoutContainer dojoDndContainerOver"&gt;&lt;DIV class="dijitTabContainer dijitTabContainerTop dijitContainer dijitLayoutContainer tabStrip-disabled sasStudioTabsTabContainer sasStudioTabsTabContainerVertical sasStudioTabsTop dijitBorderContainer-child dijitBorderContainer-dijitTabContainerTop dijitBorderContainerPane dijitAlignCenter"&gt;&lt;DIV class="dijitTabPaneWrapper dijitTabContainerTop-container dijitAlignCenter"&gt;&lt;DIV class="dijitTabContainerTopChildWrapper dijitVisible"&gt;&lt;DIV class="dijitBorderContainer dijitContainer sasStudioTabsTabContainerChild dijitTabPane dijitTabContainerTop-child dijitTabContainerTop-dijitBorderContainer dijitLayoutContainer"&gt;&lt;DIV class="dijitBorderContainer dijitContainer dojoDndTarget dijitBorderContainer-child dijitBorderContainer-dijitBorderContainer dijitBorderContainerPane dijitAlignCenter dijitLayoutContainer dojoDndContainerOver"&gt;&lt;DIV class="dijitTabContainer dijitTabContainerTop dijitContainer dijitLayoutContainer tabStrip-disabled sasSuiteTabs dijitBorderContainer-child dijitBorderContainer-dijitTabContainerTop dijitBorderContainerPane dijitAlignCenter"&gt;&lt;DIV class="dijitTabPaneWrapper dijitTabContainerTop-container dijitAlignCenter"&gt;&lt;DIV class="dijitTabContainerTopChildWrapper dijitVisible"&gt;&lt;DIV class="dijitBorderContainer dijitContainer dijitTabPane dijitTabContainerTop-child dijitTabContainerTop-dijitBorderContainer dijitLayoutContainer"&gt;&lt;DIV class="dijitBorderContainer dijitContainer dijitBorderContainer-child dijitBorderContainer-dijitBorderContainer dijitBorderContainerPane dijitAlignCenter dijitLayoutContainer"&gt;&lt;DIV class="dijitContentPane dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane dijitAlignCenter"&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV class="sasSource"&gt;1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;72&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="sasSource"&gt;73 data a;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;74 infile '/folders/myfolders/a.txt';&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;75 input ID $3. Gender $ age salary A1 A2 A3 A4 A5;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;76 run;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: The infile '/folders/myfolders/a.txt' is:&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;Filename=/folders/myfolders/a.txt,&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;Owner Name=root,Group Name=vboxsf,&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;Access Permission=-rwxrwx---,&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;Last Modified=29Oct2019:20:16:44,&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;File Size (bytes)=183&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: 8 records were read from the infile '/folders/myfolders/a.txt'.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;The minimum record length was 0.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;The maximum record length was 25.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: SAS went to a new line when INPUT statement reached past the end of a line.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: The data set WORK.A has 7 observations and 9 variables.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: DATA statement used (Total process time):&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;real time 0.01 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;cpu time 0.01 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;77&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;78 proc format;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;79 value $gender 'M' = 'Male'&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;80 'F' = 'Female'&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;81 ' ' = 'Not Entered'&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;82 other = 'Miscoded';&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: Format $GENDER is already on the library WORK.FORMATS.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: Format $GENDER has been output.&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;83&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;84 value age low-29 = 'Less than 30'&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;85 30-50 = '30 to 50'&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;86 51-high = '51+';&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: Format AGE is already on the library WORK.FORMATS.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: Format AGE has been output.&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;87&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;88 value A1 '1' = 'Strongly Disagree'&lt;/DIV&gt;&lt;DIV class="sasError"&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;ERROR: The format name A1 ends in a number, which is invalid.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;89 2 = 'Disagree'&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;90 3 = 'No Opinion'&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;91 4 = 'Agree'&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;92 5 = 'Strongly Agree';&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;NOTE: The previous statement has been deleted.&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;93&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: PROCEDURE FORMAT used (Total process time):&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;real time 0.00 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;cpu time 0.01 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;94 proc print data=a noobs;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;95 var id gender age salary A1-A5;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;96 format&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;97 gender $gender.&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;98 age age.&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;99 salary dollar11.2&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;100 A1 A1.;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;101&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;102&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;103 run;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: There were 7 observations read from the data set WORK.A.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: PROCEDURE PRINT used (Total process time):&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;real time 0.09 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;cpu time 0.09 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;104&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;105 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;117&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="dijitContentPane statusBar dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane dijitAlignBottom"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Tue, 29 Oct 2019 13:04:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Proc-Format-is-Not-Work-as-Expected/m-p/600051#M16564</guid>
      <dc:creator>User_Help</dc:creator>
      <dc:date>2019-10-29T13:04:36Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Format is Not Work as Expected</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Proc-Format-is-Not-Work-as-Expected/m-p/600052#M16565</link>
      <description>&lt;P&gt;What it says. Since you need to be able to append a width to the format name where used, the name itself MUST NOT end with a number. Use an additional underline to prevent this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;value A1_
  1 = 'Strongly Disagree' 
  2 = 'Disagree'
  3 = 'No Opinion'
  4 = 'Agree'
  5 = 'Strongly Agree'
;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 29 Oct 2019 13:10:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Proc-Format-is-Not-Work-as-Expected/m-p/600052#M16565</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-10-29T13:10:00Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Format is Not Work as Expected</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Proc-Format-is-Not-Work-as-Expected/m-p/600080#M16566</link>
      <description>&lt;P&gt;An example of why the SAS proc format doesn't allow numbers at the end of the format:&lt;/P&gt;
&lt;PRE&gt;proc format library=work;
value $gender 
   'M' = 'Male'
   'F' = 'Female'
   ' ' = 'Not Entered'
   other = 'Miscoded'
;
run;			

data example;
  input x $;
datalines;
M
F
.
pdq
;

proc print data=example;
   format x $gender3.;
run;&lt;/PRE&gt;
&lt;P&gt;The general rules for using a format is the displayed length of the value. Even when you assign a longer value by default you can override that default by specifying when the format is actually used.&lt;/P&gt;</description>
      <pubDate>Tue, 29 Oct 2019 14:40:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Proc-Format-is-Not-Work-as-Expected/m-p/600080#M16566</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-10-29T14:40:11Z</dc:date>
    </item>
  </channel>
</rss>

