<?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: Create series of random samples from a Master table in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239871#M44191</link>
    <description>&lt;P&gt;You can do this with &lt;STRONG&gt;call execute&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;&lt;BR /&gt;length line $200;
input Table $ Command $ SampleSize;
line = catt("proc surveyselect data=",Table," sampsize=",SampleSize," out=",Command,"_SRS; run;"); 
call execute(line);
datalines;
 Table_1  DC  1000
 Table_2  TX  1500
 Table_3  FL  2000
 Table_4  GL  1400
;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 17 Dec 2015 22:25:56 GMT</pubDate>
    <dc:creator>PGStats</dc:creator>
    <dc:date>2015-12-17T22:25:56Z</dc:date>
    <item>
      <title>Create series of random samples from a Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239855#M44186</link>
      <description>&lt;P&gt;PROBLEM STATEMENT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I have 4 large data tables from which I have to create a random sample of certain sizes from each data table. Each data table has a field called COMMAND.&amp;nbsp; The values for the COMMAND field are as follows: DC, TX, FL and GL. Each data table has only one command value eg either DC&amp;nbsp;or TX&amp;nbsp;or FL&amp;nbsp;or GL. Each data table has more than 5 million records.&amp;nbsp; The sample sizes are as follows for each COMMAND:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data Table&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Command &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sample size&lt;/P&gt;&lt;P&gt;Table_1&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;DC&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; 1000&lt;/P&gt;&lt;P&gt;Table_2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TX&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; 1500&lt;/P&gt;&lt;P&gt;Table_3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FL&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; 2000&lt;/P&gt;&lt;P&gt;Table_4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GL&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; 1400&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I want to do is a MACRO that creates a series of random samples using PROC SURVEYSELECT from&amp;nbsp;those 4 &amp;nbsp;data tables based on the values of COMMAND variable in those tables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to create a random sample for each of these command (DC, TX,FL and GL) with the sample size of 1000, 1500,2000, and 1400 respectively as shown ABOVE.&amp;nbsp;I need a macro that can do this using PROC SURVEYSELECT . What I want is, a random sample of 1000 for DC, 1500 for TX, 2000 for&amp;nbsp;FL and 1400 for&amp;nbsp;GL from those&amp;nbsp;4 tables . For example, if the command field&amp;nbsp;DC has 4 million records in table_1, I want to create a random sample size of 1000 for&amp;nbsp;DC from that table (table_1) and likewise, 1500 random sample for&amp;nbsp;TX (another&amp;nbsp;table, table_2) and likewise for all(table_3 and table_4). Please help me on this. I really appreciate the kind assistance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I want to use the following code for random sampling OR ANOTHER CODE IF YOU WANT TO SUGGEST&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SURVEYSELECT DATA=ERP_MASTER&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; METHOD=SRS&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; REP=1&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; SAMPSIZE=&amp;amp;samplesize.&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; OUT= &amp;amp;COMMAND._SRS;&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; ID _ALL_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this helpS you understand the problem STATEMENT. I highly appreciate your kind assistance. Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Gopi Upreti&lt;/P&gt;</description>
      <pubDate>Thu, 17 Dec 2015 21:26:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239855#M44186</guid>
      <dc:creator>UPRETIGOPI</dc:creator>
      <dc:date>2015-12-17T21:26:44Z</dc:date>
    </item>
    <item>
      <title>Re: Create series of random samples from a Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239871#M44191</link>
      <description>&lt;P&gt;You can do this with &lt;STRONG&gt;call execute&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;&lt;BR /&gt;length line $200;
input Table $ Command $ SampleSize;
line = catt("proc surveyselect data=",Table," sampsize=",SampleSize," out=",Command,"_SRS; run;"); 
call execute(line);
datalines;
 Table_1  DC  1000
 Table_2  TX  1500
 Table_3  FL  2000
 Table_4  GL  1400
;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 17 Dec 2015 22:25:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239871#M44191</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2015-12-17T22:25:56Z</dc:date>
    </item>
    <item>
      <title>Re: Create series of random samples from a Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239872#M44192</link>
      <description>&lt;P&gt;I think CALL EXECUTE is the best tool for the job.&amp;nbsp; Assuming that your program is basically working the way you want, here is how you could automate:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data _null_;&lt;/P&gt;
&lt;P&gt;set commands;&lt;/P&gt;
&lt;P&gt;call execute('PROC SURVEYSELECT DATA=');&lt;/P&gt;
&lt;P&gt;call execute(data_table);&lt;/P&gt;
&lt;P&gt;call execute('ERP_MASTER&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; METHOD=SRS&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; REP=1&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; SAMPSIZE=');&lt;/P&gt;
&lt;P&gt;call execute(put(samplesize, 4.);&lt;/P&gt;
&lt;P&gt;call execute('OUT=');&lt;/P&gt;
&lt;P&gt;call execute(COMMAND);&lt;/P&gt;
&lt;P&gt;call execute('_SRS;&amp;nbsp; ID _ALL_; run;');&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Theoretically, you could put everything together in a single CALL EXECUTE, but I think this is easier to read.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are details to attend to ... always using 4 digits as the sample size (hope that's enough but you can increase it if needed), no trailing blanks allowed at the end of COMMAND.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I assumed you wanted to add the RUN statements.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Good luck.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Dec 2015 22:26:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239872#M44192</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2015-12-17T22:26:04Z</dc:date>
    </item>
    <item>
      <title>Re: Create series of random samples from a Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239886#M44200</link>
      <description>&lt;P&gt;Just in case you had gone to the work of segregating the data just for this step, you could have used STRAT=command and a list for sampsize parameter. Just make sure that the order of the list on the sampsize matches your strata order.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Dec 2015 23:19:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-series-of-random-samples-from-a-Master-table/m-p/239886#M44200</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2015-12-17T23:19:01Z</dc:date>
    </item>
  </channel>
</rss>

