<?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: select multiple in SAS data step in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826290#M326393</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/430421"&gt;@Julie99999&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can also create your own "compound expression." Similar to &lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461" target="_blank" rel="noopener"&gt;mkeintz&lt;/A&gt;'s example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set sashelp.heart(rename=(AgeAtStart=age));
if age&amp;gt;.z then /* redundant for SASHELP.HEART */
select (catx('|', age&amp;gt;30, char(smoking_status,1)));
  when ('1|N') Smoking_Cat=1;
  when ('1|L') Smoking_Cat=2;
  when ('1|M') Smoking_Cat=3;
  when ('1|H') Smoking_Cat=4;
  when ('1|V') Smoking_Cat=5;
  when ('0|N') Smoking_Cat=11;
  when ('0|L') Smoking_Cat=12;
  when ('0|M') Smoking_Cat=13;
  when ('0|H') Smoking_Cat=14;
  when ('0|V') Smoking_Cat=15;
  otherwise    Smoking_Cat=.;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 30 Jul 2022 21:35:31 GMT</pubDate>
    <dc:creator>FreelanceReinh</dc:creator>
    <dc:date>2022-07-30T21:35:31Z</dc:date>
    <item>
      <title>select multiple in SAS data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826227#M326349</link>
      <description>&lt;PRE class=""&gt;&lt;SPAN&gt;data&lt;/SPAN&gt; Heart / &lt;SPAN&gt;view&lt;/SPAN&gt;=Heart;
&lt;SPAN&gt;set&lt;/SPAN&gt; sashelp.heart;
&lt;SPAN&gt;select&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt;Smoking_Status&lt;SPAN&gt;)&lt;/SPAN&gt;;
   when &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Non-smoker'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;        Smoking_Cat=&lt;SPAN&gt;1&lt;/SPAN&gt;;
   when &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Light (1-5)'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;       Smoking_Cat=&lt;SPAN&gt;2&lt;/SPAN&gt;;
   when &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Moderate (6-15)'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;   Smoking_Cat=&lt;SPAN&gt;3&lt;/SPAN&gt;;
   when &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Heavy (16-25)'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;     Smoking_Cat=&lt;SPAN&gt;4&lt;/SPAN&gt;;
   when &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Very Heavy (&amp;gt; 25)'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; Smoking_Cat=&lt;SPAN&gt;5&lt;/SPAN&gt;;
   otherwise                  Smoking_Cat=.;
&lt;SPAN&gt;end&lt;/SPAN&gt;;
&lt;SPAN&gt;run&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Hi all! I have a question on the code above using select().&lt;BR /&gt;Is there anyway to select two variables for the condition?&lt;BR /&gt;what if I want to select Smoking_Status = "Heavy" and Age &amp;gt; 30, is there way to use select() when  in this case for multiple conditions?&lt;BR /&gt;&lt;BR /&gt;TIA!!!!!&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jul 2022 21:03:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826227#M326349</guid>
      <dc:creator>Julie99999</dc:creator>
      <dc:date>2022-07-29T21:03:14Z</dc:date>
    </item>
    <item>
      <title>Re: select multiple in SAS data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826228#M326350</link>
      <description>&lt;P&gt;See Example 3 here: &lt;A href="https://documentation.sas.com/doc/en/pgmmvacdc/9.4/lestmtsref/p09213s9jc2t99n1vx0omk2rh9ps.htm" target="_blank"&gt;https://documentation.sas.com/doc/en/pgmmvacdc/9.4/lestmtsref/p09213s9jc2t99n1vx0omk2rh9ps.htm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jul 2022 21:14:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826228#M326350</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-07-29T21:14:32Z</dc:date>
    </item>
    <item>
      <title>Re: select multiple in SAS data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826288#M326392</link>
      <description>&lt;P&gt;You want to use a compound condition in your when statements.&amp;nbsp; Generally, you can only do this if the SELECT statement has no argument, as in;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;select ;
  when (age&amp;gt;30 and smoking_status='Heavy') smoking_cat=1;
  when (.......); smoking_cat=...;
  otherwise ....;
end;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or else you could nest SELECT groups, as in;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;  if age^=. then ageover30=(age&amp;gt;30);
  select (ageover30);
    when (1) select (smoking_status);
      when ('Non-smoker')        Smoking_Cat=1;
      when ('Light (1-5)')       Smoking_Cat=2;
      when ('Moderate (6-15)')   Smoking_Cat=3;
      when ('Heavy (16-25)')     Smoking_Cat=4;
      when ('Very Heavy (&amp;gt; 25)') Smoking_Cat=5;
      otherwise                  Smoking_Cat=.;
    end;
    when (0) select (smoking_status);
      when ('Non-smoker')        Smoking_Cat=11;
      when ('Light (1-5)')       Smoking_Cat=12;
      when ('Moderate (6-15)')   Smoking_Cat=13;
      when ('Heavy (16-25)')     Smoking_Cat=14;
      when ('Very Heavy (&amp;gt; 25)') Smoking_Cat=15;
      otherwise                  Smoking_Cat=.;
    end;
    otherwise smoking_cat=.;
  end;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 30 Jul 2022 18:11:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826288#M326392</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-07-30T18:11:25Z</dc:date>
    </item>
    <item>
      <title>Re: select multiple in SAS data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826290#M326393</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/430421"&gt;@Julie99999&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can also create your own "compound expression." Similar to &lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461" target="_blank" rel="noopener"&gt;mkeintz&lt;/A&gt;'s example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set sashelp.heart(rename=(AgeAtStart=age));
if age&amp;gt;.z then /* redundant for SASHELP.HEART */
select (catx('|', age&amp;gt;30, char(smoking_status,1)));
  when ('1|N') Smoking_Cat=1;
  when ('1|L') Smoking_Cat=2;
  when ('1|M') Smoking_Cat=3;
  when ('1|H') Smoking_Cat=4;
  when ('1|V') Smoking_Cat=5;
  when ('0|N') Smoking_Cat=11;
  when ('0|L') Smoking_Cat=12;
  when ('0|M') Smoking_Cat=13;
  when ('0|H') Smoking_Cat=14;
  when ('0|V') Smoking_Cat=15;
  otherwise    Smoking_Cat=.;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 30 Jul 2022 21:35:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-multiple-in-SAS-data-step/m-p/826290#M326393</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2022-07-30T21:35:31Z</dc:date>
    </item>
  </channel>
</rss>

