<?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 Unresolved Macro References in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156066#M298918</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am applying the following code to the attached .csv file; I am trying to assign each of the observations corresponding to dataset StepRateSchedules to macro variables and then have each of the macro variables displayed in my log (%put statements). For some reason, my macro references below do not get resolved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas on why that may be the case and how I can accomplish my goal?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data WORK.StepRateSchedules;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile '/FilePath/RateSchedule.csv' dsd lrecl=40000 firstobs=3;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat Cusip $10.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat AnnualCouponRateDates mmddyy10.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat AnnualCouponRates 5.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format AnnualCouponRateDates yymmddn8.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input Cusip AnnualCouponRateDates AnnualCouponRates;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%macro RateAssignment();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %let dsid=%sysfunc(open(StepRateSchedules));&lt;BR /&gt;&amp;nbsp; %let Nobs=%sysfunc(attrn(&amp;amp;dsid,nlobs));&lt;BR /&gt;&amp;nbsp; %let dsid=%sysfunc(close(&amp;amp;dsid));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %do i=1 %to &amp;amp;Nobs;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select AnnualCouponRates, AnnualCouponRateDates&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; into :Rate&amp;amp;i, :RateDate&amp;amp;i&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from StepRateSchedules (obs=&amp;amp;i);&lt;BR /&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%mend;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%RateAssignment();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put &amp;amp;&amp;amp;Rate&amp;amp;i;&lt;/P&gt;&lt;P&gt;%put &amp;amp;&amp;amp;RateDate&amp;amp;i;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 23 Sep 2014 15:41:27 GMT</pubDate>
    <dc:creator>maroulator</dc:creator>
    <dc:date>2014-09-23T15:41:27Z</dc:date>
    <item>
      <title>Unresolved Macro References</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156066#M298918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am applying the following code to the attached .csv file; I am trying to assign each of the observations corresponding to dataset StepRateSchedules to macro variables and then have each of the macro variables displayed in my log (%put statements). For some reason, my macro references below do not get resolved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas on why that may be the case and how I can accomplish my goal?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data WORK.StepRateSchedules;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile '/FilePath/RateSchedule.csv' dsd lrecl=40000 firstobs=3;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat Cusip $10.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat AnnualCouponRateDates mmddyy10.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat AnnualCouponRates 5.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format AnnualCouponRateDates yymmddn8.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input Cusip AnnualCouponRateDates AnnualCouponRates;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%macro RateAssignment();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %let dsid=%sysfunc(open(StepRateSchedules));&lt;BR /&gt;&amp;nbsp; %let Nobs=%sysfunc(attrn(&amp;amp;dsid,nlobs));&lt;BR /&gt;&amp;nbsp; %let dsid=%sysfunc(close(&amp;amp;dsid));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %do i=1 %to &amp;amp;Nobs;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select AnnualCouponRates, AnnualCouponRateDates&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; into :Rate&amp;amp;i, :RateDate&amp;amp;i&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from StepRateSchedules (obs=&amp;amp;i);&lt;BR /&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%mend;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%RateAssignment();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put &amp;amp;&amp;amp;Rate&amp;amp;i;&lt;/P&gt;&lt;P&gt;%put &amp;amp;&amp;amp;RateDate&amp;amp;i;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Sep 2014 15:41:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156066#M298918</guid>
      <dc:creator>maroulator</dc:creator>
      <dc:date>2014-09-23T15:41:27Z</dc:date>
    </item>
    <item>
      <title>Re: Unresolved Macro References</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156067#M298919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Those macro variables are created locally so disappear when the macro ends.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Don't use a macro for this though, SQL will create a list of variables for you. Choose an endpoint that will always be greater than the number of observations and SAS will only create the macro variables needed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;proc sql;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;select AnnualCouponRates, AnnualCouponRateDates&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;into :Rate1-:Rate99999, :RateDate1-:RateDate99999&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;from StepRateSchedules;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put &amp;amp;rate1;&lt;/P&gt;&lt;P&gt;%put &amp;amp;rate99;&lt;/P&gt;&lt;P&gt;%put &amp;amp;rate1000;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Sep 2014 15:47:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156067#M298919</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-09-23T15:47:09Z</dc:date>
    </item>
    <item>
      <title>Re: Unresolved Macro References</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156068#M298920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Reeza,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, this is a very good suggestion; for some reason I tend to default to macros. One follow up question on the above, however.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to be able to list out ALL variables defined in my list (ie from &amp;amp;Rate1 to &amp;amp;&amp;amp;Rate&amp;amp;SQLOBS) and I won't necessarily know how many are in each list. Any simple suggestions?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Sep 2014 17:34:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156068#M298920</guid>
      <dc:creator>maroulator</dc:creator>
      <dc:date>2014-09-23T17:34:22Z</dc:date>
    </item>
    <item>
      <title>Re: Unresolved Macro References</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156069#M298921</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can still capture the &amp;amp;sqlobs and use that.&lt;/P&gt;&lt;P&gt;But why the need to list them out? If you have to display them then use the display from teh SQL table&lt;/P&gt;&lt;P&gt;or look at sashelp.vmacro table &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Sep 2014 18:18:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156069#M298921</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-09-23T18:18:49Z</dc:date>
    </item>
    <item>
      <title>Re: Unresolved Macro References</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156070#M298922</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The quick and dirty way is easy to program:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put _user_;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, it may give you a little more information than you are looking for, and in a different order than you are hoping for.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Sep 2014 18:30:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Unresolved-Macro-References/m-p/156070#M298922</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2014-09-23T18:30:07Z</dc:date>
    </item>
  </channel>
</rss>

