<?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 Array subscript out of range in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Array-subscript-out-of-range/m-p/391450#M94008</link>
    <description>&lt;P&gt;My code is below. My approach is clunky at best. I submit it, see if there is an error, adjust the code and resubmit. How can I edit it so that SAS determines the dimensions needed?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data coregrades;&lt;BR /&gt;set core2;&lt;BR /&gt;format mark1-mark5 $3. course_name1-course_name5 $8. name1-name5 $30. point1-point5 1. course_number1-course_number5 $8.;&lt;BR /&gt;by student_number;&lt;BR /&gt;retain name1-name5 course_name1-course_name5 mark1-mark5 point1-point5 course_number1-course_number5;&lt;BR /&gt;if first.student_number then do;&lt;BR /&gt;name1=' '; name2=' '; name3=' '; name4=' '; name5=' ';&lt;BR /&gt;course_name1=' '; course_name2=' '; course_name3=' '; course_name4=' '; course_name5=' ';&lt;BR /&gt;mark1=' '; mark2=' '; mark3=' '; mark4=' '; mark5=' ';&lt;BR /&gt;point1=.; point2=.; point3=.; point4=.; point5=.;&lt;BR /&gt;course_number1=' ';course_number2=' ';course_number3=' ';course_number4=' ';course_number5=' ';&lt;BR /&gt;markcount=1;&lt;BR /&gt;end;&lt;BR /&gt;array names {5} name1-name5;&lt;BR /&gt;array course_names {5} course_name1-course_name5;&lt;BR /&gt;array marks {5} mark1-mark5;&lt;BR /&gt;array points {5} point1-point5;&lt;BR /&gt;array course_numbers {5} course_number1-course_number5;&lt;BR /&gt;names {markcount} = name;&lt;BR /&gt;course_names {markcount} = course_name;&lt;BR /&gt;marks {markcount} = mark;&lt;BR /&gt;points {markcount} = point;&lt;BR /&gt;course_numbers {markcount} = course_number;&lt;BR /&gt;markcount+1;&lt;BR /&gt;drop name course_name mark point course_number;&lt;BR /&gt;if last.student_number;&lt;BR /&gt;run;&lt;/P&gt;</description>
    <pubDate>Tue, 29 Aug 2017 12:53:02 GMT</pubDate>
    <dc:creator>GreggB</dc:creator>
    <dc:date>2017-08-29T12:53:02Z</dc:date>
    <item>
      <title>Array subscript out of range</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-subscript-out-of-range/m-p/391450#M94008</link>
      <description>&lt;P&gt;My code is below. My approach is clunky at best. I submit it, see if there is an error, adjust the code and resubmit. How can I edit it so that SAS determines the dimensions needed?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data coregrades;&lt;BR /&gt;set core2;&lt;BR /&gt;format mark1-mark5 $3. course_name1-course_name5 $8. name1-name5 $30. point1-point5 1. course_number1-course_number5 $8.;&lt;BR /&gt;by student_number;&lt;BR /&gt;retain name1-name5 course_name1-course_name5 mark1-mark5 point1-point5 course_number1-course_number5;&lt;BR /&gt;if first.student_number then do;&lt;BR /&gt;name1=' '; name2=' '; name3=' '; name4=' '; name5=' ';&lt;BR /&gt;course_name1=' '; course_name2=' '; course_name3=' '; course_name4=' '; course_name5=' ';&lt;BR /&gt;mark1=' '; mark2=' '; mark3=' '; mark4=' '; mark5=' ';&lt;BR /&gt;point1=.; point2=.; point3=.; point4=.; point5=.;&lt;BR /&gt;course_number1=' ';course_number2=' ';course_number3=' ';course_number4=' ';course_number5=' ';&lt;BR /&gt;markcount=1;&lt;BR /&gt;end;&lt;BR /&gt;array names {5} name1-name5;&lt;BR /&gt;array course_names {5} course_name1-course_name5;&lt;BR /&gt;array marks {5} mark1-mark5;&lt;BR /&gt;array points {5} point1-point5;&lt;BR /&gt;array course_numbers {5} course_number1-course_number5;&lt;BR /&gt;names {markcount} = name;&lt;BR /&gt;course_names {markcount} = course_name;&lt;BR /&gt;marks {markcount} = mark;&lt;BR /&gt;points {markcount} = point;&lt;BR /&gt;course_numbers {markcount} = course_number;&lt;BR /&gt;markcount+1;&lt;BR /&gt;drop name course_name mark point course_number;&lt;BR /&gt;if last.student_number;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Aug 2017 12:53:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-subscript-out-of-range/m-p/391450#M94008</guid>
      <dc:creator>GreggB</dc:creator>
      <dc:date>2017-08-29T12:53:02Z</dc:date>
    </item>
    <item>
      <title>Re: Array subscript out of range</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-subscript-out-of-range/m-p/391459#M94010</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;you could use the colon wildcard.&lt;/P&gt;&lt;PRE&gt;data test;
   name1=1;
   name2=2;
   name3=3;
   name4=4;
   name5=5;
   output;
run;
data test;
   set test;
   array names name:;
   do over names;
      names=names+1;
      put names;
   end;
run;&lt;/PRE&gt;</description>
      <pubDate>Tue, 29 Aug 2017 13:07:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-subscript-out-of-range/m-p/391459#M94010</guid>
      <dc:creator>Oligolas</dc:creator>
      <dc:date>2017-08-29T13:07:39Z</dc:date>
    </item>
    <item>
      <title>Re: Array subscript out of range</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-subscript-out-of-range/m-p/391461#M94011</link>
      <description>&lt;P&gt;Determine the needed array size by running:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table int as
select count(*) as count from core2 group by student_number;
select max(count) from int;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 29 Aug 2017 13:08:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-subscript-out-of-range/m-p/391461#M94011</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-29T13:08:10Z</dc:date>
    </item>
  </channel>
</rss>

