<?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 issue in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Array-subscript-issue/m-p/545929#M151105</link>
    <description>&lt;P&gt;Can someone advise why im getting the array subscript out of range error&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;749 data Ischemic_stroke;&lt;BR /&gt;750 set CIHI.DAD1819Q2;&lt;BR /&gt;751 length STROKE_GROUP $ 40;&lt;BR /&gt;752&lt;BR /&gt;753 STROKE_ISC=0;&lt;BR /&gt;754 STROKE_CNT=0;&lt;BR /&gt;755 /* EXCLUDE UNDER 18 */&lt;BR /&gt;756 IF AGE&amp;lt;18 THEN STROKE_ISC=0;&lt;BR /&gt;757 /* EXCLUDE NON-ONTARIO FUNDED PATIENT */&lt;BR /&gt;758 IF PROVINCE_ISSUING_HCN ~='ON' OR RESPONSIBILITY_FOR_PAYMENT~='01' THEN STROKE_ISC=0;&lt;BR /&gt;759 /* EXCLUDE SURGICAL CASES */&lt;BR /&gt;760 IF MCC_PARTITION='I' THEN STROKE_ISC=0;&lt;BR /&gt;761&lt;BR /&gt;762 /* ARRAY - DIAGNOSIS CODE */&lt;BR /&gt;763&lt;BR /&gt;764 ARRAY DX_CODE [25] DIAG_CODE_01 - DIAG_CODE_25;&lt;BR /&gt;765 /* ARRAY - DIAGNOSIS TYPE */&lt;BR /&gt;766 ARRAY DX_TYPE [25] DIAG_TYPE_01 - DIAG_TYPE_25;&lt;BR /&gt;767&lt;BR /&gt;768&lt;BR /&gt;769 /* SEARCH FOR STROKE DIAGNOSIS CODES AND EXCLUDE TYPE 3 */&lt;BR /&gt;770&lt;BR /&gt;771 DO H=1 TO 25;&lt;BR /&gt;772&lt;BR /&gt;773 IF ((SUBSTR(DX_CODE[H],1,3) IN ('G45' 'I61' 'I63' 'I64') OR SUBSTR(DX_CODE[H],1,4) = 'H341'))and&lt;BR /&gt;773! SUBSTR(DX_CODE[H],1,4) NOT IN ('G454' 'I636') and DX_TYPE(H) NE '3' THEN DO&lt;BR /&gt;774 STROKE_ISC=1;&lt;BR /&gt;775&lt;BR /&gt;776 END;&lt;BR /&gt;777 END;&lt;BR /&gt;778&lt;BR /&gt;779 /* LIST OF 3-DIGIT STROKE DIAGNOSIS CODES - ISCHEMIC */&lt;BR /&gt;780 IF STROKE_ISC=1 and SUBSTR(DX_CODE[H],1,3) IN ('I63' 'I64' 'H34') THEN DO;&lt;BR /&gt;781 STROKE_CNT+1;&lt;BR /&gt;782 STROKE_GROUP = 'Stroke - Ischemic';&lt;BR /&gt;783 END;&lt;BR /&gt;784 DROP H ;&lt;BR /&gt;785&lt;BR /&gt;786 RUN;&lt;/P&gt;&lt;P&gt;ERROR: Array subscript out of range at line 780 column 28.&lt;/P&gt;</description>
    <pubDate>Mon, 25 Mar 2019 19:09:16 GMT</pubDate>
    <dc:creator>Ranjeeta</dc:creator>
    <dc:date>2019-03-25T19:09:16Z</dc:date>
    <item>
      <title>Array subscript issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-subscript-issue/m-p/545929#M151105</link>
      <description>&lt;P&gt;Can someone advise why im getting the array subscript out of range error&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;749 data Ischemic_stroke;&lt;BR /&gt;750 set CIHI.DAD1819Q2;&lt;BR /&gt;751 length STROKE_GROUP $ 40;&lt;BR /&gt;752&lt;BR /&gt;753 STROKE_ISC=0;&lt;BR /&gt;754 STROKE_CNT=0;&lt;BR /&gt;755 /* EXCLUDE UNDER 18 */&lt;BR /&gt;756 IF AGE&amp;lt;18 THEN STROKE_ISC=0;&lt;BR /&gt;757 /* EXCLUDE NON-ONTARIO FUNDED PATIENT */&lt;BR /&gt;758 IF PROVINCE_ISSUING_HCN ~='ON' OR RESPONSIBILITY_FOR_PAYMENT~='01' THEN STROKE_ISC=0;&lt;BR /&gt;759 /* EXCLUDE SURGICAL CASES */&lt;BR /&gt;760 IF MCC_PARTITION='I' THEN STROKE_ISC=0;&lt;BR /&gt;761&lt;BR /&gt;762 /* ARRAY - DIAGNOSIS CODE */&lt;BR /&gt;763&lt;BR /&gt;764 ARRAY DX_CODE [25] DIAG_CODE_01 - DIAG_CODE_25;&lt;BR /&gt;765 /* ARRAY - DIAGNOSIS TYPE */&lt;BR /&gt;766 ARRAY DX_TYPE [25] DIAG_TYPE_01 - DIAG_TYPE_25;&lt;BR /&gt;767&lt;BR /&gt;768&lt;BR /&gt;769 /* SEARCH FOR STROKE DIAGNOSIS CODES AND EXCLUDE TYPE 3 */&lt;BR /&gt;770&lt;BR /&gt;771 DO H=1 TO 25;&lt;BR /&gt;772&lt;BR /&gt;773 IF ((SUBSTR(DX_CODE[H],1,3) IN ('G45' 'I61' 'I63' 'I64') OR SUBSTR(DX_CODE[H],1,4) = 'H341'))and&lt;BR /&gt;773! SUBSTR(DX_CODE[H],1,4) NOT IN ('G454' 'I636') and DX_TYPE(H) NE '3' THEN DO&lt;BR /&gt;774 STROKE_ISC=1;&lt;BR /&gt;775&lt;BR /&gt;776 END;&lt;BR /&gt;777 END;&lt;BR /&gt;778&lt;BR /&gt;779 /* LIST OF 3-DIGIT STROKE DIAGNOSIS CODES - ISCHEMIC */&lt;BR /&gt;780 IF STROKE_ISC=1 and SUBSTR(DX_CODE[H],1,3) IN ('I63' 'I64' 'H34') THEN DO;&lt;BR /&gt;781 STROKE_CNT+1;&lt;BR /&gt;782 STROKE_GROUP = 'Stroke - Ischemic';&lt;BR /&gt;783 END;&lt;BR /&gt;784 DROP H ;&lt;BR /&gt;785&lt;BR /&gt;786 RUN;&lt;/P&gt;&lt;P&gt;ERROR: Array subscript out of range at line 780 column 28.&lt;/P&gt;</description>
      <pubDate>Mon, 25 Mar 2019 19:09:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-subscript-issue/m-p/545929#M151105</guid>
      <dc:creator>Ranjeeta</dc:creator>
      <dc:date>2019-03-25T19:09:16Z</dc:date>
    </item>
    <item>
      <title>Re: Array subscript issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-subscript-issue/m-p/545934#M151108</link>
      <description>&lt;P&gt;When your top DO loop is finished, the final value of H is 26.&amp;nbsp; There's nothing in your logic to capture the value of H when a match is found, so the loop continues all the way to the end.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your bottom DO loop then attempts to find the 26th element of the array, and there are only 25 values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also note, you can get rid of the SUBSTR function by adding the colon to your comparisons.&amp;nbsp; For example, these two are identical:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if ((substr(DX_CODE[H], 1, 3) in ('G45' 'I61' 'I63' 'I64')
or  substr(DX_CODE[H], 1, 4) = 'H341')) and ....

if (DX_CODE[H] in : ('G45' 'I61' 'I63' 'I64' 'H341')) and ....&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 25 Mar 2019 19:33:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-subscript-issue/m-p/545934#M151108</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2019-03-25T19:33:29Z</dc:date>
    </item>
    <item>
      <title>Re: Array subscript issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-subscript-issue/m-p/546553#M151332</link>
      <description>Thankyou</description>
      <pubDate>Wed, 27 Mar 2019 15:19:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-subscript-issue/m-p/546553#M151332</guid>
      <dc:creator>Ranjeeta</dc:creator>
      <dc:date>2019-03-27T15:19:30Z</dc:date>
    </item>
  </channel>
</rss>

