<?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: Creating Variable Names dynamically in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120219#M24740</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Consider using new observations for the transformation.&amp;nbsp; With an ID to sort them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSFORM&lt;/P&gt;&lt;P&gt;NONE&lt;/P&gt;&lt;P&gt;LOG&lt;/P&gt;&lt;P&gt;SQRT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Jan 2013 17:38:54 GMT</pubDate>
    <dc:creator>data_null__</dc:creator>
    <dc:date>2013-01-09T17:38:54Z</dc:date>
    <item>
      <title>Creating Variable Names dynamically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120217#M24738</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I often have to transform large sets of variables for use in regression, and how I normally hand the task is to manually code arrays for each of the new transformed variables, similar to the this example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data example;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input A B C;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array var&lt;LI&gt; A B C;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array change&lt;LI&gt; r_A r_B r_C;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i = 1 to dim(change);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change&lt;I&gt; = var&lt;I&gt;/lag(var&lt;I&gt;) - 1;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;10 20 30&lt;/P&gt;&lt;P&gt;15 5 60&lt;/P&gt;&lt;P&gt;25 30 10&lt;/P&gt;&lt;P&gt;run; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This becomes very tedious when you have large numbers of variables. I was hoping to get to something like the following, but I have not been able to create functioning code. Not sure if a macro loop is the right way to go, been trying to use a combination of vname and cat functions but no luck so far.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data example;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input A B C;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array var&lt;LI&gt; _NUMERIC_;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array change&lt;LI&gt; /*code that adds the prefix "r_" to all variables in var[]*/;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i = 1 to dim(change);&lt;/P&gt;&lt;P&gt;&amp;nbsp; change&lt;I&gt; = var&lt;I&gt;/lag(var&lt;I&gt;) - 1;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;10 20 30&lt;/P&gt;&lt;P&gt;15 5 60&lt;/P&gt;&lt;P&gt;25 30 10&lt;/P&gt;&lt;P&gt;run; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 16:46:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120217#M24738</guid>
      <dc:creator>warnost</dc:creator>
      <dc:date>2013-01-09T16:46:02Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Variable Names dynamically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120218#M24739</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;is the example helpful?&lt;/P&gt;&lt;P&gt;proc sql noprint;&lt;BR /&gt; select name into : names separated by ' '&lt;BR /&gt;&amp;nbsp;&amp;nbsp; from dictionary.columns&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where libname="SASHELP" and memname="CLASS" and type="num";&lt;BR /&gt;select cats('r_',name) into : r_names separated by ' '&lt;BR /&gt;&amp;nbsp;&amp;nbsp; from dictionary.columns&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where libname="SASHELP" and memname="CLASS" and type="num";&lt;/P&gt;&lt;P&gt; quit;&lt;BR /&gt; data want;&lt;BR /&gt;&amp;nbsp; set sashelp.class;&lt;BR /&gt;&amp;nbsp; array var&lt;LI&gt; &amp;amp;names;&lt;BR /&gt;&amp;nbsp; array change&lt;/LI&gt;&lt;LI&gt; &amp;amp;r_names;&lt;BR /&gt;&amp;nbsp; do i = 1 to dim(change);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change&lt;I&gt; = var&lt;I&gt;/lag(var&lt;I&gt;) - 1;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; drop i;&lt;BR /&gt; proc print;run;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/LI&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 17:07:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120218#M24739</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2013-01-09T17:07:47Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Variable Names dynamically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120219#M24740</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Consider using new observations for the transformation.&amp;nbsp; With an ID to sort them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSFORM&lt;/P&gt;&lt;P&gt;NONE&lt;/P&gt;&lt;P&gt;LOG&lt;/P&gt;&lt;P&gt;SQRT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 17:38:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120219#M24740</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2013-01-09T17:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Variable Names dynamically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120220#M24741</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tried this code but I get the following error in my log:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2335&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array var&lt;LI&gt; &amp;amp;names;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&lt;/P&gt;&lt;P&gt;WARNING: Apparent symbolic reference NAMES not resolved.&lt;/P&gt;&lt;P&gt;2336&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array change&lt;LI&gt; &amp;amp;r_names;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&lt;/P&gt;&lt;P&gt;WARNING: Apparent symbolic reference R_NAMES not resolved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERROR 22-322: Syntax error, expecting one of the following: a name, a numeric constant, $, (, ;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_, _TEMPORARY_.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERROR 200-322: The symbol is not recognized and will be ignored.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the code exactly, just with sashelp and class replaced with the library and data set that I am using. I am not familiar with proc sql, is this the correct implementation?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 18:16:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120220#M24741</guid>
      <dc:creator>warnost</dc:creator>
      <dc:date>2013-01-09T18:16:39Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Variable Names dynamically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120221#M24742</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will consider using new observations but it will require me to rethink the way I do the regression and other procedures. Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 18:17:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120221#M24742</guid>
      <dc:creator>warnost</dc:creator>
      <dc:date>2013-01-09T18:17:58Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Variable Names dynamically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120222#M24743</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; where libname&lt;SPAN style="color: #ff0000;"&gt;="SASHELP&lt;/SPAN&gt;" and memname="&lt;SPAN style="color: #ff0000;"&gt;CLASS&lt;/SPAN&gt;" and type="num";&lt;/P&gt;&lt;P&gt;The &lt;SPAN style="color: #ff0000;"&gt;red&lt;/SPAN&gt; parts have to be upcase.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 18:25:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120222#M24743</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2013-01-09T18:25:48Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Variable Names dynamically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120223#M24744</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That worked! Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 18:47:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Variable-Names-dynamically/m-p/120223#M24744</guid>
      <dc:creator>warnost</dc:creator>
      <dc:date>2013-01-09T18:47:36Z</dc:date>
    </item>
  </channel>
</rss>

