<?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: Input statement not lining up to data fields in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475885#M122395</link>
    <description>&lt;P&gt;That is because you used the &amp;amp; modifier.&amp;nbsp; That instructs SAS to stop when it sees two or more spaces.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So on the first line&lt;/P&gt;
&lt;PRE&gt;  172 infile datalines ;
  173 input id 5. name&amp;amp;$20. age 3. sex$7. sal 5.;
NOTE: Invalid data for sal in line 175 33-37.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6
  175 1002 sarvesh ranjani      30 male 32000
id=1002 name=sarvesh ranjani age=. sex=30 mal sal=.&lt;/PRE&gt;
&lt;P&gt;It starts to read the last three fields at 23 instead of column 26.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So it reads columns 23-25 into AGE and since they are blank it sets AGE to missing.&lt;/P&gt;
&lt;P&gt;It then reads columns 26-32 into SEX so SEX is set to '30 mal' , since the $7. informat will left align the value.&lt;/P&gt;
&lt;P&gt;When it tries to read SAL it sees 'e 320' which is not a valid number.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 06 Jul 2018 02:08:59 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2018-07-06T02:08:59Z</dc:date>
    <item>
      <title>Input statement not lining up to data fields</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475882#M122393</link>
      <description>&lt;P&gt;data ds;&lt;BR /&gt;infile datalines ;&lt;BR /&gt;input id 5. name&amp;amp;$20. age 3. sex$7. sal 5.;&lt;BR /&gt;datalines;&lt;BR /&gt;1002 sarvesh ranjani 30 male 32000&lt;BR /&gt;1006 radhe govinda swamy 30 female 30000&lt;BR /&gt;1047 yagna prajna shohel 52 male 32200&lt;BR /&gt;1098 keerthana gowsami 32 female 12000&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data ds;
infile datalines ;
input id 5. name&amp;amp;$20. age 3. sex$7. sal 5.;
datalines;
1002 sarvesh ranjani     30  male   32000
1006 radhe govinda swamy 30  female 30000
1047 yagna prajna shohel 52  male   32200
1098 keerthana gowsami   32  female 12000
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;171 data ds;&lt;BR /&gt;172 infile datalines ;&lt;BR /&gt;173 input id 5. name&amp;amp;$20. age 3. sex$7. sal 5.;&lt;BR /&gt;174 datalines;&lt;/P&gt;
&lt;P&gt;NOTE: Invalid data for sal in line 175 33-37.&lt;BR /&gt;RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+---&lt;BR /&gt;175 1002 sarvesh ranjani 30 male 32000&lt;BR /&gt;id=1002 name=sarvesh ranjani age=. sex=30 mal sal=. _ERROR_=1 _N_=1&lt;BR /&gt;NOTE: Invalid data for age in line 176 30-32.&lt;BR /&gt;176 1006 radhe govinda swamy 30 female 30000&lt;BR /&gt;id=1006 name=radhe govinda swamy age=. sex=ale 300 sal=0 _ERROR_=1 _N_=2&lt;BR /&gt;NOTE: Invalid data for age in line 177 30-32.&lt;BR /&gt;177 1047 yagna prajna shohel 52 male 32200&lt;BR /&gt;id=1047 name=yagna prajna shohel age=. sex=e 322 sal=0 _ERROR_=1 _N_=3&lt;BR /&gt;NOTE: Invalid data for sal in line 178 35-39.&lt;BR /&gt;178 1098 keerthana gowsami 32 female 12000&lt;BR /&gt;id=1098 name=keerthana gowsami age=32 sex=femal sal=. _ERROR_=1 _N_=4&lt;BR /&gt;NOTE: The data set WORK.DS has 4 observations and 5 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;real time 0.01 seconds&lt;BR /&gt;cpu time 0.01 seconds&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;179 ;&lt;BR /&gt;180 run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jul 2018 01:56:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475882#M122393</guid>
      <dc:creator>vinod4842</dc:creator>
      <dc:date>2018-07-06T01:56:21Z</dc:date>
    </item>
    <item>
      <title>Re: Input statement not lining up to data fields</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475884#M122394</link>
      <description>&lt;P&gt;You've selected a style of INPUT which is overly complex for the data that you are reading.&amp;nbsp; Why not just use a straightforward statement?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;input&amp;nbsp; id 1-4&amp;nbsp; name $ 6-25&amp;nbsp; age 26-27&amp;nbsp; sex $ 30-35&amp;nbsp; sal 37-41;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jul 2018 02:07:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475884#M122394</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-07-06T02:07:43Z</dc:date>
    </item>
    <item>
      <title>Re: Input statement not lining up to data fields</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475885#M122395</link>
      <description>&lt;P&gt;That is because you used the &amp;amp; modifier.&amp;nbsp; That instructs SAS to stop when it sees two or more spaces.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So on the first line&lt;/P&gt;
&lt;PRE&gt;  172 infile datalines ;
  173 input id 5. name&amp;amp;$20. age 3. sex$7. sal 5.;
NOTE: Invalid data for sal in line 175 33-37.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6
  175 1002 sarvesh ranjani      30 male 32000
id=1002 name=sarvesh ranjani age=. sex=30 mal sal=.&lt;/PRE&gt;
&lt;P&gt;It starts to read the last three fields at 23 instead of column 26.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So it reads columns 23-25 into AGE and since they are blank it sets AGE to missing.&lt;/P&gt;
&lt;P&gt;It then reads columns 26-32 into SEX so SEX is set to '30 mal' , since the $7. informat will left align the value.&lt;/P&gt;
&lt;P&gt;When it tries to read SAL it sees 'e 320' which is not a valid number.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jul 2018 02:08:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475885#M122395</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-07-06T02:08:59Z</dc:date>
    </item>
    <item>
      <title>Re: Input statement not lining up to data fields</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475887#M122396</link>
      <description>&lt;P&gt;NOW WHAT IS CORRECT PROGRAM FOR THAT&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jul 2018 02:30:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-statement-not-lining-up-to-data-fields/m-p/475887#M122396</guid>
      <dc:creator>vinod4842</dc:creator>
      <dc:date>2018-07-06T02:30:00Z</dc:date>
    </item>
  </channel>
</rss>

