<?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: Automating Sequential Variable Processing in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310041#M8879</link>
    <description>The statements in the if bloc need to be transferring values from one variable to another, which just using arrays does not accomplish. I tried the above code before and I got empty cell values. My main objective is to cycle through one variable name var1 to varN, transferring the values in each variable to the corresponding newVar1 to newVarN.</description>
    <pubDate>Tue, 08 Nov 2016 12:42:06 GMT</pubDate>
    <dc:creator>RedMcCallen</dc:creator>
    <dc:date>2016-11-08T12:42:06Z</dc:date>
    <item>
      <title>Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309933#M8869</link>
      <description>How do I automate this? I mean this is so easy even in programming languages like C++, Java, and R. But in SAS, I have tried arrays, global variables, functions, and a number of other things only to not get what I need. I am just trying to cycle through a set of variables that have the same name, but with a different sequence number. How in the world is this done in SAS? ata etn.etn.table3; set etn.table2 array ayear [39] 4. ayr1973-ayr2011; if AGE = 0 then do; ayr1973 = yr1973; ayr1974 = yr1974; ayr1975 = yr1975; ayr1976 = yr1976; ayr1977 = yr1977; ayr1978 = yr1978; ayr1979 = yr1979; ayr1980 = yr1980; ayr1981 = yr1981; ayr1982 = yr1982; ayr1983 = yr1983; ayr1984 = yr1984; ayr1985 = yr1985; ayr1986 = yr1986; ayr1987 = yr1987; ayr1988 = yr1988; ayr1989 = yr1989; ayr1990 = yr1990; ayr1991 = yr1991; ayr1992 = yr1992; ayr1993 = yr1993; ayr1994 = yr1994; ayr1995 = yr1995; ayr1996 = yr1996; ayr1997 = yr1997; ayr1998 = yr1998; ayr1999 = yr1999; ayr2000 = yr2000; ayr2001 = yr2001; ayr2002 = yr2002; ayr2003 = yr2003; ayr2004 = yr2004; ayr2005 = yr2005; ayr2006 = yr2006; ayr2007 = yr2007; ayr2008 = yr2008; ayr2009 = yr2009; ayr2010 = yr2010; ayr2011 = yr2011; end; else ayr1973 = yr1973; run;</description>
      <pubDate>Tue, 08 Nov 2016 03:42:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309933#M8869</guid>
      <dc:creator>RedMcCallen</dc:creator>
      <dc:date>2016-11-08T03:42:21Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309937#M8870</link>
      <description>&lt;P&gt;Definitely a use for arrays. What did you try?&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 04:35:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309937#M8870</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-08T04:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309939#M8871</link>
      <description>I tried a number of things, so many I forget because I erased them. But my main problem was getting the variables to recognized as variables.&lt;BR /&gt;&lt;BR /&gt;Also, I don't know what it is about my Browser settings, but it is difficult to use this forum because everything is centered and I am writing in a tiny text box in which I can't really see what I am typing.</description>
      <pubDate>Tue, 08 Nov 2016 04:39:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309939#M8871</guid>
      <dc:creator>RedMcCallen</dc:creator>
      <dc:date>2016-11-08T04:39:06Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309946#M8872</link>
      <description>&lt;P&gt;Use anything other than IE/Edge and hit Reply not quick reply.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The only issue I could see possibly running into is if all variables aren't same type.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Array &amp;nbsp;varin (*) var1-var25;&lt;/P&gt;
&lt;P&gt;array varout(*) vout1-vout25;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If (condition) then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; Do I=1 to dim(varin);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Varout(I)=varin(I);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; End;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Array 101 tutorial&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.ats.ucla.edu/stat/sas/seminars/SAS_arrays/" target="_blank"&gt;http://www.ats.ucla.edu/stat/sas/seminars/SAS_arrays/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 04:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309946#M8872</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-08T04:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309948#M8873</link>
      <description>&lt;PRE&gt;
Yeah. Post some data and output to explain your question.




  data table3; 
  set table2 ;
  array year [1973:2011]  yr1973-yr2011;
  array ayear [1973:2011]  ayr1973-ayr2011;
   if AGE = 0 then do; 
     do i=1 to dim(year);
      ayear[i]=year[i];
     end;
   end;
   else ayr1973 = yr1973; 
  run;
&lt;/PRE&gt;</description>
      <pubDate>Tue, 08 Nov 2016 05:13:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309948#M8873</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-11-08T05:13:31Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309950#M8874</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp﻿&lt;/a&gt;&amp;nbsp;Does I=1 work as an index in your code?&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 05:24:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309950#M8874</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-08T05:24:27Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309955#M8875</link>
      <description>Opps. Should use LBOUND() and HBOUND() .</description>
      <pubDate>Tue, 08 Nov 2016 06:37:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/309955#M8875</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-11-08T06:37:10Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310041#M8879</link>
      <description>The statements in the if bloc need to be transferring values from one variable to another, which just using arrays does not accomplish. I tried the above code before and I got empty cell values. My main objective is to cycle through one variable name var1 to varN, transferring the values in each variable to the corresponding newVar1 to newVarN.</description>
      <pubDate>Tue, 08 Nov 2016 12:42:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310041#M8879</guid>
      <dc:creator>RedMcCallen</dc:creator>
      <dc:date>2016-11-08T12:42:06Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310042#M8880</link>
      <description>The statements in the if bloc need to be transferring values from one variable to another, which just using arrays does not accomplish. I tried the above code before and I got empty cell values. My main objective is to cycle through one variable name var1 to varN, transferring the values in each variable to the corresponding newVar1 to newVarN.&lt;BR /&gt;&lt;BR /&gt;For example, in the first iteration the value in yr1973 needs to be transferred into ayr1973. Then for the second iteration the value of yr1974 needs to be transferred into ayr1974... the process continues until 2011.&lt;BR /&gt;&lt;BR /&gt;I cannot get the code to recognize yr1973 and ayr1973 as variables.</description>
      <pubDate>Tue, 08 Nov 2016 12:46:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310042#M8880</guid>
      <dc:creator>RedMcCallen</dc:creator>
      <dc:date>2016-11-08T12:46:44Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310071#M8881</link>
      <description>&lt;P&gt;The code works &amp;nbsp; Please try it and post any errors or explain any issues with sample data.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 14:07:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310071#M8881</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-08T14:07:02Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310081#M8882</link>
      <description>Yes, the code works, technically it throws no errors. However, it does not transfer the values from the old variable to the new variable. All the cells are empty. There is no error message to post.</description>
      <pubDate>Tue, 08 Nov 2016 14:23:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310081#M8882</guid>
      <dc:creator>RedMcCallen</dc:creator>
      <dc:date>2016-11-08T14:23:23Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310088#M8883</link>
      <description>&lt;P&gt;Post your exact code please.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 14:33:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310088#M8883</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-08T14:33:40Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310091#M8884</link>
      <description>data etn.table3;&lt;BR /&gt;set etn.table2;&lt;BR /&gt;by BEN_AGE;&lt;BR /&gt;&lt;BR /&gt;array year [1973:2011] yr1973-yr2011;&lt;BR /&gt;array ayear [1973:2011] ayr1973-ayr2011;&lt;BR /&gt;&lt;BR /&gt;if AGE = 0 then do;&lt;BR /&gt;do i = 1 to dim(year);&lt;BR /&gt;ayear[i]= year[i];&lt;BR /&gt;&lt;BR /&gt;end;&lt;BR /&gt;end;&lt;BR /&gt;else&lt;BR /&gt;ayr1973 = yr1973;&lt;BR /&gt;&lt;BR /&gt;run;</description>
      <pubDate>Tue, 08 Nov 2016 14:37:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310091#M8884</guid>
      <dc:creator>RedMcCallen</dc:creator>
      <dc:date>2016-11-08T14:37:02Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310092#M8885</link>
      <description>&lt;P&gt;Ah...that's not my code &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The loop counter is set incorrectly.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Whrn you declare an array with (1973:2011) the array needs to be indexed with those values.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Change the do line to&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;do I=1973 to 2011;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 14:40:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310092#M8885</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-08T14:40:34Z</dc:date>
    </item>
    <item>
      <title>Re: Automating Sequential Variable Processing</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310135#M8886</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/114020"&gt;@RedMcCallen&lt;/a&gt; wrote:&lt;BR /&gt;data etn.table3;&lt;BR /&gt;set etn.table2;&lt;BR /&gt;by BEN_AGE;&lt;BR /&gt;&lt;BR /&gt;array year [1973:2011] yr1973-yr2011;&lt;BR /&gt;array ayear [1973:2011] ayr1973-ayr2011;&lt;BR /&gt;&lt;BR /&gt;if AGE = 0 then do;&lt;BR /&gt;do i = 1 to dim(year);&lt;BR /&gt;ayear[i]= year[i];&lt;BR /&gt;&lt;BR /&gt;end;&lt;BR /&gt;end;&lt;BR /&gt;else&lt;BR /&gt;ayr1973 = yr1973;&lt;BR /&gt;&lt;BR /&gt;run;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;That code should have been generating array subscript out of range error messages.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 15:55:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Automating-Sequential-Variable-Processing/m-p/310135#M8886</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-11-08T15:55:57Z</dc:date>
    </item>
  </channel>
</rss>

