<?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: SYSPARM - Pass Command Line Arguments to SAS in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/391945#M66248</link>
    <description>&lt;P&gt;You can add the SYSPARM option to your command like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;sas.exe -sysin C:\Users\meaneych\Desktop\BATCH_SAS_test\batch_sas_test.sas -sysparm '5 7 123456789'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then in your SAS session you can do the following to separate the values passed with SYSPARM.&amp;nbsp; In this case the first value is mu, 2nd is variance and 3rd is seed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let mu=%scan(&amp;amp;sysparm,1);                  
%let variance=%scan(&amp;amp;sysparm,2);            
%let seed=%scan(&amp;amp;sysparm,3);                
                                            
data test.dat_mu&amp;amp;mu._var&amp;amp;variance. ;        
 do i = 1 to 12;                            
  x = &amp;amp;mu + sqrt(&amp;amp;variance)*rannor(&amp;amp;seed) ; 
  output ;                                  
 end ;                                      
run ;                                       
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 30 Aug 2017 17:21:13 GMT</pubDate>
    <dc:creator>russt_sas</dc:creator>
    <dc:date>2017-08-30T17:21:13Z</dc:date>
    <item>
      <title>SYSPARM - Pass Command Line Arguments to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/194511#M48809</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi. I am new to SAS Batch processing capabilities and SYSPARM functionality. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Say I have the following SAS program (batch_sas_test.sas). Basically a short program with 3 parameters (mu, variance and seed) that creates 12 random normal variates from a given normal distribution (specified by mu and vairance).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/** Libname to store simulated data **/&lt;/P&gt;&lt;P&gt;libname test "C:\Users\meaneych\Desktop\BATCH_SAS_test\" ; &lt;/P&gt;&lt;P&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let mu = 5 ;&lt;/P&gt;&lt;P&gt;%let variance = 7 ;&lt;/P&gt;&lt;P&gt;%let seed=123456789 ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test.dat_mu&amp;amp;mu._var&amp;amp;variance. ;&lt;/P&gt;&lt;P&gt;do i = 1 to 12;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = &amp;amp;mu + sqrt(&amp;amp;variance)*rannor(&amp;amp;seed) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output ;&lt;/P&gt;&lt;P&gt;end ;&lt;/P&gt;&lt;P&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On my system I can BATCH process the above program using Windows Command Prompt syntax. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sas.exe -sysin C:\Users\meaneych\Desktop\BATCH_SAS_test\batch_sas_test.sas &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I extend my batch_sas_test.sas program using sysparm such that I can pass my mean/variance/seed parameters from the command line into the SAS program? Similarly, how would I update the Command Prompt syntax to pass these arguments into the SAS program?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Jul 2015 18:48:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/194511#M48809</guid>
      <dc:creator>ChrisMeaney</dc:creator>
      <dc:date>2015-07-02T18:48:45Z</dc:date>
    </item>
    <item>
      <title>Re: SYSPARM - Pass Command Line Arguments to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/194512#M48810</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here are two pages to get you started&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/Batch_processing_under_Windows" title="http://www.sascommunity.org/wiki/Batch_processing_under_Windows"&gt;Batch processing under Windows - sasCommunity&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/Parse_sysparm" title="http://www.sascommunity.org/wiki/Parse_sysparm"&gt;Parse sysparm - sasCommunity&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;eventually you will create a batch file &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- - - program-with-sysparm.bat - - -&lt;/P&gt;&lt;P&gt;sas program-with-sysparm -sysparm 'mean=1.01,variance=2.22,seed=33.0003'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- - - program-with-sysparm.sas&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %include site_inc(parse-sysparm);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;=mean &amp;amp;=variance &amp;amp;=seed;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am guessing that your parameters values are real numbers, not integers.&lt;/P&gt;&lt;P&gt;So any calculations you want to do with them in the macro language must be done with %sysevalf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let mean_plus_point_2 = %sysevalf(&amp;amp;mean +0.2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;=mean_plus_point_2;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Jul 2015 20:50:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/194512#M48810</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2015-07-02T20:50:37Z</dc:date>
    </item>
    <item>
      <title>Re: SYSPARM - Pass Command Line Arguments to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/194513#M48811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another technique that avoid parsing the single value sysparm system option, at least on Windows and UNIX/Linux, is to use multiple -set command line options and get the values with %sysget&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's an example. The progrtest.sas has:&lt;/P&gt;&lt;PRE&gt;%put %sysget(parm1);
%put %sysget(parm2);&lt;/PRE&gt;&lt;P&gt;... then run it with:&lt;/P&gt;&lt;PRE&gt;sas -set parm1 value1 -set parm2 "value2 has spaces" test.sas;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Jul 2015 23:49:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/194513#M48811</guid>
      <dc:creator>PaulHomes</dc:creator>
      <dc:date>2015-07-02T23:49:35Z</dc:date>
    </item>
    <item>
      <title>Re: SYSPARM - Pass Command Line Arguments to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/330633#M62630</link>
      <description>&lt;P&gt;This is what finally worked for me on Windows 2012.&lt;/P&gt;&lt;P&gt;set sasparm=value&lt;BR /&gt;Start /WAIT "SAS_job" sas "C:\temp\test.sas" -log "C:\temp\test.log" -nosplash -nologo -noicon&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2017 22:02:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/330633#M62630</guid>
      <dc:creator>rf_mikael</dc:creator>
      <dc:date>2017-02-07T22:02:19Z</dc:date>
    </item>
    <item>
      <title>Re: SYSPARM - Pass Command Line Arguments to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/330858#M62651</link>
      <description>&lt;P&gt;See the article &lt;A href="http://blogs.sas.com/content/iml/2015/03/16/pass-params-sysget.html" target="_self"&gt;"How to pass parameters to a SAS program."&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 14:58:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/330858#M62651</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2017-02-08T14:58:41Z</dc:date>
    </item>
    <item>
      <title>Re: SYSPARM - Pass Command Line Arguments to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/391945#M66248</link>
      <description>&lt;P&gt;You can add the SYSPARM option to your command like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;sas.exe -sysin C:\Users\meaneych\Desktop\BATCH_SAS_test\batch_sas_test.sas -sysparm '5 7 123456789'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then in your SAS session you can do the following to separate the values passed with SYSPARM.&amp;nbsp; In this case the first value is mu, 2nd is variance and 3rd is seed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let mu=%scan(&amp;amp;sysparm,1);                  
%let variance=%scan(&amp;amp;sysparm,2);            
%let seed=%scan(&amp;amp;sysparm,3);                
                                            
data test.dat_mu&amp;amp;mu._var&amp;amp;variance. ;        
 do i = 1 to 12;                            
  x = &amp;amp;mu + sqrt(&amp;amp;variance)*rannor(&amp;amp;seed) ; 
  output ;                                  
 end ;                                      
run ;                                       
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 30 Aug 2017 17:21:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SYSPARM-Pass-Command-Line-Arguments-to-SAS/m-p/391945#M66248</guid>
      <dc:creator>russt_sas</dc:creator>
      <dc:date>2017-08-30T17:21:13Z</dc:date>
    </item>
  </channel>
</rss>

