<?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: conditionally renaming variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154291#M30266</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Add the system options will suppress these WARN message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;options dkricond= nowarn&amp;nbsp; dkrocond=nowarn;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 25 Jun 2014 13:23:44 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2014-06-25T13:23:44Z</dc:date>
    <item>
      <title>conditionally renaming variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154284#M30259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to conditionally rename variables if they are present or not in a dataset. Consider the example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I read in the dataset, which sometimes there could be a case where the variable "Count2" exists, but I would like to test for its existence. If "Count2" not there I still get the warning: &lt;/P&gt;&lt;P&gt;"WARNING: The variable count2 in the DROP, KEEP, or RENAME list has never been referenced."&amp;nbsp; I would like to get rid of this warning. What am I missing here? Your help would be greatly appreciated. Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input fruit $ count1;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;apple 12&lt;/P&gt;&lt;P&gt;banana 4&lt;/P&gt;&lt;P&gt;coconut 5&lt;/P&gt;&lt;P&gt;date 7&lt;/P&gt;&lt;P&gt;eggs 9&lt;/P&gt;&lt;P&gt;fig 5&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test2;&lt;/P&gt;&lt;P&gt;set test;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dsid=open('test');&lt;/P&gt;&lt;P&gt;&amp;nbsp; check=varnum(dsid,'count2');&lt;/P&gt;&lt;P&gt;&amp;nbsp; if check=0 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rename count1 = amount1;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; put 'Variable does not exist';&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;&amp;nbsp; &lt;/P&gt;&lt;P&gt;end;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;else do;&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;&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; rename count1 = amount1 count2 = amount2; &lt;/P&gt;&lt;P&gt;&amp;nbsp; put 'Variable is located in column ' check +(-1) '.';&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;end;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 14:49:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154284#M30259</guid>
      <dc:creator>avbraga</dc:creator>
      <dc:date>2014-06-24T14:49:08Z</dc:date>
    </item>
    <item>
      <title>Re: conditionally renaming variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154285#M30260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Me personally, I would do:&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set sashelp.vcolumn (where=(libname="WORK" and memname="TEST" and name="COUNT2"));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('data test 2; (rename=(count2 = amount2)); run;');&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This utilizes the sashelp tables, and it will only generate the datastep if that variable is present (i.e. otherwise there would be no obs, and hence no loop).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 14:52:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154285#M30260</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-06-24T14:52:32Z</dc:date>
    </item>
    <item>
      <title>Re: conditionally renaming variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154286#M30261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are getting message because you don't have count2 variable in test dataset.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 14:57:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154286#M30261</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-06-24T14:57:18Z</dc:date>
    </item>
    <item>
      <title>Re: conditionally renaming variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154287#M30262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Rename statement is "Declarative" , meaning you can't execute it conditionally, unless you cheat it using Macro.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;TABLE cellpadding="4" cellspacing="2"&gt;&lt;TBODY&gt;&lt;TR valign="top"&gt;&lt;TD align="left" bgcolor="#cccccc"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 15:01:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154287#M30262</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2014-06-24T15:01:24Z</dc:date>
    </item>
    <item>
      <title>Re: conditionally renaming variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154288#M30263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's correct stat@sas. That's by design, I know sometimes I will have 1 or 2 of the count variables. Count1 is guaranteed, Count2 could be in the dataset or not. I would like to test for that. One would think that since the there is a IF-THEN-ELSE statement on the "Check" variable, that that would work and not give me the sas Warning message. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 17:23:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154288#M30263</guid>
      <dc:creator>avbraga</dc:creator>
      <dc:date>2014-06-24T17:23:49Z</dc:date>
    </item>
    <item>
      <title>Re: conditionally renaming variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154289#M30264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you want to use your existing code then you will have to introduce some macro logic to get the desired results. Try this to see if that works&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro check(dsname);&lt;BR /&gt;%let dsid=%sysfunc(open(&amp;amp;dsname));&lt;BR /&gt;%let countnum=%sysfunc(varnum(&amp;amp;dsid,count2));&lt;BR /&gt;%let rc=%sysfunc(close(&amp;amp;dsid));&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%if &amp;amp;countnum=0 %then %do;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test2;&lt;BR /&gt;set &amp;amp;dsname;&lt;BR /&gt;&amp;nbsp; rename count1 = amount1;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;%put 'Variable does not exist';&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;&amp;nbsp; &lt;BR /&gt;%end;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;%else %do;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test2; &lt;BR /&gt;set &amp;amp;dsname;&lt;BR /&gt;rename count1 = amount1; &lt;BR /&gt;rename count2 = amount2; &lt;BR /&gt;%put "Variable is located in column &amp;amp;countnum";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;%end;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;run;&lt;BR /&gt;%mend check;&lt;/P&gt;&lt;P&gt;%check(test)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 18:54:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154289#M30264</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-06-24T18:54:36Z</dc:date>
    </item>
    <item>
      <title>Re: conditionally renaming variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154290#M30265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Awesome, stat@sas! That's what I needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks you guys for all your input!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 20:15:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154290#M30265</guid>
      <dc:creator>avbraga</dc:creator>
      <dc:date>2014-06-24T20:15:05Z</dc:date>
    </item>
    <item>
      <title>Re: conditionally renaming variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154291#M30266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Add the system options will suppress these WARN message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;options dkricond= nowarn&amp;nbsp; dkrocond=nowarn;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jun 2014 13:23:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditionally-renaming-variables/m-p/154291#M30266</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-06-25T13:23:44Z</dc:date>
    </item>
  </channel>
</rss>

