<?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: split the dataset condtionally in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229753#M41600</link>
    <description>Thank you !!, but i have so many test to include , for all of the test, cond is same a above mentioned .. so i am looking more dynamic way to code</description>
    <pubDate>Tue, 13 Oct 2015 17:13:57 GMT</pubDate>
    <dc:creator>cathy_sas</dc:creator>
    <dc:date>2015-10-13T17:13:57Z</dc:date>
    <item>
      <title>split the dataset condtionally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229720#M41592</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an dataset with multiple records per id , i need to create want dataset one id per record. Main dataset have 1 record/id. i need to merge back have to main daset to get want dataset .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In my have dataset i have so many test... i dont want all the test.., but i want to add on the test which i want, i woul like to write the code in macro , so in that way in late if i want to add another test to my final want i am able to add them in a macro call&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;cond:&lt;/P&gt;
&lt;P&gt;1) for test (testl,hhhuy,chudt) chkeck flg eq 'y' then create new variable with test name and assign YN value&lt;/P&gt;
&lt;P&gt;2)for test(vtubp,zrtyu) chk flg eq 'Y' &amp;amp; then create new variable with test name and assign pctval value&lt;/P&gt;
&lt;P&gt;3)for test lxunh same as the above , chek flg ='Y' &amp;amp; dev eq 'cal' then create new variable with test name and assign pctval value&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; have;&lt;/P&gt;
&lt;P&gt;input id test&amp;nbsp;&amp;nbsp; yn pctval&amp;nbsp;&amp;nbsp; dev flg;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; testl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&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; Y&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; hhhuy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&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; Y&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; vtubp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0.3&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; lxunh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0.6&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cal&amp;nbsp;&amp;nbsp; Y&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; lxunh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0.9&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inj&amp;nbsp;&amp;nbsp; Y&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; lxunh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0.3&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cap&amp;nbsp;&amp;nbsp; Y&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; chudt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&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; Y&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; zrtyu&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0.8&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; main;&lt;/P&gt;
&lt;P&gt;input id grp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt; XXX&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;want;&lt;/P&gt;
&lt;P&gt;id&amp;nbsp;&amp;nbsp; grp testl hhhuy vtubp lxunh chudt zrtyu&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;100&lt;/STRONG&gt; XXX&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0.3&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0.6&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;0.8&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;Cathy&lt;/P&gt;</description>
      <pubDate>Tue, 13 Oct 2015 15:08:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229720#M41592</guid>
      <dc:creator>cathy_sas</dc:creator>
      <dc:date>2015-10-13T15:08:00Z</dc:date>
    </item>
    <item>
      <title>Re: split the dataset condtionally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229730#M41593</link>
      <description>&lt;P&gt;1) Subset data&lt;/P&gt;
&lt;P&gt;2) Use&amp;nbsp;proc transposes (one for yn and another for pctval)&lt;/P&gt;
&lt;P&gt;3) merge data with main&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Only thing you can use as macro parameter is the conditions for subsetting data in case you need to change /add more tests.&lt;/P&gt;</description>
      <pubDate>Tue, 13 Oct 2015 15:47:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229730#M41593</guid>
      <dc:creator>ndp</dc:creator>
      <dc:date>2015-10-13T15:47:08Z</dc:date>
    </item>
    <item>
      <title>Re: split the dataset condtionally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229732#M41595</link>
      <description>&lt;P&gt;Hi cathy,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here it is:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc transpose data=have out=transposed_have prefix=testl_ let;
   by id;
   id test;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now you only need to fill with your specs.&lt;/P&gt;
&lt;P&gt;Hope this will help you.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Att &amp;nbsp;&amp;nbsp;&lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://communities.sas.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Oct 2015 16:00:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229732#M41595</guid>
      <dc:creator>DartRodrigo</dc:creator>
      <dc:date>2015-10-13T16:00:26Z</dc:date>
    </item>
    <item>
      <title>Re: split the dataset condtionally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229753#M41600</link>
      <description>Thank you !!, but i have so many test to include , for all of the test, cond is same a above mentioned .. so i am looking more dynamic way to code</description>
      <pubDate>Tue, 13 Oct 2015 17:13:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229753#M41600</guid>
      <dc:creator>cathy_sas</dc:creator>
      <dc:date>2015-10-13T17:13:57Z</dc:date>
    </item>
    <item>
      <title>Re: split the dataset condtionally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229761#M41602</link>
      <description>&lt;P&gt;You can make it dynamic by creating a macro:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro test(cond=);&lt;/P&gt;
&lt;P&gt;data test1;&lt;/P&gt;
&lt;P&gt;set test;&lt;/P&gt;
&lt;P&gt;where &amp;amp;cond.;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=test1 out=test2;&lt;/P&gt;
&lt;P&gt;id test;&lt;/P&gt;
&lt;P&gt;by id;&lt;/P&gt;
&lt;P&gt;var yn;&lt;/P&gt;
&lt;P&gt;where cmiss(yn)=0;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=test1 out=test3;&lt;/P&gt;
&lt;P&gt;id test;&lt;/P&gt;
&lt;P&gt;by id;&lt;/P&gt;
&lt;P&gt;var yn;&lt;/P&gt;
&lt;P&gt;where cmiss(pctval)=0;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data all;&lt;/P&gt;
&lt;P&gt;merge main test2 test3;&lt;/P&gt;
&lt;P&gt;by id;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;%mend;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This way you do not need to mention tests anywhere except macro variable cond. This works if yn and pctval are exclusive meaning no record has values for both yn and pctval&lt;/P&gt;</description>
      <pubDate>Tue, 13 Oct 2015 17:38:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-the-dataset-condtionally/m-p/229761#M41602</guid>
      <dc:creator>ndp</dc:creator>
      <dc:date>2015-10-13T17:38:59Z</dc:date>
    </item>
  </channel>
</rss>

