<?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: Adding to the value of a macro variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202255#M37736</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can generalize to any list of macro variables that have the property of the macro variable name matching the corresponding data set variable name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%let sera= ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%let kumulereignis=A,AA ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%let merkmal=BBB ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;data _null_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; length where $30000 ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; array vars $500 sera kumulereignis merkmal ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; do i=1 to dim(vars);&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; vars(i)=symget(vname(vars(i)));&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 vars(i) ne ' ' then&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; where =catx(' AND ',where,catx('=',vname(vars(i)),catq('1as',vars(i))))&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; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; if where ne ' ' then where='where ' || where ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; put where=;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; call symputx('where',where);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;where=where kumulereignis='A,AA' AND merkmal='BBB'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 14 Jul 2015 15:48:01 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2015-07-14T15:48:01Z</dc:date>
    <item>
      <title>Adding to the value of a macro variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202249#M37730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I hope this question hasn't been posted before, I couldn't find anything on it, but I don't really know what I am looking for.&lt;/P&gt;&lt;P&gt;I want to append a number of characters to the value of a macro variable depending on the value of other variable(code below) which will then be used in a Select-Statement as my Where condition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%IF "&amp;amp;SERA" NE "" %THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %LET WHERE=WHERE SERA="&amp;amp;SERA";&lt;/P&gt;&lt;P&gt;&amp;nbsp; %END;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %IF "&amp;amp;KUMULEREIGNIS" NE "" %THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %IF "&amp;amp;WHERE" NE "" %THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %LET WHERE = &amp;amp;WHERE AND KUMULEREIGNIS="&amp;amp;KUMULEREIGNIS";&lt;/P&gt;&lt;P&gt;&amp;nbsp; %END;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %IF "&amp;amp;WHERE" = "" %THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %LET WHERE = WHERE KUMULEREIGNIS="&amp;amp;KUMULEREIGNIS";&lt;/P&gt;&lt;P&gt;&amp;nbsp; %END;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %END;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %IF "&amp;amp;MERKMAL" NE "" %THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %IF "&amp;amp;WHERE" NE "" %THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %LET WHERE = &amp;amp;WHERE AND MERKMAL="&amp;amp;MERKMAL";&lt;/P&gt;&lt;P&gt;&amp;nbsp; %END;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %IF "&amp;amp;WHERE" = "" %THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %LET WHERE = WHERE MERKMAL="&amp;amp;MERKMAL";&lt;/P&gt;&lt;P&gt;&amp;nbsp; %END;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %END;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %IF "&amp;amp;SERA" = "" AND "&amp;amp;KUMULEREIGNIS" = "" AND "&amp;amp;MERKMAL" = "" %THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %LET &amp;amp;WHERE = ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %END;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These are the messages from the log, the last one is just a %PUT which i am using to see the value of the variable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: Line generated by the macro variable "WHERE".&lt;/P&gt;&lt;P&gt;637&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "WHERE SERA="43"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _____________&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 49&lt;/P&gt;&lt;P&gt;NOTE: Line generated by the macro variable "WHERE".&lt;/P&gt;&lt;P&gt;637&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "WHERE SERA="43" AND KUMULEREIGNIS="2014_06_09_ELA"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _____________&amp;nbsp; ______________________&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 49&lt;/P&gt;&lt;P&gt;WHERE SERA="43" AND KUMULEREIGNIS="2014_06_09_ELA"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope somebody can help my with this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2015 13:40:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202249#M37730</guid>
      <dc:creator>Criptic</dc:creator>
      <dc:date>2015-07-14T13:40:13Z</dc:date>
    </item>
    <item>
      <title>Re: Adding to the value of a macro variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202250#M37731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would first start by removing the "" in your macro calls (i.e. %IF "&amp;amp;WHERE"=&amp;gt; %IF &amp;amp;WHERE) as all macro variables are treated as characters already, so the quotes are not needed when calling it in your if statements.&amp;nbsp; Then, when creating your WHERE statement macros in the %LET, try using the %STRING() function to return everything with the quotes and equal sign (i.e %LET WHERE = WHERE MERKEMAL="&amp;amp;MERKMAL"=&amp;gt;%LET WHERE=%STRING(WHERE MERKEMAL="&amp;amp;MERKMAL")).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%LET KUMULEREIGNIS=2014_06_09_ELA;&lt;/P&gt;&lt;P&gt;%LET SERA=43;&lt;/P&gt;&lt;P&gt;%LET WHERE=%STR(WHERE SERA="&amp;amp;SERA");&lt;/P&gt;&lt;P&gt;%LET WHERE=%STR(&amp;amp;WHERE AND KUMULEREIGNIS="&amp;amp;KUMULREIGNIS");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%PUT &amp;amp;WHERE;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2015 14:04:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202250#M37731</guid>
      <dc:creator>dcruik</dc:creator>
      <dc:date>2015-07-14T14:04:21Z</dc:date>
    </item>
    <item>
      <title>Re: Adding to the value of a macro variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202251#M37732</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One: I think you may be overdoing use of "&amp;amp;var", Normal use of the "&amp;amp;var" is to get the value of a macro variable, which is text, used properly inside a data step. Normal use for comparison of macro variables is without quotes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You don't post the actual error but it looks likely to&amp;nbsp; be unmatched quotes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to test if the value of a macro variable is blank a better test is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;SPAN lang="EN"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;if %sysevalf(%superq(sera)=,boolean) %then %do;&lt;/P&gt;&lt;P&gt;Note the macro variable does NOT have the &amp;amp; preceding to work and the whole expression returns true or false so not compared value is needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Run your code with options mprint symbolgen to see what is actually happening and possibly get a better idea where the actual error occurs.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2015 14:08:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202251#M37732</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2015-07-14T14:08:12Z</dc:date>
    </item>
    <item>
      <title>Re: Adding to the value of a macro variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202252#M37733</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Perhaps post some data and required output.&amp;nbsp; I can't for the life of me see why all that macro code is necessary.&amp;nbsp; If you absolutely need a where statement then do it in a datastep and call symput:&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if xyz then call symput('whr_clause','where abc="bcd"');&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2015 14:23:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202252#M37733</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-07-14T14:23:37Z</dc:date>
    </item>
    <item>
      <title>Re: Adding to the value of a macro variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202253#M37734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Based on your idea I came up with another solution and it worked for me. Thanks very much:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;DATA _NULL_;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;LENGTH WHERE_FILTER $500;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;sera_filter="&amp;amp;SERA";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;kumul_filter="&amp;amp;KUMULEREIGNIS";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;merk_filter="&amp;amp;MERKMAL";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;IF sera_filter NE "" THEN DO;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;WHERE_FILTER= 'WHERE SERA="'!!sera_filter!!'"';&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;IF kumul_filter NE "" THEN DO;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;WHERE_FILTER= TRIM(WHERE_FILTER) !! ' AND KUMULEREIGNIS="'!!kumul_filter!!'"';&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;IF merk_filter NE "" THEN DO;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;WHERE_FILTER = TRIM(WHERE_FILTER) !! ' AND MERKMAL="'!!merk_filter!!'"';&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;END;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;END;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;END;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;ELSE IF "&amp;amp;KUMULEREIGNIS" NE "" THEN DO;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;WHERE_FILTER='WHERE KUMULEREIGNIS="'!!kumul_filter!!'"';&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;IF merk_filter NE "" THEN DO;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;WHERE_FILTER = TRIM(WHERE_FILTER) !! ' AND MERKMAL="'!!merk_filter!!'"';&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;END;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;END;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;ELSE IF merk_filter NE "" THEN DO;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;WHERE_FILTER = 'WHERE MERKMAL="'!!merk_filter!!'"';&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;END;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;ELSE DO;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;WHERE_FILTER =' ';&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;END;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;CALL SYMPUT('WHERE_FILTER', WHERE_FILTER);&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;RUN;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2015 15:05:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202253#M37734</guid>
      <dc:creator>Criptic</dc:creator>
      <dc:date>2015-07-14T15:05:57Z</dc:date>
    </item>
    <item>
      <title>Re: Adding to the value of a macro variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202254#M37735</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, in some ways helps.&amp;nbsp; First, good idea to fix on a Good Programming Structure, consistent indentation/capitilisation etc.&amp;nbsp; So its easier to read.&amp;nbsp; You can condense it somewhat:&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if "&amp;amp;SERA." ne "" then call symput('WHERE_FILTER','sera="&amp;amp;SERA."');&lt;/P&gt;&lt;P&gt;&amp;nbsp; if "&amp;amp;KUMULREGIONS." ne "" then call symput('WHERE_FILTER','kumulregions="&amp;amp;KUMULREGIONS."');&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Secondly, why do you have 4 variables, to create 4 where clauses?&amp;nbsp; If I had to do this, and I make some assumptions here, I would create a where variable:&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length where $200;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where_variable=cats(sera,kumulregions,...,...);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then in your where clause later on with: where cats(&amp;amp;SERA.,&amp;amp;KUMULREGIONS,...,...) = where_variable.&lt;/P&gt;&lt;P&gt;Saves all that messing around.&amp;nbsp; Also note, why have four separate macro variables for each one, again condense that down to one variable, i.e. if only one will be present then cats() the four variables.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2015 15:20:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202254#M37735</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-07-14T15:20:37Z</dc:date>
    </item>
    <item>
      <title>Re: Adding to the value of a macro variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202255#M37736</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can generalize to any list of macro variables that have the property of the macro variable name matching the corresponding data set variable name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%let sera= ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%let kumulereignis=A,AA ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;%let merkmal=BBB ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;data _null_;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; length where $30000 ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; array vars $500 sera kumulereignis merkmal ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; do i=1 to dim(vars);&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; vars(i)=symget(vname(vars(i)));&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 vars(i) ne ' ' then&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; where =catx(' AND ',where,catx('=',vname(vars(i)),catq('1as',vars(i))))&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; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; if where ne ' ' then where='where ' || where ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; put where=;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; call symputx('where',where);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;where=where kumulereignis='A,AA' AND merkmal='BBB'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2015 15:48:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-to-the-value-of-a-macro-variable/m-p/202255#M37736</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-07-14T15:48:01Z</dc:date>
    </item>
  </channel>
</rss>

