<?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: How to pass multiple values in single parameter Using Macros in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/How-to-pass-multiple-values-in-single-parameter-Using-Macros/m-p/515827#M3023</link>
    <description>&lt;P&gt;as&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt; says post the error, but maybe this will work replace this&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;%cust(dsn = Profile1, &lt;/SPAN&gt;&lt;SPAN&gt;vars = Acct_ID Name Age Balance State,&lt;/SPAN&gt;&lt;SPAN&gt; age_range= "18-40",&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; state = "NY", "CA");&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro cust(dsn = , vars = , age_range= , state=);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;with this&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;%cust(dsn = Profile1, &lt;/SPAN&gt;&lt;SPAN&gt;vars = Acct_ID Name Age Balance State,&lt;/SPAN&gt;&lt;SPAN&gt; age_range= "18-40",&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; state in( "NY", "CA"));&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro cust(dsn = , vars = , age_range= , state in);&lt;/P&gt;</description>
    <pubDate>Sun, 25 Nov 2018 21:26:22 GMT</pubDate>
    <dc:creator>VDD</dc:creator>
    <dc:date>2018-11-25T21:26:22Z</dc:date>
    <item>
      <title>How to pass multiple values in single parameter Using Macros</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-pass-multiple-values-in-single-parameter-Using-Macros/m-p/515814#M3015</link>
      <description>&lt;P&gt;This my macro cust. I need to pass multiple values for the macro variable state.&lt;/P&gt;&lt;P&gt;If I am calling a macro like this&lt;/P&gt;&lt;P&gt;%cust(dsn = Profile1, vars = Acct_ID Name Age Balance State, age_range= "18-40",&amp;nbsp; state = "NY");&lt;/P&gt;&lt;P&gt;It is working fine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But if I pass multiple values in state. It is throwing an error. How to resolve this. Example below.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%cust(dsn = Profile1, &lt;/SPAN&gt;&lt;SPAN&gt;vars = Acct_ID Name Age Balance State,&lt;/SPAN&gt;&lt;SPAN&gt; age_range= "18-40",&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; state = "NY", "CA");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro cust(dsn = , vars = , age_range= , state=);&lt;BR /&gt;&amp;nbsp; %if &amp;amp;state = "NY" %then&lt;BR /&gt;&amp;nbsp; %do;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; proc print data = &amp;amp;dsn;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var &amp;amp;vars;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where State = &amp;amp;state and Age_Range = &amp;amp;age_range;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; title "Detail Listing of Account in &amp;amp;state and current date &amp;amp;sysdate";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; title "Total Balance in &amp;amp;state and in age &amp;amp;age_range current date &amp;amp;sysdate";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select %sysfunc(tranwrd(%sysfunc(compbl(&amp;amp;vars)),%str( ),%str(,))), sum(Balance) as Total_Balance&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from &amp;amp;dsn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where State = &amp;amp;state and Age_Range = &amp;amp;age_range;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;%end;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;state = "CA" %then&lt;BR /&gt;&amp;nbsp;%do;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; proc print data = &amp;amp;dsn;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var &amp;amp;vars;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where State = &amp;amp;state and Age_Range = &amp;amp;age_range;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; title "Detail Listing of Account in &amp;amp;state and current date &amp;amp;sysdate";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; title "Total Balance in &amp;amp;state and in age &amp;amp;age_range current date &amp;amp;sysdate";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select %sysfunc(tranwrd(%sysfunc(compbl(&amp;amp;vars)),%str( ),%str(,))), sum(Balance) as Total_Balance&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from &amp;amp;dsn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where State = &amp;amp;state and Age_Range = &amp;amp;age_range;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;%end;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;state = "WA" %then&lt;BR /&gt;&amp;nbsp;%do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; proc print data = &amp;amp;dsn;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var &amp;amp;vars;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where State = &amp;amp;state and Age_Range = &amp;amp;age_range;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; title "Detail Listing of Account in &amp;amp;state and current date &amp;amp;sysdate";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; title "Total_Balance in &amp;amp;state and in age &amp;amp;age_range current date &amp;amp;sysdate";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select %sysfunc(tranwrd(%sysfunc(compbl(&amp;amp;vars)),%str( ),%str(,))), sum(Balance) as Total_Balance&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from &amp;amp;dsn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where State = &amp;amp;state and Age_Range = &amp;amp;age_range;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;%end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%mend cust;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Sun, 25 Nov 2018 19:09:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-pass-multiple-values-in-single-parameter-Using-Macros/m-p/515814#M3015</guid>
      <dc:creator>ashc25901</dc:creator>
      <dc:date>2018-11-25T19:09:25Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass multiple values in single parameter Using Macros</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-pass-multiple-values-in-single-parameter-Using-Macros/m-p/515815#M3016</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;But if I pass multiple values in state. It is throwing an error. How to resolve this. Example below.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;%cust(dsn = Profile1,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;vars = Acct_ID Name Age Balance State,&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;age_range= "18-40",&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;state = "NY", "CA");&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Help us out. Don't make us do the work you have already done. Tell us WHAT error. Or better yet, run your code with OPTIONS MPRINT; as the first line of the program and show us the SASLOG.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm guessing the call to the macro doesn't like STATE="NY","CA" because the comma indicates that is the end of the value of STATE, and whatever comes next is considered the next parameter in the call to the macro, but "CA" is not a valid parameter in this case. You could overcome this by using STATE="NY"%str(,)"CA"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, this leads to other problems so I am &lt;EM&gt;not &lt;/EM&gt;recommending you use STATE="NY"%str(,)"CA". When STATE="NY"%str(,)"CA" then none of your %IF conditions are met. Your %IF conditions are %IF &amp;amp;STATE="NY", and based on your inputs, the value of &amp;amp;STATE is "NY"%str(,)"CA" and this doesn't match when tested by %IF &amp;amp;STATE="NY". Likewise, it doesn't match any other of your %IF conditions.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;So please tell us what you want the macro to do when STATE="NY"%str(,)"CA", or when multiple states are included in the value of STATE.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Nov 2018 01:55:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-pass-multiple-values-in-single-parameter-Using-Macros/m-p/515815#M3016</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-11-26T01:55:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to pass multiple values in single parameter Using Macros</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-pass-multiple-values-in-single-parameter-Using-Macros/m-p/515827#M3023</link>
      <description>&lt;P&gt;as&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt; says post the error, but maybe this will work replace this&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;%cust(dsn = Profile1, &lt;/SPAN&gt;&lt;SPAN&gt;vars = Acct_ID Name Age Balance State,&lt;/SPAN&gt;&lt;SPAN&gt; age_range= "18-40",&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; state = "NY", "CA");&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro cust(dsn = , vars = , age_range= , state=);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;with this&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;%cust(dsn = Profile1, &lt;/SPAN&gt;&lt;SPAN&gt;vars = Acct_ID Name Age Balance State,&lt;/SPAN&gt;&lt;SPAN&gt; age_range= "18-40",&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; state in( "NY", "CA"));&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro cust(dsn = , vars = , age_range= , state in);&lt;/P&gt;</description>
      <pubDate>Sun, 25 Nov 2018 21:26:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-pass-multiple-values-in-single-parameter-Using-Macros/m-p/515827#M3023</guid>
      <dc:creator>VDD</dc:creator>
      <dc:date>2018-11-25T21:26:22Z</dc:date>
    </item>
  </channel>
</rss>

