<?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: storing variable names in %let by using loop outside the dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449968#M283669</link>
    <description>&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;Sorry the code is as below......&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%local&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i next ;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%to&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(countw(&amp;amp;varlist));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; next=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%scan&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(&amp;amp;varlist,&amp;amp;i); &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; j=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%to&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(countw(&amp;amp;varlist));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; (&amp;amp;j ne &amp;amp;i) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; other=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%scan&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(&amp;amp;varlist,&amp;amp;j); &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT face="Courier New" size="2"&gt;retain allvars &lt;FONT color="#800080" face="Courier New" size="2"&gt;' '&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;%let allvars = catx(" ", OF &amp;amp;other);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; &amp;amp;next &amp;amp;i &amp;amp;other &amp;amp;allvars; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 30 Mar 2018 16:26:21 GMT</pubDate>
    <dc:creator>hira</dc:creator>
    <dc:date>2018-03-30T16:26:21Z</dc:date>
    <item>
      <title>storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449966#M283668</link>
      <description>&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to create a subgroup of varlist from the main %let statment outside the datastep, such that if I select the first one then %let will keep all the others except the selected.&lt;/P&gt;&lt;P&gt;My initial throughts were to count all the variables through do loop and then count them agaim with another loop, and if first count (i) is not equal to the second count(j) then otherlist will contain all the rest of the vars.&lt;/P&gt;&lt;P&gt;for example if %let varlist=&lt;FONT face="Courier New" size="2"&gt;a b c d e f g h; and when &amp;amp;next=a then &amp;amp;varlsit should be = b c d e f g h&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;or if &amp;amp;next=b then &amp;amp;varlsit should be =a c d e f g h or if &amp;amp;next=c then &amp;amp;varlsit should be =a b&amp;nbsp;d e f g h or if &amp;amp;next=d then &amp;amp;varlsit should be =a b&amp;nbsp;c e f g h&amp;nbsp; and so on....&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; varlist=a b c d e f g h i j;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test();&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%local&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i next ;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%to&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(countw(&amp;amp;varlist));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; next=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%scan&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(&amp;amp;varlist,&amp;amp;i); &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; j=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%to&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(countw(&amp;amp;varlist));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; otherlist=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%scan&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(&amp;amp;varlist,&amp;amp;j); &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*%let allvars = catx(" ", OF &amp;amp;other); */&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; &amp;amp;next &amp;amp;otherlist &amp;amp;allvars; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;I&gt;test&lt;/I&gt;&lt;/STRONG&gt;();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;My problem is that I'm not sure how to solve, or if this is even the right way to do it.&amp;nbsp; Please help me identify a solution!&lt;/P&gt;&lt;P&gt;Please note, I have to do it outside the datastep.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SAS 9.4&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 16:19:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449966#M283668</guid>
      <dc:creator>hira</dc:creator>
      <dc:date>2018-03-30T16:19:46Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449968#M283669</link>
      <description>&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;Sorry the code is as below......&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%local&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i next ;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%to&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(countw(&amp;amp;varlist));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; next=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%scan&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(&amp;amp;varlist,&amp;amp;i); &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; j=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%to&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(countw(&amp;amp;varlist));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; (&amp;amp;j ne &amp;amp;i) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; other=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%scan&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(&amp;amp;varlist,&amp;amp;j); &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT face="Courier New" size="2"&gt;retain allvars &lt;FONT color="#800080" face="Courier New" size="2"&gt;' '&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;%let allvars = catx(" ", OF &amp;amp;other);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; &amp;amp;next &amp;amp;i &amp;amp;other &amp;amp;allvars; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 16:26:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449968#M283669</guid>
      <dc:creator>hira</dc:creator>
      <dc:date>2018-03-30T16:26:21Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449969#M283670</link>
      <description>&lt;P&gt;Not sure what you are trying to do but if you want build up a space delimited list into a macro variable named ALLVARS then the key thing is to include the current value in the assignment.&amp;nbsp; So if you want to add the value of NEXTVAR to the end of ALLVARS you line of code would look like this.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let allvars=&amp;amp;allvars &amp;amp;nextvar ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;For your actual stated problem it would be easier to just remove the one value from the list using the TRANWRD() function.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let list=a b c d;
%let i=2 ;
%let next=%scan(&amp;amp;list,&amp;amp;i);
%let subset=%sysfunc(tranwrd(%str( &amp;amp;list ),%str( &amp;amp;next ),%str( )));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 16:37:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449969#M283670</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-03-30T16:37:24Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449970#M283671</link>
      <description>&lt;P&gt;The logic should work. The code needs to be cleaned up a little.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%do i=1 %to %sysfunc(countw(&amp;amp;varlist));
    %let next=%scan(&amp;amp;varlist,&amp;amp;i);
    %let allvars=;
    %do j=1 %to %sysfunc(countw(&amp;amp;varlist));
         %if (&amp;amp;j ne &amp;amp;i) %then %do;
              %let other=%scan(&amp;amp;varlist,&amp;amp;j);
              %let allvars=&amp;amp;allvars &amp;amp;other;
         %end;
         %put &amp;amp;=next &amp;amp;=i &amp;amp;=other &amp;amp;=allvars;
    %end;
%end;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note that RETAIN is not a macro command. Also catx is not needed here, just do a macro concatenation as shown.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 16:42:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449970#M283671</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-03-30T16:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449983#M283672</link>
      <description>&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much&amp;nbsp;for the reply.&lt;/P&gt;&lt;P&gt;For running the following codes, would it be possible if I output only the last statement as its from outside the dataset.&lt;/P&gt;&lt;P&gt;At the moment the log is showing the ALLVARS values as below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;NEXT=a J=1 ALLVARS=&lt;/P&gt;&lt;P&gt;NEXT=a J=2 ALLVARS=b&lt;/P&gt;&lt;P&gt;NEXT=a J=3 ALLVARS=b c&lt;/P&gt;&lt;P&gt;NEXT=a J=4 ALLVARS=b c d&lt;/P&gt;&lt;P&gt;NEXT=a J=5 ALLVARS=b c d e&lt;/P&gt;&lt;P&gt;NEXT=a J=6 ALLVARS=b c d e f&lt;/P&gt;&lt;P&gt;NEXT=a J=7 ALLVARS=b c d e f g&lt;/P&gt;&lt;P&gt;NEXT=a J=8 ALLVARS=b c d e f g h&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt; i&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%to&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;countw&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;varlist&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macroname"&gt;%let&lt;/SPAN&gt; next&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token macroname"&gt;%scan&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;varlist&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;i&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macroname"&gt;%let&lt;/SPAN&gt; allvars&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt; j&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%to&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;countw&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;varlist&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%if&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;j &lt;SPAN class="token operator"&gt;ne&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;i&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%then&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&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; &lt;SPAN class="token macroname"&gt;%let&lt;/SPAN&gt; other&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token macroname"&gt;%scan&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;varlist&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;j&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&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; &lt;SPAN class="token macroname"&gt;%let&lt;/SPAN&gt; allvars&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;allvars &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;other&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%end&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%put&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;next &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;i &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;other &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;allvars&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%end&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="token macrostatement"&gt;%end&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="token punctuation"&gt;Also is there a way to create an array to do so?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="token punctuation"&gt;Kind Regards,&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 17:37:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449983#M283672</guid>
      <dc:creator>hira</dc:creator>
      <dc:date>2018-03-30T17:37:48Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449986#M283673</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much for the reply.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please could you more clarify the code as it's not working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; varlist= a b c d e f g h;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test();&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%to&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(countw(&amp;amp;varlist));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; next=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%scan&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(&amp;amp;varlist,&amp;amp;i);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; subset=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(tranwrd(&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%str&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;( &amp;amp;varlist ),&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%str&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;( &amp;amp;next ),&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%str&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;( )));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;I&gt;test&lt;/I&gt;&lt;/STRONG&gt;();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 17:42:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449986#M283673</guid>
      <dc:creator>hira</dc:creator>
      <dc:date>2018-03-30T17:42:44Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449988#M283674</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/187340"&gt;@hira&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Thank you so much for the reply.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Please could you more clarify the code as it's not working.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; varlist= a b c d e f g h;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;　&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="2" color="#000080"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test();&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="2" color="#008080"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%to&lt;/FONT&gt; &lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(countw(&amp;amp;varlist));&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; next=&lt;/FONT&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%scan&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(&amp;amp;varlist,&amp;amp;i);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; subset=&lt;/FONT&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;(tranwrd(&lt;/FONT&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%str&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;( &amp;amp;varlist ),&lt;/FONT&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%str&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;( &amp;amp;next ),&lt;/FONT&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%str&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;( )));&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="2" color="#0000ff"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;FONT face="Courier New" size="2" color="#000080"&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%&lt;STRONG&gt;&lt;I&gt;test&lt;/I&gt;&lt;/STRONG&gt;();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind Regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;How do you know it didn't work?&amp;nbsp; The code you posted is overwriting the value of SUBSET macro variable and never doing anything with it. You didn't even print it to the log so that you could see what happened.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is it that you want to do with these list of variables?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 17:48:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449988#M283674</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-03-30T17:48:36Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449992#M283675</link>
      <description>I am so sorry, it did work in the loop.&lt;BR /&gt;Wondering if I would to subset more, would it be possible in TRANWRD&lt;BR /&gt;funtion to remove more then one value?&lt;BR /&gt;For example if next=a and subset = b c d e f g j , but if I would like&lt;BR /&gt;subset=b d e f g h j&lt;BR /&gt;</description>
      <pubDate>Fri, 30 Mar 2018 18:05:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449992#M283675</guid>
      <dc:creator>hira</dc:creator>
      <dc:date>2018-03-30T18:05:15Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449994#M283676</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/187340"&gt;@hira&lt;/a&gt; wrote:&lt;BR /&gt;I am so sorry, it did work in the loop.&lt;BR /&gt;Wondering if I would to subset more, would it be possible in TRANWRD&lt;BR /&gt;funtion to remove more then one value?&lt;BR /&gt;For example if next=a and subset = b c d e f g j , but if I would like&lt;BR /&gt;subset=b d e f g h j&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The TRANWRD() function&amp;nbsp;just replaces text with different text. It cannot read your mind.&lt;/P&gt;
&lt;P&gt;What are you trying to do?&amp;nbsp; If start with&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; b c d e f g j&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And you want to end up with&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;b d e f g h j&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Then is looks like you want to remove c and h.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 18:11:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449994#M283676</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-03-30T18:11:46Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449996#M283677</link>
      <description>&lt;P&gt;But would it be possible to replace two&amp;nbsp;texts in one TRANWRD function?&lt;/P&gt;&lt;P&gt;for example replacing next to ' ' and replacing some other value ie 'b' to missing&amp;nbsp; as well?&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 18:10:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449996#M283677</guid>
      <dc:creator>hira</dc:creator>
      <dc:date>2018-03-30T18:10:23Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449997#M283678</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/187340"&gt;@hira&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;But would it be possible to replace two&amp;nbsp;texts in one TRANWRD function?&lt;/P&gt;
&lt;P&gt;for example replacing next to ' ' and replacing some other value ie 'b' to missing&amp;nbsp; as well?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Just call it twice.&amp;nbsp; Pass in the result of the first call as the input to the second.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Mar 2018 18:12:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/449997#M283678</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-03-30T18:12:48Z</dc:date>
    </item>
    <item>
      <title>Re: storing variable names in %let by using loop outside the dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/450120#M283680</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/187340"&gt;@hira&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hi ,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you so much&amp;nbsp;for the reply.&lt;/P&gt;
&lt;P&gt;For running the following codes, would it be possible if I output only the last statement as its from outside the dataset.&lt;/P&gt;
&lt;P&gt;At the moment the log is showing the ALLVARS values as below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NEXT=a J=1 ALLVARS=&lt;/P&gt;
&lt;P&gt;NEXT=a J=2 ALLVARS=b&lt;/P&gt;
&lt;P&gt;NEXT=a J=3 ALLVARS=b c&lt;/P&gt;
&lt;P&gt;NEXT=a J=4 ALLVARS=b c d&lt;/P&gt;
&lt;P&gt;NEXT=a J=5 ALLVARS=b c d e&lt;/P&gt;
&lt;P&gt;NEXT=a J=6 ALLVARS=b c d e f&lt;/P&gt;
&lt;P&gt;NEXT=a J=7 ALLVARS=b c d e f g&lt;/P&gt;
&lt;P&gt;NEXT=a J=8 ALLVARS=b c d e f g h&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt; i&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%to&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;countw&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;varlist&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macroname"&gt;%let&lt;/SPAN&gt; next&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token macroname"&gt;%scan&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;varlist&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;i&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macroname"&gt;%let&lt;/SPAN&gt; allvars&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt; j&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%to&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;countw&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;varlist&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%if&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;j &lt;SPAN class="token operator"&gt;ne&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;i&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%then&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&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; &lt;SPAN class="token macroname"&gt;%let&lt;/SPAN&gt; other&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token macroname"&gt;%scan&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;varlist&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;j&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&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; &lt;SPAN class="token macroname"&gt;%let&lt;/SPAN&gt; allvars&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;allvars &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;other&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%end&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%put&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;next &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;i &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;other &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;allvars&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token macrostatement"&gt;%end&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="token macrostatement"&gt;%end&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;Also is there a way to create an array to do so?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;Kind Regards,&lt;/SPAN&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Possible to only show the last output? Sure.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you do this with an array? Off the top of my head, I'm not seeing this as a problem that fits the purpose of the data step ARRAY statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As a wild guess, is this being done as some method to perform regressions on many different combinations of variables? If so, I would advise against that.&lt;/P&gt;</description>
      <pubDate>Sat, 31 Mar 2018 11:20:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/storing-variable-names-in-let-by-using-loop-outside-the-dataset/m-p/450120#M283680</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-03-31T11:20:02Z</dc:date>
    </item>
  </channel>
</rss>

