<?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 How to refer comma delimited parameters into macro in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-refer-comma-delimited-parameters-into-macro/m-p/296589#M62172</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to do a wordcount based on comma delimiter and pass the&amp;nbsp;delimiter parameters into macro.&lt;/P&gt;&lt;P&gt;Currently it is retreving both the arguments like &amp;nbsp;FILE1,FILE2 &amp;amp; DATA1,DATA2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let Filename_1 = FILE1,FILE2;
%let SAS_DATASET = DATA1,DATA2;

%macro file_process;
%let word_cnt = %sysfunc(countW(&amp;amp;Filename_1,','));
%do  i = 1 %to &amp;amp;word_cnt;
%let file_name=%scan('&amp;amp;Filename_1',&amp;amp;i,',');
%let dataset=%scan('&amp;amp;SAS_DATASET',&amp;amp;i,',');
%end
%mend file_process;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 05 Sep 2016 19:12:39 GMT</pubDate>
    <dc:creator>jayakumarmm</dc:creator>
    <dc:date>2016-09-05T19:12:39Z</dc:date>
    <item>
      <title>How to refer comma delimited parameters into macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-refer-comma-delimited-parameters-into-macro/m-p/296589#M62172</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to do a wordcount based on comma delimiter and pass the&amp;nbsp;delimiter parameters into macro.&lt;/P&gt;&lt;P&gt;Currently it is retreving both the arguments like &amp;nbsp;FILE1,FILE2 &amp;amp; DATA1,DATA2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let Filename_1 = FILE1,FILE2;
%let SAS_DATASET = DATA1,DATA2;

%macro file_process;
%let word_cnt = %sysfunc(countW(&amp;amp;Filename_1,','));
%do  i = 1 %to &amp;amp;word_cnt;
%let file_name=%scan('&amp;amp;Filename_1',&amp;amp;i,',');
%let dataset=%scan('&amp;amp;SAS_DATASET',&amp;amp;i,',');
%end
%mend file_process;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2016 19:12:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-refer-comma-delimited-parameters-into-macro/m-p/296589#M62172</guid>
      <dc:creator>jayakumarmm</dc:creator>
      <dc:date>2016-09-05T19:12:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to refer comma delimited parameters into macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-refer-comma-delimited-parameters-into-macro/m-p/296595#M62175</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since the SAS Macro Language is text based you do not need to use quotes. Since some of your text contains characters which have a meaning in the macro language (comma separating arguments in functions) you need to use quoting functions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To understand quoting functions, I recommend to read the following blog&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.sas.com/content/sgf/2014/08/15/macro-quoting-made-easy/" target="_blank"&gt;http://blogs.sas.com/content/sgf/2014/08/15/macro-quoting-made-easy/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below is the changed code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let Filename_1 = FILE1, FILE2;
%let SAS_DATASET = DATA1, DATA2;

%macro file_process;
  %let word_cnt = %sysfunc(countW(%bquote(&amp;amp;Filename_1), %str(,)));
  %put NOTE: &amp;amp;=word_cnt;

  %do i=1 %to &amp;amp;word_cnt;
    %let file_name = %scan(%bquote(&amp;amp;Filename_1), &amp;amp;i, %str(,));
    %let dataset = %scan(%bquote(&amp;amp;SAS_DATASET), &amp;amp;i, %str(,));
    %put NOTE: &amp;amp;=i &amp;amp;=file_name &amp;amp;=dataset;
  %end;
%mend file_process;

%file_process&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Bruno&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2016 20:09:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-refer-comma-delimited-parameters-into-macro/m-p/296595#M62175</guid>
      <dc:creator>BrunoMueller</dc:creator>
      <dc:date>2016-09-05T20:09:40Z</dc:date>
    </item>
  </channel>
</rss>

