<?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: Creating a new Variable - Grouping columns by an interaction in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-Variable-Grouping-columns-by-an-interaction/m-p/244581#M268504</link>
    <description>&lt;P&gt;You didn't post the output you need yet ? Assuming I understand what you mean.&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;data have;
input LAMBING_ORDER    ANIMAL     SEX$    DAM   SIRE ANIMAL_BIRTH_DATE:mmddyy10.    month_ABD    day_ABD    year_ABD    ANIMAL_BIRTH_TYPE;
format animal_birth_date yymmdd10.;
cards;
1    6870    M  1   2    10/13/2009    10    13    2009    1
1    5555    F  3   4    10/14/2009    10    14    2009    1
1    5556    M  5   6    10/14/2009    10    14    2009    2
1    5557    M  5   6    10/14/2009    10    14    2009    2
1    5558    M  7   8    10/15/2009    10    15    2009    2
1    5559    F  9  10    10/15/2009    10    15    2009    2
1    5560    F  9  10    10/15/2009    10    15    2009    2
1    5561    F  11 10    10/15/2009    10    15    2009    2
1    5562    F  11 10    10/15/2009    10    15    2009    2
1    5563    M  12 10    10/16/2009    10    14    2009    1
1    5564    F  12 10    10/16/2009    10    14    2009    1
2    6971    F  12 10    10/27/2010    10    13    2010    3
2    6972    F  12 10    10/27/2010    10    13    2010    3
2    6973    M  12 10    10/27/2010    10    13    2010    3
;
run;
data want;
length flag $ 40;
flag='more than two lambs';
do until(last.DAM);
 set have;
 by ANIMAL_BIRTH_TYPE DAM notsorted;
 if sex = 'M' then has_M=1;
 if sex = 'F' then has_F=1;
end;

do until(last.DAM);
 set have;
 by ANIMAL_BIRTH_TYPE DAM notsorted;
 if ANIMAL_BIRTH_TYPE = 1 and sex = 'M' then flag='one male lamb';
 if ANIMAL_BIRTH_TYPE = 1 and sex = 'F' then flag='one female lamb';
 if ANIMAL_BIRTH_TYPE = 2 and has_M and not has_F then flag='two male lambs';
 if ANIMAL_BIRTH_TYPE = 2 and has_F and not has_M then flag='two females lambs';
 if ANIMAL_BIRTH_TYPE = 2 and has_M and has_F then flag='one male lamb and one female lamb';
 output;
end;
drop has_:;
run;
 &lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 20 Jan 2016 02:54:15 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2016-01-20T02:54:15Z</dc:date>
    <item>
      <title>Creating a new Variable - Grouping columns by an interaction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-Variable-Grouping-columns-by-an-interaction/m-p/244570#M268503</link>
      <description>&lt;P&gt;Good night SAS friends:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Continuing the last post, i want to ask for some help to solve this problem, the data set is as follows:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;data have;&lt;BR /&gt;input LAMBING_ORDER&amp;nbsp;&amp;nbsp;&amp;nbsp; ANIMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SEX$&amp;nbsp;&amp;nbsp;&amp;nbsp; DAM&amp;nbsp;&amp;nbsp; SIRE ANIMAL_BIRTH_DATE:mmddyy10.&amp;nbsp;&amp;nbsp;&amp;nbsp; month_ABD&amp;nbsp;&amp;nbsp;&amp;nbsp; day_ABD&amp;nbsp;&amp;nbsp;&amp;nbsp; year_ABD&amp;nbsp;&amp;nbsp;&amp;nbsp; ANIMAL_BIRTH_TYPE;&lt;BR /&gt;format animal_birth_date yymmdd10.;&lt;BR /&gt;cards;&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 6870&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp; 1&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/13/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5555&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp; 3&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/14/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5556&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp; 5&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/14/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5557&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp; 5&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/14/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5558&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp; 7&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/15/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5559&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp; 9&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/15/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5560&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp; 9&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/15/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5561&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp; 11 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/15/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5562&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp; 11 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/15/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5563&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp; 12 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/16/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5564&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp; 12 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/16/2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp; 2009&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 6971&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp; 12 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/27/2010&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 6972&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp; 12 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/27/2010&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 6973&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp; 12 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/27/2010&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using the informarion of SEX and birth_type, its needed to create a new variable associated to each animal considering the interaction of birth type with lamb sex resulting this vaues:&lt;/P&gt;
&lt;P&gt;1 - one male lamb &lt;STRONG&gt;(this means: birth_type = 1 and sex = M)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;2 - one female lamb, &lt;STRONG&gt;(this means: birth_type = 1 and sex = F)&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;3 - two male lambs, &lt;STRONG&gt;(this means: birth_type = 2 and sex = M, from the same DAM)&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;4 - two females lambs, &lt;STRONG&gt;(this means: birth_type = 2 and sex = F, from the same DAM)&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;5 - one male lamb and one female lamb &lt;STRONG&gt;(this means: birth_type = 2 and sex = M and F, from the same DAM)&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;6 - more than two lambs, independent of sex &lt;STRONG&gt;(this means: birth_type = &amp;gt; 3 )&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much for your help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jan 2016 01:12:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-Variable-Grouping-columns-by-an-interaction/m-p/244570#M268503</guid>
      <dc:creator>jonatan_velarde</dc:creator>
      <dc:date>2016-01-20T01:12:05Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new Variable - Grouping columns by an interaction</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-Variable-Grouping-columns-by-an-interaction/m-p/244581#M268504</link>
      <description>&lt;P&gt;You didn't post the output you need yet ? Assuming I understand what you mean.&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;data have;
input LAMBING_ORDER    ANIMAL     SEX$    DAM   SIRE ANIMAL_BIRTH_DATE:mmddyy10.    month_ABD    day_ABD    year_ABD    ANIMAL_BIRTH_TYPE;
format animal_birth_date yymmdd10.;
cards;
1    6870    M  1   2    10/13/2009    10    13    2009    1
1    5555    F  3   4    10/14/2009    10    14    2009    1
1    5556    M  5   6    10/14/2009    10    14    2009    2
1    5557    M  5   6    10/14/2009    10    14    2009    2
1    5558    M  7   8    10/15/2009    10    15    2009    2
1    5559    F  9  10    10/15/2009    10    15    2009    2
1    5560    F  9  10    10/15/2009    10    15    2009    2
1    5561    F  11 10    10/15/2009    10    15    2009    2
1    5562    F  11 10    10/15/2009    10    15    2009    2
1    5563    M  12 10    10/16/2009    10    14    2009    1
1    5564    F  12 10    10/16/2009    10    14    2009    1
2    6971    F  12 10    10/27/2010    10    13    2010    3
2    6972    F  12 10    10/27/2010    10    13    2010    3
2    6973    M  12 10    10/27/2010    10    13    2010    3
;
run;
data want;
length flag $ 40;
flag='more than two lambs';
do until(last.DAM);
 set have;
 by ANIMAL_BIRTH_TYPE DAM notsorted;
 if sex = 'M' then has_M=1;
 if sex = 'F' then has_F=1;
end;

do until(last.DAM);
 set have;
 by ANIMAL_BIRTH_TYPE DAM notsorted;
 if ANIMAL_BIRTH_TYPE = 1 and sex = 'M' then flag='one male lamb';
 if ANIMAL_BIRTH_TYPE = 1 and sex = 'F' then flag='one female lamb';
 if ANIMAL_BIRTH_TYPE = 2 and has_M and not has_F then flag='two male lambs';
 if ANIMAL_BIRTH_TYPE = 2 and has_F and not has_M then flag='two females lambs';
 if ANIMAL_BIRTH_TYPE = 2 and has_M and has_F then flag='one male lamb and one female lamb';
 output;
end;
drop has_:;
run;
 &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Jan 2016 02:54:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-Variable-Grouping-columns-by-an-interaction/m-p/244581#M268504</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-01-20T02:54:15Z</dc:date>
    </item>
  </channel>
</rss>

