<?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: Case When Statement in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440581#M110083</link>
    <description>&lt;P&gt;That's not how a SQL CASE statement works either...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table work.RAC_Test as
select
  Date_var,
  amount,
  case
    when Date_var = "MO" then  'Monthly'
    when Date_var = "QU" then  'Quarterly'
    when Date_var = "SM" then  'Six Monthly'
    when Date_var = "AN" then  'Annually'
    when Date_var = "UN" then  'Unknown'
    else 'Blank' end as new_date_var 
from RGTest.Testing;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The PROC SQL documentation is here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://documentation.sas.com/?docsetId=sqlproc&amp;amp;docsetTarget=n0a85s0ijz65irn1h3jtariooea5.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en" target="_blank"&gt;http://documentation.sas.com/?docsetId=sqlproc&amp;amp;docsetTarget=n0a85s0ijz65irn1h3jtariooea5.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note the examples under each construct such as CASE.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 27 Feb 2018 16:52:48 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2018-02-27T16:52:48Z</dc:date>
    <item>
      <title>Case When Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440561#M110070</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have written a case statement within my SQL code to create a new variable, however the original variable "DATE" is a CHAR and once my new variable has been created "&lt;SPAN&gt;new_date_var"&lt;/SPAN&gt;, it converts to a NUM and outputs 0 for all records, any idea why or how to resolve this please?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;create table work.RAC_Test as&lt;BR /&gt;select&lt;BR /&gt;Date_var,&lt;BR /&gt;amount,&lt;BR /&gt;case&lt;BR /&gt;when Date_var = "MO" then &lt;SPAN&gt;Date_var&lt;/SPAN&gt; = 'Monthly'&lt;BR /&gt;when Date_var = "QU" then &lt;SPAN&gt;Date_var&lt;/SPAN&gt; = 'Quarterly'&lt;BR /&gt;when &lt;SPAN&gt;Date_var&lt;/SPAN&gt; = "SM" then &lt;SPAN&gt;Date_var&lt;/SPAN&gt; = 'Six Monthly'&lt;BR /&gt;when &lt;SPAN&gt;Date_var&lt;/SPAN&gt; = "AN" then &lt;SPAN&gt;Date_var&lt;/SPAN&gt; = 'Annually'&lt;BR /&gt;when &lt;SPAN&gt;Date_var&lt;/SPAN&gt; = "UN" then &lt;SPAN&gt;Date_var&lt;/SPAN&gt; = 'Unknown'&lt;BR /&gt;end as new_date_var;&amp;nbsp;&lt;BR /&gt;from RGTest.Testing;&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Feb 2018 16:48:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440561#M110070</guid>
      <dc:creator>KC_16</dc:creator>
      <dc:date>2018-02-27T16:48:35Z</dc:date>
    </item>
    <item>
      <title>Re: Case When Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440565#M110073</link>
      <description>&lt;P&gt;You have an erroneous semicolon before the "from" option.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table work.RAC_Test as
select
  Date_var,
  amount,
  case
    when Date_var = "MO" then Date_var = 'Monthly'
    when Date_var = "QU" then Date_var = 'Quarterly'
    when Date_var = "SM" then Date_var = 'Six Monthly'
    when Date_var = "AN" then Date_var = 'Annually'
    when Date_var = "UN" then Date_var = 'Unknown'
  end as new_date_var /* removed ; here */
from RGFrcst.FirstMthValue;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PS the log should give you a clue.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Feb 2018 16:43:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440565#M110073</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-02-27T16:43:00Z</dc:date>
    </item>
    <item>
      <title>Re: Case When Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440572#M110076</link>
      <description>&lt;P&gt;Thanks for noticing the extra semi colon which I have now removed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have re run the code but I am still getting the same problem. I have added an 'else' to the end of the case statement thinking that was causing the issue, but now I get this error message -&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ERROR: Result of WHEN clause 6 is not the same data type as the preceding results.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;proc&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;sql&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
create &lt;SPAN class="token statement"&gt;table&lt;/SPAN&gt; work&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;RAC_Test as
&lt;SPAN class="token statement"&gt;select&lt;/SPAN&gt;
  Date_var&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
  amount&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;
  case
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"MO"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Monthly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"QU"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Quarterly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"SM"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Six Monthly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"AN"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Annually'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"UN"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Unknown'&lt;/SPAN&gt;
  else 'Blank' end as new_date_var 
&lt;SPAN class="token keyword"&gt;from&lt;/SPAN&gt; RGTest&lt;SPAN class="token punctuation"&gt;.Testing&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;quit&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 27 Feb 2018 16:49:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440572#M110076</guid>
      <dc:creator>KC_16</dc:creator>
      <dc:date>2018-02-27T16:49:17Z</dc:date>
    </item>
    <item>
      <title>Re: Case When Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440581#M110083</link>
      <description>&lt;P&gt;That's not how a SQL CASE statement works either...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table work.RAC_Test as
select
  Date_var,
  amount,
  case
    when Date_var = "MO" then  'Monthly'
    when Date_var = "QU" then  'Quarterly'
    when Date_var = "SM" then  'Six Monthly'
    when Date_var = "AN" then  'Annually'
    when Date_var = "UN" then  'Unknown'
    else 'Blank' end as new_date_var 
from RGTest.Testing;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The PROC SQL documentation is here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://documentation.sas.com/?docsetId=sqlproc&amp;amp;docsetTarget=n0a85s0ijz65irn1h3jtariooea5.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en" target="_blank"&gt;http://documentation.sas.com/?docsetId=sqlproc&amp;amp;docsetTarget=n0a85s0ijz65irn1h3jtariooea5.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note the examples under each construct such as CASE.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Feb 2018 16:52:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440581#M110083</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-02-27T16:52:48Z</dc:date>
    </item>
    <item>
      <title>Re: Case When Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440582#M110084</link>
      <description>&lt;P&gt;I can give you a clue:&lt;/P&gt;
&lt;PRE class="  language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token statement"&gt;select&lt;/SPAN&gt;
  Date_var&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And&lt;/P&gt;
&lt;PRE class="  language-sas"&gt;&lt;CODE class="  language-sas"&gt;  case
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"MO"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Monthly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"QU"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Quarterly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"SM"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Six Monthly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"AN"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Annually'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"UN"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Unknown'&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;else&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Blank'&lt;/SPAN&gt; end as new_date_var &lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You see you are selecting a variable called date_var from the dataset - I assume this is a date and hence numeric.&amp;nbsp; Then in your case statement you are trying to apply text to this variable.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This should solve it:&lt;/P&gt;
&lt;PRE class="  language-sas"&gt;&lt;CODE class="  language-sas"&gt;  case
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"MO"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Monthly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"QU"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Quarterly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"SM"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Six Monthly'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"AN"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Annually'&lt;/SPAN&gt;
    when Date_var &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"UN"&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Unknown'&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;else&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;'Blank'&lt;/SPAN&gt; end as new_date_var &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 27 Feb 2018 16:53:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440582#M110084</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-02-27T16:53:25Z</dc:date>
    </item>
    <item>
      <title>Re: Case When Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440585#M110086</link>
      <description>&lt;P&gt;Oh, overlooked that. See correct code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table work.RAC_Test as
select
  Date_var,
  amount,
  case
    when Date_var = "MO" then 'Monthly'
    when Date_var = "QU" then 'Quarterly'
    when Date_var = "SM" then 'Six Monthly'
    when Date_var = "AN" then 'Annually'
    when Date_var = "UN" then 'Unknown'
    else 'Blank'
  end as new_date_var
from RGFrcst.FirstMthValue;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 27 Feb 2018 16:55:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440585#M110086</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-02-27T16:55:13Z</dc:date>
    </item>
    <item>
      <title>Re: Case When Statement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440587#M110087</link>
      <description>&lt;P&gt;Thanks all for your help.&lt;/P&gt;</description>
      <pubDate>Tue, 27 Feb 2018 16:59:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Case-When-Statement/m-p/440587#M110087</guid>
      <dc:creator>KC_16</dc:creator>
      <dc:date>2018-02-27T16:59:12Z</dc:date>
    </item>
  </channel>
</rss>

