<?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: Splitting a dataset by a condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824506#M325618</link>
    <description>&lt;P&gt;To answer your question directly as asked, KEEP selects variables in a data set not observations.&lt;BR /&gt;WHERE filters observations in a data sets. Changing KEEP to WHERE in your code will get you the desired results.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data mydata.a;
set mydata;
where drug= "a"; *note that this is case sensitive as well;
run;

data mydata.b;
set mydata;
where drug= "b";
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;However,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;is correct, you usually do not want to do this, his solution is preferable.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 20 Jul 2022 21:35:39 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2022-07-20T21:35:39Z</dc:date>
    <item>
      <title>Splitting a dataset by a condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824500#M325614</link>
      <description>&lt;P&gt;Hello all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm looking to split a datasets based on one of the variables. Currently in the drug column I have two medications: drug a and drug b, I want to have one dataset include just drug a and the other just drug b.&lt;/P&gt;&lt;P&gt;The code I tried is as follows but no success. Best way to correct this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;Data mydata;
	Set sample;
	Where location= "country" and code= "anti-infective";
	Keep drug vol time_period;
Run;&lt;BR /&gt;&lt;BR /&gt;data mydata.a;&lt;BR /&gt;set mydata;&lt;BR /&gt;keep drug= a;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data mydata.b;&lt;BR /&gt;set mydata;&lt;BR /&gt;keep drug= b;&lt;BR /&gt;run;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jul 2022 21:13:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824500#M325614</guid>
      <dc:creator>mmaximos</dc:creator>
      <dc:date>2022-07-20T21:13:08Z</dc:date>
    </item>
    <item>
      <title>Re: Splitting a dataset by a condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824501#M325615</link>
      <description>&lt;P&gt;Generally, splitting up a data set is not necessary and not productive. So let's abandon that idea.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to perform an analysis using a certain PROC on part of the data set, you can do this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc something data=mydata(where=(drug='a'));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;or better yet, you can use BY statements to have analyses performed on both drug A and drug B with one piece of code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc something data=mydata;
     by drug;
     /* Other statements for the PROC go here */
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;which assumes that MYDATA is sorted by DRUG&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jul 2022 21:17:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824501#M325615</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-07-20T21:17:48Z</dc:date>
    </item>
    <item>
      <title>Re: Splitting a dataset by a condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824504#M325617</link>
      <description>&lt;P&gt;Amazing, thank you! I'll give this a try.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jul 2022 21:19:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824504#M325617</guid>
      <dc:creator>mmaximos</dc:creator>
      <dc:date>2022-07-20T21:19:31Z</dc:date>
    </item>
    <item>
      <title>Re: Splitting a dataset by a condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824506#M325618</link>
      <description>&lt;P&gt;To answer your question directly as asked, KEEP selects variables in a data set not observations.&lt;BR /&gt;WHERE filters observations in a data sets. Changing KEEP to WHERE in your code will get you the desired results.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data mydata.a;
set mydata;
where drug= "a"; *note that this is case sensitive as well;
run;

data mydata.b;
set mydata;
where drug= "b";
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;However,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;is correct, you usually do not want to do this, his solution is preferable.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jul 2022 21:35:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824506#M325618</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2022-07-20T21:35:39Z</dc:date>
    </item>
    <item>
      <title>Re: Splitting a dataset by a condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824518#M325623</link>
      <description>&lt;P&gt;The KEEP statement and the KEEP= dataset option control which&amp;nbsp;&lt;EM&gt;variables&lt;/EM&gt; go into the output, not which&amp;nbsp;&lt;EM&gt;observations&lt;/EM&gt;. Use a WHERE statement, like you did in your first step.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jul 2022 23:01:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824518#M325623</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-07-20T23:01:15Z</dc:date>
    </item>
    <item>
      <title>Re: Splitting a dataset by a condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824524#M325627</link>
      <description>&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2022 00:12:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824524#M325627</guid>
      <dc:creator>mmaximos</dc:creator>
      <dc:date>2022-07-21T00:12:54Z</dc:date>
    </item>
    <item>
      <title>Re: Splitting a dataset by a condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824525#M325628</link>
      <description>&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2022 00:13:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Splitting-a-dataset-by-a-condition/m-p/824525#M325628</guid>
      <dc:creator>mmaximos</dc:creator>
      <dc:date>2022-07-21T00:13:28Z</dc:date>
    </item>
  </channel>
</rss>

