<?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: Create a macro variable based on another dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128582#M26244</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use Call execute() .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 May 2013 04:33:01 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2013-05-03T04:33:01Z</dc:date>
    <item>
      <title>Create a macro variable based on another dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128581#M26243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;I would like to use estimate value to create a macro variable aa when the wk in data2 matches the wk2 in data1.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;The where condition in PROC SQL does not work properly. &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;Any way to solve this? Thanks.&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; data1;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; &lt;SPAN class="s2"&gt;input&lt;/SPAN&gt; wk2 estimate;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s3"&gt; &lt;/SPAN&gt;datalines&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 1 12&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 2 14&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 3 15&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P class="p3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt;&lt;/SPAN&gt; trash(var1=, var2=);&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s2"&gt;%global&lt;/SPAN&gt; &amp;amp;var2;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select distinct estimate into: &amp;amp;var2&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from summ&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where wk2=&amp;amp;var1;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;&lt;/SPAN&gt; trash;&lt;/P&gt;&lt;P class="p4"&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; data2;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; wk=&lt;SPAN class="s4"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; %&lt;STRONG&gt;&lt;EM&gt;trash&lt;/EM&gt;&lt;/STRONG&gt;(var1=wk,var2=aa);&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; &lt;SPAN class="s2"&gt;%put&lt;/SPAN&gt; &amp;amp;aa;&lt;/P&gt;&lt;P class="p3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;SPAN class="s3"&gt; &lt;/SPAN&gt;&lt;STRONG&gt;print&lt;/STRONG&gt;&lt;SPAN class="s3"&gt; &lt;/SPAN&gt;&lt;SPAN class="s2"&gt;data&lt;/SPAN&gt;&lt;SPAN class="s3"&gt;=ori;&lt;/SPAN&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 02:11:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128581#M26243</guid>
      <dc:creator>sandyming</dc:creator>
      <dc:date>2013-05-03T02:11:36Z</dc:date>
    </item>
    <item>
      <title>Re: Create a macro variable based on another dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128582#M26244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use Call execute() .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 04:33:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128582#M26244</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2013-05-03T04:33:01Z</dc:date>
    </item>
    <item>
      <title>Re: Create a macro variable based on another dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128583#M26245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;works. Any other methods to do this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 May 2013 14:32:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128583#M26245</guid>
      <dc:creator>sandyming</dc:creator>
      <dc:date>2013-05-03T14:32:12Z</dc:date>
    </item>
    <item>
      <title>Re: Create a macro variable based on another dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128584#M26246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; data1;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; &lt;SPAN class="s2"&gt;input&lt;/SPAN&gt; wk2 estimate;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s3"&gt; &lt;/SPAN&gt;datalines&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 1 12&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 2 14&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 3 15&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P class="p3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;data j;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set data1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if wk2=2 then call symputx("aa", estimate);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;Automatically Macro variables created in Call symputx will be global. if you use this out of %macro %mend;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 May 2013 07:36:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128584#M26246</guid>
      <dc:creator>Sudhakar_A</dc:creator>
      <dc:date>2013-05-07T07:36:38Z</dc:date>
    </item>
    <item>
      <title>Re: Create a macro variable based on another dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128585#M26247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think it's working by using WHERE clause in proc sql&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql noprint;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; select estimate into :aa&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; from data1 as a,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data2 as b,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; where a.wk2 = b.wk;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put &amp;amp;aa.;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Urvish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 May 2013 09:19:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128585#M26247</guid>
      <dc:creator>UrvishShah</dc:creator>
      <dc:date>2013-05-07T09:19:43Z</dc:date>
    </item>
    <item>
      <title>Re: Create a macro variable based on another dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128586#M26248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From your example, it seems unnecessary to create data2:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set data1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where ws = '2';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('AA',estimate);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is ws unique in data1?&lt;/P&gt;&lt;P&gt;What do you intend to use &amp;amp;AA for?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 May 2013 10:44:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128586#M26248</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2013-05-07T10:44:38Z</dc:date>
    </item>
    <item>
      <title>Re: Create a macro variable based on another dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128587#M26249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you expect process to execute the way it was laid out with indentation - with the sql macro executing within the data step?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A feature being introduced with SAS9.4 (next month) will allow something like that. However you are not using the relevant syntax.&lt;/P&gt;&lt;P&gt;Check out the function DOSUBL() at support.sas.com&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;peterC&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 May 2013 20:52:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128587#M26249</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2013-05-07T20:52:51Z</dc:date>
    </item>
    <item>
      <title>Re: Create a macro variable based on another dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128588#M26250</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 class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; data1;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; &lt;SPAN class="s2"&gt;input&lt;/SPAN&gt; wk2 estimate;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt;datalines&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 1 12&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 2 14&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; 3 15&lt;/P&gt;&lt;P class="p1"&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P class="p3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt;&lt;SPAN class="s3"&gt;%macro Test (num=);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;proc sql noprint;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;select estimate into : aa from data1&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;where wk2=&amp;amp;num;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;%put &amp;amp;aa;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;data data2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;wk=&amp;amp;num;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;estimate=&amp;amp;aa;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;proc print;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;%mend Test;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;/* calling the macros */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;%test(num=2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;%test(num=3);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s3"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 03:51:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-a-macro-variable-based-on-another-dataset/m-p/128588#M26250</guid>
      <dc:creator>siliveri4uall</dc:creator>
      <dc:date>2013-05-10T03:51:19Z</dc:date>
    </item>
  </channel>
</rss>

