<?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: Wilcard usage for character values in %LET statement in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103694#M21629</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Where to you look to find the part that is represented by ***.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 1) variable names.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 2) data values&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 3) somewhere else&lt;/P&gt;&lt;P&gt;?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Apr 2013 12:23:27 GMT</pubDate>
    <dc:creator>data_null__</dc:creator>
    <dc:date>2013-04-10T12:23:27Z</dc:date>
    <item>
      <title>Wilcard usage for character values in %LET statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103691#M21626</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm a very newbie at SAS programming, so please bear with me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was writing a piece of code which includes a %LET statement. I would like to assign more than one value to a %let statement similar to below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let item=('A120XXX', 'A250XXX', 'A150XXX')&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My item are way more than 3 and I would like to use a wildcard like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let item=('A***XXX') ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAS do not return any results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a way to get around this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Apr 2013 07:27:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103691#M21626</guid>
      <dc:creator>tuncay</dc:creator>
      <dc:date>2013-04-10T07:27:24Z</dc:date>
    </item>
    <item>
      <title>Re: Wilcard usage for character values in %LET statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103692#M21627</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Perhaps you need to describe in more detail how you suppose to use this macro variable "item"? Also, what does your items represent?&lt;/P&gt;&lt;P&gt;Macro variable values are generally seen as plain text by the compiler, so if you wish to apply some logic in the assignment, you have to solve differently.&lt;/P&gt;&lt;P&gt;If your wild-card should represent numerical values in a range, you can perhaps use %do-loops to generate the values (but that needs to be done within a macro definition, not in open code).&lt;/P&gt;&lt;P&gt;The data step offers more flexibility in this area, so perhaps you can create your macro variable within a data step using call symput instead?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Apr 2013 08:10:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103692#M21627</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2013-04-10T08:10:18Z</dc:date>
    </item>
    <item>
      <title>Re: Wilcard usage for character values in %LET statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103693#M21628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in order to fill in the range of values which asterisks represent&lt;/P&gt;&lt;P&gt;you have to provide that list:&lt;/P&gt;&lt;P&gt;%Let ItemNmbrs = 120 150 250;&lt;/P&gt;&lt;P&gt;%macro fluff(prefix=,infix=,suffix=);&lt;/P&gt;&lt;P&gt;%local I J K dim_I dim_J dim_K value;&lt;/P&gt;&lt;P&gt;%let I = 1;&lt;/P&gt;&lt;P&gt;%let J = 1;&lt;/P&gt;&lt;P&gt;%let K = 1;&lt;/P&gt;&lt;P&gt;%let dim_I = %sysfunc(countw(&amp;amp;prefix,%str( )));&lt;/P&gt;&lt;P&gt;%let dim_J = %sysfunc(countw(&amp;amp;infix ,%str( )));&lt;/P&gt;&lt;P&gt;%let dim_K = %sysfunc(countw(&amp;amp;suffix,%str( )));&lt;/P&gt;&lt;P&gt;%let value =;&lt;/P&gt;&lt;P&gt;%Loop:&lt;/P&gt;&lt;P&gt;%let Pfx = %scan(&amp;amp;Prefix,&amp;amp;I);&lt;/P&gt;&lt;P&gt;%let Nfx = %scan(&amp;amp;Infix ,&amp;amp;J);&lt;/P&gt;&lt;P&gt;%let Sfx = %scan(&amp;amp;Suffix,&amp;amp;K);&lt;/P&gt;&lt;P&gt;%let value = &amp;amp;Value. &amp;amp;Pfx.&amp;amp;Nfx.&amp;amp;Sfx.;&lt;/P&gt;&lt;P&gt;%if&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;I eq &amp;amp;Dim_I&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and &amp;amp;J eq &amp;amp;Dim_J&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and &amp;amp;K eq &amp;amp;Dim_K %then %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;value&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %*goto %exit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;%if &amp;amp;I lt &amp;amp;Dim_I %then %let I = %eval(&amp;amp;I+1);&lt;/P&gt;&lt;P&gt;%if &amp;amp;J lt &amp;amp;Dim_J %then %let J = %eval(&amp;amp;J+1);&lt;/P&gt;&lt;P&gt;%if &amp;amp;K lt &amp;amp;Dim_K %then %let K = %eval(&amp;amp;K+1);&lt;/P&gt;&lt;P&gt;%goto Loop;&lt;/P&gt;&lt;P&gt;%exit:&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%Let Item = %fluff(prefix=A,infix=&amp;amp;ItemNmbrs,suffix=XXX);&lt;/P&gt;&lt;P&gt;%put Item:&amp;amp;Item;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ron Fehd&amp;nbsp; loop maven&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/Do_which_loop_until_or_while" title="http://www.sascommunity.org/wiki/Do_which_loop_until_or_while"&gt;http://www.sascommunity.org/wiki/Do_which_loop_until_or_while&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Apr 2013 12:16:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103693#M21628</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2013-04-10T12:16:38Z</dc:date>
    </item>
    <item>
      <title>Re: Wilcard usage for character values in %LET statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103694#M21629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Where to you look to find the part that is represented by ***.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 1) variable names.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 2) data values&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 3) somewhere else&lt;/P&gt;&lt;P&gt;?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Apr 2013 12:23:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103694#M21629</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2013-04-10T12:23:27Z</dc:date>
    </item>
    <item>
      <title>Re: Wilcard usage for character values in %LET statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103695#M21630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;... and yes, %do loops are easier&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro fluff2(prefix=,infix=,suffix=);&lt;/P&gt;&lt;P&gt;%local I J K value;&lt;/P&gt;&lt;P&gt;%let value =;&lt;/P&gt;&lt;P&gt;%do&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I = 1 %to %sysfunc(countw(&amp;amp;prefix,%str( )));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; J = 1 %to %sysfunc(countw(&amp;amp;infix ,%str( )));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do K = 1 %to %sysfunc(countw(&amp;amp;suffix,%str( )));&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; %let value = &amp;amp;Value. %scan(&amp;amp;Prefix ,&amp;amp;I&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;&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; )%scan(&amp;amp;Infix ,&amp;amp;J&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;&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; )%scan(&amp;amp;Suffix,&amp;amp;K);&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; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;amp;value&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%Let Item2 = %fluff2(prefix=A,infix=&amp;amp;ItemNmbrs,suffix=XXX);&lt;/P&gt;&lt;P&gt;%put Item2:&amp;amp;Item2;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Apr 2013 12:43:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Wilcard-usage-for-character-values-in-LET-statement/m-p/103695#M21630</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2013-04-10T12:43:07Z</dc:date>
    </item>
  </channel>
</rss>

