<?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 and Do Loop in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903057#M40321</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/456544"&gt;@kcvaldez98&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;I did that but I want Day to be a variable that reflects Mon as 1, Tues as 2, and Wed as 3. I have the code that I've used but I am missing something:&lt;BR /&gt;DATA WORK.SwimLog2;&lt;BR /&gt;SET WORK.SwimMinutes;&lt;BR /&gt;BY Name;&lt;BR /&gt;ARRAY Day{*} Mon Tues Wed;&lt;BR /&gt;DO i = 1 TO DIM(Day);&lt;BR /&gt;Minutes = Day{i};&lt;BR /&gt;IF MISSING(Minutes) = 0 THEN OUTPUT;&lt;BR /&gt;END;&lt;BR /&gt;DROP i Mon Tues Wed;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You are using I as the variable that has 1,2,3 in it.&lt;/P&gt;
&lt;P&gt;You cannot use DAY as that variable since you already used DAY as the name of the ARRAY.&lt;/P&gt;
&lt;P&gt;You could use a different name for the array and then use DAY in the DO loop.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data work.swimlog2;
  set work.swimminutes;
  by name;
  array days Mon Tues Wed;
  do day = 1 to dim(days);
    minutes = days[day];
    if not missing(minutes) then output;
  end;
  drop mon tues wed;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 14 Nov 2023 20:50:04 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2023-11-14T20:50:04Z</dc:date>
    <item>
      <title>Array and Do Loop</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903040#M40318</link>
      <description>&lt;P&gt;Hi SAS coders,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to restructure a dataset using an array and do loop and I keep getting errors. My datelines are:&lt;/P&gt;&lt;P&gt;DATA WORK.SwimMinutes;&lt;BR /&gt;INFILE DATALINES;&lt;BR /&gt;INPUT Name $1-5&lt;BR /&gt;Age 7-8&lt;BR /&gt;Mon 10-11&lt;BR /&gt;Tues 13-14&lt;BR /&gt;Wed 16-17 ;&lt;BR /&gt;DATALINES;&lt;BR /&gt;Ann 26 51 19 22&lt;BR /&gt;Bob 30 43 20 60&lt;BR /&gt;Chris 41 48 . 36&lt;BR /&gt;Dina 21 32 57 22&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;My code that I have used is:&lt;/P&gt;&lt;DIV&gt;DATA WORK.SwimLog2;&lt;/DIV&gt;&lt;DIV&gt;SET WORK.SwimMinutes;&lt;/DIV&gt;&lt;DIV&gt;BY Name;&lt;/DIV&gt;&lt;DIV&gt;ARRAYDay{*} Day1 - Day3;&lt;/DIV&gt;&lt;DIV&gt;DO i = 1 TO DIM(Day);&lt;/DIV&gt;&lt;DIV&gt;Day = Day{i};&lt;/DIV&gt;&lt;DIV&gt;IF MISSING(Day) = 0 THEN OUTPUT;&lt;/DIV&gt;&lt;DIV&gt;END;&lt;/DIV&gt;&lt;DIV&gt;DROP i Day1 - Day3;&lt;/DIV&gt;&lt;DIV&gt;RUN;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The end dataset result should look like:&lt;/DIV&gt;&lt;DIV&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SAS Data Set ‘SwimLong2’&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Age&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Minutes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Ann&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;26&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;51&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Ann&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;26&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;19&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Ann&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;26&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;22&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Bob&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;30&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;43&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Bob&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;30&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Bob&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;30&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;60&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Dina&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;21&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;22&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;…&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please advise&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 14 Nov 2023 19:28:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903040#M40318</guid>
      <dc:creator>kcvaldez98</dc:creator>
      <dc:date>2023-11-14T19:28:22Z</dc:date>
    </item>
    <item>
      <title>Re: Array and Do Loop</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903045#M40319</link>
      <description>&lt;P&gt;There are no variables Day1-Day3 in your dataset, only Mon, Tue and Wed. Use those in the array definition.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array Day{*} Mon Tue Wed;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 14 Nov 2023 19:35:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903045#M40319</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2023-11-14T19:35:21Z</dc:date>
    </item>
    <item>
      <title>Re: Array and Do Loop</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903052#M40320</link>
      <description>I did that but I want Day to be a variable that reflects Mon as 1, Tues as 2, and Wed as 3. I have the code that I've used but I am missing something:&lt;BR /&gt;DATA WORK.SwimLog2;&lt;BR /&gt;SET WORK.SwimMinutes;&lt;BR /&gt;BY Name;&lt;BR /&gt;ARRAY Day{*} Mon Tues Wed;&lt;BR /&gt;DO i = 1 TO DIM(Day);&lt;BR /&gt;Minutes = Day{i};&lt;BR /&gt;IF MISSING(Minutes) = 0 THEN OUTPUT;&lt;BR /&gt;END;&lt;BR /&gt;DROP i Mon Tues Wed;&lt;BR /&gt;RUN;&lt;BR /&gt;</description>
      <pubDate>Tue, 14 Nov 2023 20:03:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903052#M40320</guid>
      <dc:creator>kcvaldez98</dc:creator>
      <dc:date>2023-11-14T20:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: Array and Do Loop</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903057#M40321</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/456544"&gt;@kcvaldez98&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;I did that but I want Day to be a variable that reflects Mon as 1, Tues as 2, and Wed as 3. I have the code that I've used but I am missing something:&lt;BR /&gt;DATA WORK.SwimLog2;&lt;BR /&gt;SET WORK.SwimMinutes;&lt;BR /&gt;BY Name;&lt;BR /&gt;ARRAY Day{*} Mon Tues Wed;&lt;BR /&gt;DO i = 1 TO DIM(Day);&lt;BR /&gt;Minutes = Day{i};&lt;BR /&gt;IF MISSING(Minutes) = 0 THEN OUTPUT;&lt;BR /&gt;END;&lt;BR /&gt;DROP i Mon Tues Wed;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You are using I as the variable that has 1,2,3 in it.&lt;/P&gt;
&lt;P&gt;You cannot use DAY as that variable since you already used DAY as the name of the ARRAY.&lt;/P&gt;
&lt;P&gt;You could use a different name for the array and then use DAY in the DO loop.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data work.swimlog2;
  set work.swimminutes;
  by name;
  array days Mon Tues Wed;
  do day = 1 to dim(days);
    minutes = days[day];
    if not missing(minutes) then output;
  end;
  drop mon tues wed;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 14 Nov 2023 20:50:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Array-and-Do-Loop/m-p/903057#M40321</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2023-11-14T20:50:04Z</dc:date>
    </item>
  </channel>
</rss>

