<?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: function in a macro in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116020#M259334</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are mixing programming techniques which is not working as you expect.&lt;/P&gt;&lt;P&gt;Am I correct to assume that you want to hold a mapping logic (aantal_xxx -&amp;gt; cat_log_yyy) separate in a sort of isolated function?&lt;/P&gt;&lt;P&gt;There are more elegant ways to&amp;nbsp; do this, on is to use SAS formats:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro start_BG_NIEUW_1_compute(input_table=, output_table=);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data &amp;amp;output_table;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &amp;amp;input_table;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD_CAT_LOGEMENT = put(AANTAL_WONINGEN, aant2catlogFmt.);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;%mend start_BG_NIEUW_1_compute;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I took the liberty to change the step to use your input parameter output_table....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Oct 2013 11:13:40 GMT</pubDate>
    <dc:creator>LinusH</dc:creator>
    <dc:date>2013-10-18T11:13:40Z</dc:date>
    <item>
      <title>function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116019#M259333</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&gt;i have a little problem.&lt;/P&gt;&lt;P&gt;In a macro, i would like to call a function and return a value.&lt;/P&gt;&lt;P&gt;The problem is that the return value (catlog) always returns '20', whatever the value of the variable AANTAL_WONINGEN is.&lt;/P&gt;&lt;P&gt;AANTAL_WONINGEN is a numeric variable.&amp;nbsp; Whether it has value 1, 12 or 50, it always returns '20'.&lt;/P&gt;&lt;P&gt;I can't see why this code doesn't work. Maybe anyone else can see the problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro start_BG_NIEUW_1_compute(input_table=, output_table=);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data temp1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &amp;amp;input_table;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let n=AANTAL_WONINGEN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %tab_cat_log(aantal=&amp;amp;n);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD_CAT_LOGEMENT = &amp;amp;catlog;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;%mend start_BG_NIEUW_1_compute;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro tab_cat_log(aantal=);&lt;/P&gt;&lt;P&gt;%global catlog;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;aantal = 1 %then %let catlog = '02';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 2 %then %let catlog = '03';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 3 %then %let catlog = '04';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 4 %then %let catlog = '05';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 5 %then %let catlog = '06';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 6 %then %let catlog = '07';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 7 %then %let catlog = '08';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 8 %then %let catlog = '09';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 9 %then %let catlog = '10';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 15 %then %let catlog = '11';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 20 %then %let catlog = '12';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 25 %then %let catlog = '13';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 30 %then %let catlog = '14';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 40 %then %let catlog = '15';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 50 %then %let catlog = '16';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 60 %then %let catlog = '17';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 80 %then %let catlog = '18';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 100 %then %let catlog = '19';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %let catlog = '20';&lt;/P&gt;&lt;P&gt;%mend tab_cat_log;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 10:16:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116019#M259333</guid>
      <dc:creator>fre</dc:creator>
      <dc:date>2013-10-18T10:16:35Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116020#M259334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are mixing programming techniques which is not working as you expect.&lt;/P&gt;&lt;P&gt;Am I correct to assume that you want to hold a mapping logic (aantal_xxx -&amp;gt; cat_log_yyy) separate in a sort of isolated function?&lt;/P&gt;&lt;P&gt;There are more elegant ways to&amp;nbsp; do this, on is to use SAS formats:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro start_BG_NIEUW_1_compute(input_table=, output_table=);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data &amp;amp;output_table;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &amp;amp;input_table;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD_CAT_LOGEMENT = put(AANTAL_WONINGEN, aant2catlogFmt.);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;%mend start_BG_NIEUW_1_compute;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I took the liberty to change the step to use your input parameter output_table....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 11:13:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116020#M259334</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2013-10-18T11:13:40Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116021#M259335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i do not understand very well what you mean with aant2catlogFmt.&lt;/P&gt;&lt;P&gt;What does it refer to?&amp;nbsp; I thought I need to make a reference in my datastep to the second macro (%macro tab_cat_log).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 11:34:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116021#M259335</guid>
      <dc:creator>fre</dc:creator>
      <dc:date>2013-10-18T11:34:19Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116022#M259336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;when I replace &lt;/P&gt;&lt;P&gt;&amp;nbsp; %let n=AANTAL_WONINGEN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;by &lt;/P&gt;&lt;P&gt;&amp;nbsp; %let n=1; (or any other number)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the macro works well and the right category returns.&lt;/P&gt;&lt;P&gt;How can I assign to the macrovariable n the value from the variable AANTAL_WONINGEN in the datastep?&lt;/P&gt;&lt;P&gt;I tried symput, but it didn't work either.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 12:08:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116022#M259336</guid>
      <dc:creator>fre</dc:creator>
      <dc:date>2013-10-18T12:08:51Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116023#M259337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The way you are using %let SAS is setting n to the value "&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;AANTAL_WONINGEN&lt;/SPAN&gt;" and not to the variable value of &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;AANTAL_WONINGEN&lt;/SPAN&gt; in the dataset so that is why it is returning the 'else' value all the time. If you replace the %let line with "call symputx('n',&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;AANTAL_WONINGEN);" I think you get closer to what you want.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="119192" __jive_macro_name="user" class="jive_macro jive_macro_user" href="https://communities.sas.com/"&gt;&lt;/A&gt; is right using the format method would probably lead to better results.&amp;nbsp; Frankly since you already had all the "if ... then" statements typed into the second macro, I dont know why you just didnt use standard datastep "if ...then" to set the values. I dont think you need any macros to accomplish what you have described.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps!&lt;/P&gt;&lt;P&gt;EJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 12:23:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116023#M259337</guid>
      <dc:creator>esjackso</dc:creator>
      <dc:date>2013-10-18T12:23:50Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116024#M259338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The reason why I put it in a macro is because it is a part that will be referenced to from other macros multiple times.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i've adapted the first macro as follow.&amp;nbsp; It didn't change the output.&amp;nbsp; It keeps returning value 20. Can't find what's going on ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro start_BG_NIEUW_1_compute(input_table=, output_table=);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data temp1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &amp;amp;input_table;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('n',AANTAL_WONINGEN);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %tab_cat_log(aantal=&amp;amp;n);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD_CAT_LOGEMENT = &amp;amp;catlog;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* some other code ....*/&lt;/P&gt;&lt;P&gt;%mend start_BG_NIEUW_1_compute;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;didn't change the second macro.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 12:47:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116024#M259338</guid>
      <dc:creator>fre</dc:creator>
      <dc:date>2013-10-18T12:47:33Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116025#M259339</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;After your message came across it hit me that call symput would not work either because the macro variable would not be available until after the data step concludes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So the best way to go would be to use a format, but if you want to use a macro I would do the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt; %macro tab_cat_log(aantal,othervar);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;length &amp;amp;othervar $ 2;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if &amp;amp;aantal = 1 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '02';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal = 2 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '03';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&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; else if &amp;amp;aantal = 3 then &amp;amp;othervar = '04';&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&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; else if &amp;amp;aantal = 4 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '05';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&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; else if &amp;amp;aantal = 5 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '06';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal = 6 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '07';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal = 7 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '08';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal = 8 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '09';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal = 9 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '10';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 15 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '11';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 20 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '12';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 25 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '13';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 30 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '14';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 40 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '15';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 50 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '16';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 60 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '17';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 80 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '18';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if &amp;amp;aantal &amp;lt; 100 then &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '19';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;amp;othervar&lt;/SPAN&gt; = '20';&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%mend tab_cat_log;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%macro start_BG_NIEUW_1_compute(input_table=, output_table=);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data temp1;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &amp;amp;input_table;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %tab_cat_log(AANTAL_WONINGEN,cd_cat_logement);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%mend start_BG_NIEUW_1_compute;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Hope this helps!&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;EJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 13:06:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116025#M259339</guid>
      <dc:creator>esjackso</dc:creator>
      <dc:date>2013-10-18T13:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116026#M259340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;just remember that &amp;lt; 20 would include 15 and so forth by the natural of the way you setup the logic.&lt;/P&gt;&lt;P&gt;EJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 13:07:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116026#M259340</guid>
      <dc:creator>esjackso</dc:creator>
      <dc:date>2013-10-18T13:07:14Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116027#M259341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The reason it keeps returning 20 because you always input 'AANTAL_WONINGEN" as the macro variable value. You can't pass on data step variable value to macro variable like this. The more appropriate ways may involve using &lt;/P&gt;&lt;P&gt;1. call symput() to pass on values, then&lt;/P&gt;&lt;P&gt;2. Call execute to invoke macros.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When debugging, it helps if you turn on Symbolgen, Mprint and Mlogic options.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 13:11:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116027#M259341</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-10-18T13:11:16Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116028#M259342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;call symput + call execute:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set sashelp.class;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call symputx('age',age);&lt;/P&gt;&lt;P&gt;&amp;nbsp; call execute('%put age=&amp;amp;age');&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 13:17:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116028#M259342</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-10-18T13:17:26Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116029#M259343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks &lt;A __default_attr="5068" __jive_macro_name="user" class="jive_macro jive_macro_user" href="https://communities.sas.com/"&gt;&lt;/A&gt; I knew I was forgetting something!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I think if you put:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call execute('&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%tab_cat_log(AANTAL_WONINGEN,cd_cat_logement');&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;instead of just the macro call you might have better results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 13:24:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116029#M259343</guid>
      <dc:creator>esjackso</dc:creator>
      <dc:date>2013-10-18T13:24:37Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116030#M259344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It refers to a SAS format that you need to create, based in the interval you have in your %if logic.&lt;/P&gt;&lt;P&gt;This will lead to a centric approach to manage a business rule, and possible data driven.&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/proc/64787/HTML/default/viewer.htm#p1upn25lbfo6mkn1wncu4dyh9q91.htm" title="http://support.sas.com/documentation/cdl/en/proc/64787/HTML/default/viewer.htm#p1upn25lbfo6mkn1wncu4dyh9q91.htm"&gt;Base SAS(R) 9.4 Procedures Guide&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 14:00:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116030#M259344</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2013-10-18T14:00:23Z</dc:date>
    </item>
    <item>
      <title>Re: function in a macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116031#M259345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So your problem is a confusion of when macro logic executes relative to when the generated SAS code runs.&lt;/P&gt;&lt;P&gt;Most likely you would get better results by creating a format and using that, but you can get results from this type of macro by using the RESOLVE() function in a data step.&amp;nbsp; With the current definition of the macro function your data step could look like this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;data temp1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; set &amp;amp;input_table;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; length CD_CAT_LAGEMENT $4 ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; CD_CAT_LOGEMENT = resolve(cats('%tab_cat_log(aantal=',AANTAL_WONINGEN,')');&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; CD_CAT_LOGEMENT = symget('catlog');&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;But do you really want CD_CAT_LAGEMENT to be a character variable with single quotes embedded in them? Now if you turned your macro into a true function style macro that returns the result as the value of the macro instead of setting it into a macro variable it would work better.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%macro tab_cat_log(aantal);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%local catlog;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;aantal = 1 %then %let catlog = 02;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 2 %then %let catlog = 03;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 3 %then %let catlog = 04;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 4 %then %let catlog = 05;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 5 %then %let catlog = 06;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 6 %then %let catlog = 07;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 7 %then %let catlog = 08;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 8 %then %let catlog = 09;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal = 9 %then %let catlog = 10;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 15 %then %let catlog = 11;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 20 %then %let catlog = 12;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 25 %then %let catlog = 13;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 30 %then %let catlog = 14;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 40 %then %let catlog = 15;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 50 %then %let catlog = 16;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 60 %then %let catlog = 17;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 80 %then %let catlog = 18;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %if &amp;amp;aantal &amp;lt; 100 %then %let catlog = 19;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %let catlog = 20;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;amp;catlog.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%mend tab_cat_log;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; background-color: #ffffff;"&gt;%macro start_BG_NIEUW_1_compute(input_table=, output_table=);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;data &amp;amp;output_table;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; set &amp;amp;input_table;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; length CD_CAT_LAGEMENT $2 ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; CD_CAT_LOGEMENT = resolve(cats('%tab_cat_log(',AANTAL_WONINGEN,')');&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%mend &lt;SPAN style="font-family: 'courier new', courier; background-color: #ffffff;"&gt;start_BG_NIEUW_1_compute&lt;/SPAN&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2013 14:17:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/function-in-a-macro/m-p/116031#M259345</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2013-10-18T14:17:21Z</dc:date>
    </item>
  </channel>
</rss>

