<?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 when statements in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704057#M215796</link>
    <description>&lt;P&gt;The &lt;EM&gt;like&lt;/EM&gt; operator works fine.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql; select NAME, case when NAME like 'A%' then 1 else 2 end 'N' from SASHELP.CLASS(obs=9);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="left"&gt;
&lt;TABLE class="table" summary="Procedure SQL: Query Results" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l b header" scope="col"&gt;Name&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;N&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Joyce&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Thomas&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;James&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Jane&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;John&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Louise&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Robert&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Alice&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Barbara&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 07 Dec 2020 06:32:43 GMT</pubDate>
    <dc:creator>ChrisNZ</dc:creator>
    <dc:date>2020-12-07T06:32:43Z</dc:date>
    <item>
      <title>Select when statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704049#M215789</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a character variable scope_number_or and I like to categorize into a numeric variable HDscope.&lt;/P&gt;&lt;P&gt;I like categorize scope_number_or by looking at substring of characters (like ones that start with 24, 25, 26 and ends with 27) and I tried using 'like' operator in my select-when statement, but&amp;nbsp;'like' operator does not seem to work.&amp;nbsp; Is there a way to do this in a select-when statement?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;select;&lt;BR /&gt;when (scope_number_or like "24%",&lt;BR /&gt;scope_number_or like "25%",&lt;BR /&gt;scope_number_or like "26%",&lt;BR /&gt;scope_number_or like "%27")&amp;nbsp;HDscope=0;&lt;BR /&gt;when (scope_number_or like "N/A") HDscope=.;&lt;BR /&gt;otherwise HDscope=1;&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Dec 2020 06:00:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704049#M215789</guid>
      <dc:creator>edhuang</dc:creator>
      <dc:date>2020-12-07T06:00:51Z</dc:date>
    </item>
    <item>
      <title>Re: Select when statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704057#M215796</link>
      <description>&lt;P&gt;The &lt;EM&gt;like&lt;/EM&gt; operator works fine.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql; select NAME, case when NAME like 'A%' then 1 else 2 end 'N' from SASHELP.CLASS(obs=9);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="left"&gt;
&lt;TABLE class="table" summary="Procedure SQL: Query Results" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l b header" scope="col"&gt;Name&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;N&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Joyce&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Thomas&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;James&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Jane&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;John&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Louise&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Robert&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Alice&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Barbara&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Dec 2020 06:32:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704057#M215796</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2020-12-07T06:32:43Z</dc:date>
    </item>
    <item>
      <title>Re: Select when statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704152#M215840</link>
      <description>&lt;P&gt;Hi Chris,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your response.&lt;/P&gt;
&lt;P&gt;However, I am doing this in a data step and not under proc sql.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have several other select-when statements in my data step, so I like to be able to do it in my data step.&lt;/P&gt;
&lt;P&gt;Is there a way to do this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P&gt;Data two;&lt;/P&gt;
&lt;P&gt;set one;&lt;/P&gt;
&lt;P&gt;select;&lt;BR /&gt;when (scope_number_or like "24%",&lt;BR /&gt;scope_number_or like "25%",&lt;BR /&gt;scope_number_or like "26%",&lt;BR /&gt;scope_number_or like "%27")&amp;nbsp;HDscope=0;&lt;BR /&gt;when (scope_number_or like "N/A") HDscope=.;&lt;BR /&gt;otherwise HDscope=1;&lt;BR /&gt;end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Dec 2020 14:53:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704152#M215840</guid>
      <dc:creator>edhuang</dc:creator>
      <dc:date>2020-12-07T14:53:25Z</dc:date>
    </item>
    <item>
      <title>Re: Select when statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704154#M215841</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;select;
  when (substr(scope_number_or,1,2) in ("24","25","26") or substr(scope_number_or,length(scope_number_or)-1) = "27") HDscope = 0;
  when (scope_number_or = "N/A") HDscope = .;
  otherwise HDscope = 1;
end;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 07 Dec 2020 15:15:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704154#M215841</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-12-07T15:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: Select when statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704156#M215842</link>
      <description>&lt;P&gt;In a DATA step, SELECT would not be needed.&amp;nbsp; For example, this comparison would work:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if scope_number_or in: ('24', '25', '26') and 
substr(scope_number_or, length(scope_number_or)-1) = '27'
then HDscope=0;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 07 Dec 2020 15:22:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704156#M215842</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2020-12-07T15:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: Select when statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704172#M215846</link>
      <description>&lt;P&gt;You cannot list logical expressions in the WHEN clause, you have to use separate clauses:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data two;
set one;
select;
when (scope_number_or like "24%") HDscope=0;
when (scope_number_or like "25%") HDscope=0;
when (scope_number_or like "26%") HDscope=0;
when (scope_number_or like "%27") HDscope=0;
when (scope_number_or like "N/A") HDscope=.;
otherwise HDscope=1;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Dec 2020 15:46:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704172#M215846</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2020-12-07T15:46:55Z</dc:date>
    </item>
    <item>
      <title>Re: Select when statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704180#M215850</link>
      <description>&lt;P&gt;How many actual values are you dealing with? 10, 100 or 1000 ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This might be easier with a custom informat if the list is relatively static.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And why "end with 27"? That sounds like an odd coding scheme when the others you are concerned with start with 24, 25 and 26 (where 27 would appear to be in SEQUENCE)&lt;/P&gt;</description>
      <pubDate>Mon, 07 Dec 2020 16:03:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-when-statements/m-p/704180#M215850</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-12-07T16:03:28Z</dc:date>
    </item>
  </channel>
</rss>

