<?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 Creating a Macro Program in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704786#M26181</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro HistAndStats (DSNM= , VBL= Stats=N MEAN STDDEV , NDEC =1);
TITLE "Histogram for '&amp;amp;VBL' from Data set '...' " ;
PROC SGPLOT DATA= &amp;amp;DSNM;
HISTOGRAM &amp;amp;VBL;

RUN;

TITLE "Summary Statistics for '&amp;amp;VBL'from Data Set '&amp;amp;DSNM' ";
PROC MEANS DATA= &amp;amp;.. &amp;amp;...
VAR &amp;amp;VBL;
RUN;
%MEND HistAndStats;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Hello SAS Communities,&lt;/P&gt;
&lt;P&gt;I am working on a code but have some errors, below what I need to do:-&amp;nbsp;&lt;/P&gt;
&lt;P&gt;a macro program named ‘HistAndStats’ which may be used to summarize a numeric variable from any data set.&lt;/P&gt;
&lt;P&gt;The macro should contain the following 4 parameters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;‘DSNm’ to specify the data set name&lt;/LI&gt;
&lt;LI&gt;‘Vbl’ to specify the numeric variable&lt;/LI&gt;
&lt;LI&gt;‘Stats’ to specify summary statistics.&amp;nbsp; Include default statistics of N, MEAN, and STDDEV.&lt;/LI&gt;
&lt;LI&gt;‘NDec’ to specify the number of decimals.&amp;nbsp; Include a default value of 1.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;My Code &amp;nbsp;looks like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro HistAndStats (DSNM= , VBL= Stats=N MEAN STDDEV , NDEC =1);&lt;BR /&gt;TITLE "Histogram for '&amp;amp;VBL' from Data set '&amp;amp;DSNM' " ;&lt;BR /&gt;PROC SGPLOT DATA= ...;&lt;BR /&gt;HISTOGRAM &amp;amp;VBL;&lt;BR /&gt;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;P&gt;TITLE "Summary Statistics for '&amp;amp;VBL'from Data Set '&amp;amp;DSNM' ";&lt;BR /&gt;PROC MEANS DATA= ... &amp;amp;...&lt;BR /&gt;VAR &amp;amp;VBL;&lt;BR /&gt;RUN;&lt;BR /&gt;%MEND HistAndStats;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And I have attached the&amp;nbsp; error on my LOG&lt;/P&gt;
&lt;P&gt;Thank you so much!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 10 Dec 2020 15:13:59 GMT</pubDate>
    <dc:creator>sulafa</dc:creator>
    <dc:date>2020-12-10T15:13:59Z</dc:date>
    <item>
      <title>Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704786#M26181</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro HistAndStats (DSNM= , VBL= Stats=N MEAN STDDEV , NDEC =1);
TITLE "Histogram for '&amp;amp;VBL' from Data set '...' " ;
PROC SGPLOT DATA= &amp;amp;DSNM;
HISTOGRAM &amp;amp;VBL;

RUN;

TITLE "Summary Statistics for '&amp;amp;VBL'from Data Set '&amp;amp;DSNM' ";
PROC MEANS DATA= &amp;amp;.. &amp;amp;...
VAR &amp;amp;VBL;
RUN;
%MEND HistAndStats;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Hello SAS Communities,&lt;/P&gt;
&lt;P&gt;I am working on a code but have some errors, below what I need to do:-&amp;nbsp;&lt;/P&gt;
&lt;P&gt;a macro program named ‘HistAndStats’ which may be used to summarize a numeric variable from any data set.&lt;/P&gt;
&lt;P&gt;The macro should contain the following 4 parameters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;‘DSNm’ to specify the data set name&lt;/LI&gt;
&lt;LI&gt;‘Vbl’ to specify the numeric variable&lt;/LI&gt;
&lt;LI&gt;‘Stats’ to specify summary statistics.&amp;nbsp; Include default statistics of N, MEAN, and STDDEV.&lt;/LI&gt;
&lt;LI&gt;‘NDec’ to specify the number of decimals.&amp;nbsp; Include a default value of 1.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;My Code &amp;nbsp;looks like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro HistAndStats (DSNM= , VBL= Stats=N MEAN STDDEV , NDEC =1);&lt;BR /&gt;TITLE "Histogram for '&amp;amp;VBL' from Data set '&amp;amp;DSNM' " ;&lt;BR /&gt;PROC SGPLOT DATA= ...;&lt;BR /&gt;HISTOGRAM &amp;amp;VBL;&lt;BR /&gt;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;P&gt;TITLE "Summary Statistics for '&amp;amp;VBL'from Data Set '&amp;amp;DSNM' ";&lt;BR /&gt;PROC MEANS DATA= ... &amp;amp;...&lt;BR /&gt;VAR &amp;amp;VBL;&lt;BR /&gt;RUN;&lt;BR /&gt;%MEND HistAndStats;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And I have attached the&amp;nbsp; error on my LOG&lt;/P&gt;
&lt;P&gt;Thank you so much!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Dec 2020 15:13:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704786#M26181</guid>
      <dc:creator>sulafa</dc:creator>
      <dc:date>2020-12-10T15:13:59Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704788#M26183</link>
      <description>&lt;P&gt;Please post the log by copy/pasting it into a window opened with the &amp;lt;/&amp;gt; button. Use the "little running man" right next to it for posting code.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2020 16:36:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704788#M26183</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-12-09T16:36:13Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704790#M26184</link>
      <description>&lt;P&gt;The message in your picture indicates a problem with unbalanced quotes earlier in your session. Restart your session, and submit ONLY your macro code, then post the log as requested.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2020 16:39:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704790#M26184</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-12-09T16:39:47Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704801#M26188</link>
      <description>&lt;P&gt;Please show the code that worked without any macro elements.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you don't have such, that is the first step in developing macro programming.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Many users here don't want to download Microsoft Office files because of virus potential, others have such things blocked by security software. &lt;/P&gt;
&lt;P&gt;It is much better to copy text from the Log and paste into a code box opened on the forum using the &amp;lt;/&amp;gt; icon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2020 16:55:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704801#M26188</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-12-09T16:55:29Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704802#M26189</link>
      <description>&lt;OL&gt;
&lt;LI&gt;Forgot a comma on macro statement&lt;/LI&gt;
&lt;LI&gt;Missed the NDEC parameter&lt;/LI&gt;
&lt;LI&gt;Forgot a semicolon on your PROC MEANS statement&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Here are some good macro references for you:&lt;/P&gt;
&lt;P&gt;UCLA introductory tutorial on macro variables and macros&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://stats.idre.ucla.edu/sas/seminars/sas-macros-introduction/" target="_blank"&gt;https://stats.idre.ucla.edu/sas/seminars/sas-macros-introduction/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Tutorial on converting a working program to a macro&lt;BR /&gt;&lt;BR /&gt;This method is pretty robust and helps prevent errors and makes it much easier to debug your code. Obviously biased, because I wrote it &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; &lt;A href="https://github.com/statgeek/SAS-Tutorials/blob/master/Turning%20a%20program%20into%20a%20macro.md" target="_blank"&gt;https://github.com/statgeek/SAS-Tutorials/blob/master/Turning%20a%20program%20into%20a%20macro.md&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Examples of common macro usage&lt;BR /&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/SAS-9-4-Macro-Language-Reference-Has-a-New-Appendix/ta-p/291716" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/SAS-9-4-Macro-Language-Reference-Has-a-New-Appendix/ta-p/291716&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And your code that should work (untested)&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro HistAndStats (DSNM= , 
                                     VBL= ,
                                     Stats=N MEAN STDDEV , 
                                      NDEC =1);


TITLE "Histogram for &amp;amp;VBL. from Data set &amp;amp;DSNM " ;

PROC SGPLOT DATA= &amp;amp;DSNM;
HISTOGRAM &amp;amp;VBL;
RUN;

TITLE "Summary Statistics for &amp;amp;VBL from Data Set &amp;amp;DSNM";

PROC MEANS DATA= &amp;amp;DSNM &amp;amp;STATS MaxDec = &amp;amp;NDEC;
VAR &amp;amp;VBL;
RUN;

%MEND HistAndStats;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/348553"&gt;@sulafa&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello SAS Communities,&lt;/P&gt;
&lt;P&gt;I am working on a code but have some errors, below what I need to do:-&amp;nbsp;&lt;/P&gt;
&lt;P&gt;a macro program named ‘HistAndStats’ which may be used to summarize a numeric variable from any data set.&lt;/P&gt;
&lt;P&gt;The macro should contain the following 4 parameters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;‘DSNm’ to specify the data set name&lt;/LI&gt;
&lt;LI&gt;‘Vbl’ to specify the numeric variable&lt;/LI&gt;
&lt;LI&gt;‘Stats’ to specify summary statistics.&amp;nbsp; Include default statistics of N, MEAN, and STDDEV.&lt;/LI&gt;
&lt;LI&gt;‘NDec’ to specify the number of decimals.&amp;nbsp; Include a default value of 1.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;My Code &amp;nbsp;looks like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro HistAndStats (DSNM= , VBL= Stats=N MEAN STDDEV , NDEC =1);&lt;BR /&gt;TITLE "Histogram for '&amp;amp;VBL' from Data set '&amp;amp;DSNM' " ;&lt;BR /&gt;PROC SGPLOT DATA= &amp;amp;DSNM;&lt;BR /&gt;HISTOGRAM &amp;amp;VBL;&lt;BR /&gt;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;P&gt;TITLE "Summary Statistics for '&amp;amp;VBL'from Data Set '&amp;amp;DSNM' ";&lt;BR /&gt;PROC MEANS DATA= &amp;amp;DSNM &amp;amp;STATS&lt;BR /&gt;VAR &amp;amp;VBL;&lt;BR /&gt;RUN;&lt;BR /&gt;%MEND HistAndStats;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And I have attached the&amp;nbsp; error on my LOG&lt;/P&gt;
&lt;P&gt;Thank you so much!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2020 16:57:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704802#M26189</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-12-09T16:57:18Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704843#M26198</link>
      <description>Sorry, I am going to do that, thank you!</description>
      <pubDate>Wed, 09 Dec 2020 19:19:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704843#M26198</guid>
      <dc:creator>sulafa</dc:creator>
      <dc:date>2020-12-09T19:19:22Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704856#M26199</link>
      <description>I just tested this one and it works it works .&lt;BR /&gt;Let us know if it works %macro HistAndStats (DSNM= ,&lt;BR /&gt;VBL= ,&lt;BR /&gt;Stats=N MEAN STDDEV ,&lt;BR /&gt;NDEC =1);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;TITLE "Histogram for '&amp;amp;VBL'. from Data set '&amp;amp;DSNM ' " ;&lt;BR /&gt;&lt;BR /&gt;PROC SGPLOT DATA= &amp;amp;DSNM;&lt;BR /&gt;HISTOGRAM &amp;amp;VBL;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;TITLE "Summary Statistics for '&amp;amp;VBL' from Data Set '&amp;amp;DSNM' ";&lt;BR /&gt;&lt;BR /&gt;PROC MEANS DATA= &amp;amp;DSNM &amp;amp;STATS&lt;BR /&gt;MaxDec = &amp;amp;NDEC;&lt;BR /&gt;VAR &amp;amp;VBL;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;%MEND HistAndStats;&lt;BR /&gt;</description>
      <pubDate>Wed, 09 Dec 2020 20:13:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704856#M26199</guid>
      <dc:creator>muawia27</dc:creator>
      <dc:date>2020-12-09T20:13:22Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704859#M26200</link>
      <description>Glad to hear it works. Please mark the question as solved.</description>
      <pubDate>Wed, 09 Dec 2020 20:25:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704859#M26200</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-12-09T20:25:27Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704860#M26201</link>
      <description>Done, thank you!</description>
      <pubDate>Wed, 09 Dec 2020 20:26:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704860#M26201</guid>
      <dc:creator>sulafa</dc:creator>
      <dc:date>2020-12-09T20:26:04Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704861#M26202</link>
      <description>Thank you so much!</description>
      <pubDate>Wed, 09 Dec 2020 20:28:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704861#M26202</guid>
      <dc:creator>sulafa</dc:creator>
      <dc:date>2020-12-09T20:28:02Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a Macro Program</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704900#M26210</link>
      <description>Thank you so much Reeza, I am sorry I missed your comment, that solves the problem !</description>
      <pubDate>Thu, 10 Dec 2020 00:02:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Creating-a-Macro-Program/m-p/704900#M26210</guid>
      <dc:creator>sulafa</dc:creator>
      <dc:date>2020-12-10T00:02:50Z</dc:date>
    </item>
  </channel>
</rss>

