<?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 Macros and VAR in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30667#M5850</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Without any test data to run your code, I can only make a couple of observations:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. In both the original and macro you start with a data step creating a file called p_date, but don't appear to use it.&amp;nbsp; If that is correct, change it to a data _null_ step.&amp;nbsp; Plus, I would end it with a run statement, although that shouldn't affect anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. You create a file called test_numbers, but then access a file called test_number.&amp;nbsp; Somehow, I think that is in error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Where you have infile, it looks like a single double quote.&amp;nbsp; Shouldn't the whole file name be quoted (i.e. have quotes before and after it)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. When you call the macro you end the call with a semi-colon.&amp;nbsp; You probably shouldn't.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HTH,&lt;/P&gt;&lt;P&gt;Art&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 13 Jul 2011 16:23:25 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2011-07-13T16:23:25Z</dc:date>
    <item>
      <title>Macros and VAR</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30666#M5849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;original code&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;data p_date;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; process_date = today();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin_date = intnx ('day',process_date,&lt;STRONG&gt;-&lt;/STRONG&gt;14);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format [rpcess_date begin_date yymmddp10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput("p_date",process_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call sysmput("begin_date", begin_date);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Data test_numbers;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Infile "case.txt:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;data data_add;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;set test_number;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;some code...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;proc sql;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp; create table detail_&amp;amp;var2 as&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select *&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from data_add_&amp;amp;var2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #800000; font-size: 12pt;"&gt;This code works but now I need to change it to a macro with variables;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;macro all_records (var1, var2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;data p_date;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; process_date = today();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin_date = intnx ('day',process_date,-&amp;amp;var1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format [rpcess_date begin_date yymmddp10.;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput("p_date",process_date);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call sysmput("begin_date", begin_date);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Data test_numbers;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Infile "&amp;amp;var2..txt:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;data data_add_&amp;amp;var2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;set test_number;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;some code...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;proc sql;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp; create table detail_&amp;amp;var2 as&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select *&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from data_add_&amp;amp;var2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;mend;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;%&lt;STRONG&gt;&lt;EM&gt;all_records (14, Ark);&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;%all_records (14, Geo);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;﻿&lt;/SPAN&gt;%all_records (13, Ark);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;﻿%all_records (13, Geo);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;﻿&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;﻿&lt;/SPAN&gt;The only item that correctly converted the var was for the infile.&amp;nbsp; Error messages are given for the rest.&amp;nbsp; Can anyone help&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;﻿&lt;/SPAN&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2011 15:54:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30666#M5849</guid>
      <dc:creator>mick_g</dc:creator>
      <dc:date>2011-07-13T15:54:46Z</dc:date>
    </item>
    <item>
      <title>Macros and VAR</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30667#M5850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Without any test data to run your code, I can only make a couple of observations:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. In both the original and macro you start with a data step creating a file called p_date, but don't appear to use it.&amp;nbsp; If that is correct, change it to a data _null_ step.&amp;nbsp; Plus, I would end it with a run statement, although that shouldn't affect anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. You create a file called test_numbers, but then access a file called test_number.&amp;nbsp; Somehow, I think that is in error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Where you have infile, it looks like a single double quote.&amp;nbsp; Shouldn't the whole file name be quoted (i.e. have quotes before and after it)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. When you call the macro you end the call with a semi-colon.&amp;nbsp; You probably shouldn't.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HTH,&lt;/P&gt;&lt;P&gt;Art&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2011 16:23:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30667#M5850</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-07-13T16:23:25Z</dc:date>
    </item>
    <item>
      <title>Macros and VAR</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30668#M5851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;P_date is used in the code that I omited&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Test_numbers and Test_numbers is just a typo sorry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The infile works fine with the macro&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure about number 4 &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2011 16:33:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30668#M5851</guid>
      <dc:creator>mick_g</dc:creator>
      <dc:date>2011-07-13T16:33:40Z</dc:date>
    </item>
    <item>
      <title>Macros and VAR</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30669#M5852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I just noticed that you didn't precede the word macro with a % (at the very start of your macro).&amp;nbsp; Was that just a typo?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2011 16:44:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30669#M5852</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-07-13T16:44:30Z</dc:date>
    </item>
    <item>
      <title>Macros and VAR</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30670#M5853</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I also noticed that you mend statement (at the end) wasn't preceded by a %.&amp;nbsp; The following appears to work:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro all_records (var1, var2);&lt;/P&gt;&lt;P&gt;&amp;nbsp; data p_date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; process_date = today();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin_date = intnx ('day',process_date,-&amp;amp;var1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format process_date begin_date yymmddp10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput("p_date",process_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput("begin_date", begin_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Data test_numbers;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Infile "c:\art\&amp;amp;var2..txt";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; informat x best12.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input x;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; data data_add_&amp;amp;var2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set test_numbers;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *some code...;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table detail_&amp;amp;var2 as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from data_add_&amp;amp;var2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; quit;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%all_records (14, Ark)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2011 16:55:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30670#M5853</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-07-13T16:55:28Z</dc:date>
    </item>
    <item>
      <title>Macros and VAR</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30671#M5854</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Yes sorry&amp;nbsp; the %Macro &lt;/P&gt;&lt;P&gt;The code is not resolving &amp;amp;var1 or &amp;amp;var2 except for the infile &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I was thinking that I am missing either " ' . or something but I have tried putting the &amp;amp;var1 in single and double quotes both will work as long as I take the - sign out of the code.&amp;nbsp; So I tried %&lt;STRONG&gt;&lt;EM&gt;all_records (-14, Ark);&amp;nbsp; &lt;/EM&gt;&lt;/STRONG&gt;but that did not work either.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;for the var2 single or double quotes or period at the end still gave error message about VAR2 not resolved.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2011 17:00:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30671#M5854</guid>
      <dc:creator>mick_g</dc:creator>
      <dc:date>2011-07-13T17:00:37Z</dc:date>
    </item>
    <item>
      <title>Macros and VAR</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30672#M5855</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Post the error messages you're getting in the log with the section of code that generates the error using options mprint symbolgen to help debug. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks like it should work at first glance, so probably some typos or something somewhere. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can try resolving the macro variables with the period after as well, &amp;amp;var1. though I don't think you need it. &lt;/P&gt;&lt;P&gt;Also can try -1*&amp;amp;var1. but that isn't ideal either...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2011 18:01:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macros-and-VAR/m-p/30672#M5855</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2011-07-13T18:01:18Z</dc:date>
    </item>
  </channel>
</rss>

