<?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: Array in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Array/m-p/120909#M33328</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not sure where you're going with this but if I wanted similar data in one data set I would be strongly tempted to make two additional arrays to hold your VINT and VEXT per intubate for each record instead of creating multiple records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Something like&lt;/P&gt;&lt;P&gt;Array vint{12} vint1 - vint12;&lt;/P&gt;&lt;P&gt;do i=1 to 12;&lt;/P&gt;&lt;P&gt;if admission_date &amp;lt;= intubate{i} AND intubate{i} &amp;lt;= discharged then vint{i}=intubate{i};&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 25 Apr 2013 19:55:09 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2013-04-25T19:55:09Z</dc:date>
    <item>
      <title>Array</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Array/m-p/120907#M33326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Is there any way I can check for both the conditions and then output in the same dataset?????&lt;/P&gt;&lt;P&gt;Below I am doing it into seperate datasets and trying to merge later!!!!&lt;/P&gt;&lt;P&gt;ASSUMING BOTH HAVE EQUAL NUMBER OF ELEMENTS!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data vent_array1(keep=visit_id mrn1 vint) vent_array2(keep=visit_id mrn1 vext);&lt;/P&gt;&lt;P&gt;format vint vext datetime.;&lt;/P&gt;&lt;P&gt;set sum_vent;&lt;/P&gt;&lt;P&gt;array intubate{12} itb1-itb12;&lt;/P&gt;&lt;P&gt;array extubate{11} ext1-ext11;&lt;/P&gt;&lt;P&gt;do i=1 to 12;&lt;/P&gt;&lt;P&gt;if admission_date &amp;lt;= intubate{i} AND intubate{i} &amp;lt;= discharged then do;&lt;/P&gt;&lt;P&gt;vint=intubate(i);&lt;/P&gt;&lt;P&gt;output vent_array1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;do i=1 to 11;&lt;/P&gt;&lt;P&gt;if admission_date &amp;lt;= extubate{i} AND extubate{i} &amp;lt;= discharged then do;&lt;/P&gt;&lt;P&gt;vext=extubate(i);&lt;/P&gt;&lt;P&gt;output vent_array2;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2013 19:37:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Array/m-p/120907#M33326</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2013-04-25T19:37:24Z</dc:date>
    </item>
    <item>
      <title>Re: Array</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Array/m-p/120908#M33327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can flag the observation and then output them instead:&lt;/P&gt;&lt;P&gt;Add in two flag variables as below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data vent_array1(keep=visit_id mrn1 vint) vent_array2(keep=visit_id mrn1 vext);&lt;/P&gt;&lt;P&gt;format vint vext datetime.;&lt;/P&gt;&lt;P&gt;set sum_vent;&lt;/P&gt;&lt;P&gt;array intubate{12} itb1-itb12;&lt;/P&gt;&lt;P&gt;array extubate{11} ext1-ext11;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;flag1=0; flag2=0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do i=1 to 12 while (flag1 eq 0);&lt;/P&gt;&lt;P&gt;if admission_date &amp;lt;= intubate{i} AND intubate{i} &amp;lt;= discharged then do;&lt;/P&gt;&lt;P&gt;vint=intubate(i);&lt;/P&gt;&lt;P&gt;flag1=1&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;do i=1 to 11 while (flag2 eq 0) ;&lt;/P&gt;&lt;P&gt;if admission_date &amp;lt;= extubate{i} AND extubate{i} &amp;lt;= discharged then do;&lt;/P&gt;&lt;P&gt;vext=extubate(i);&lt;/P&gt;&lt;P&gt;flag2=1&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if flag1 or flag2 =0 then output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2013 19:53:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Array/m-p/120908#M33327</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-04-25T19:53:40Z</dc:date>
    </item>
    <item>
      <title>Re: Array</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Array/m-p/120909#M33328</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not sure where you're going with this but if I wanted similar data in one data set I would be strongly tempted to make two additional arrays to hold your VINT and VEXT per intubate for each record instead of creating multiple records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Something like&lt;/P&gt;&lt;P&gt;Array vint{12} vint1 - vint12;&lt;/P&gt;&lt;P&gt;do i=1 to 12;&lt;/P&gt;&lt;P&gt;if admission_date &amp;lt;= intubate{i} AND intubate{i} &amp;lt;= discharged then vint{i}=intubate{i};&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2013 19:55:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Array/m-p/120909#M33328</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2013-04-25T19:55:09Z</dc:date>
    </item>
  </channel>
</rss>

