<?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: Why is my case statement returning null values? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830895#M328336</link>
    <description>Thank you!!</description>
    <pubDate>Mon, 29 Aug 2022 13:55:09 GMT</pubDate>
    <dc:creator>LMSSAS</dc:creator>
    <dc:date>2022-08-29T13:55:09Z</dc:date>
    <item>
      <title>Why is my case statement returning null values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830890#M328331</link>
      <description>&lt;P&gt;hello - can anyone advise as to why I am getting null values from my case statement? My final output should contain a column that I have added titled "Product _Categories" and every obs should have&amp;nbsp;"MA; MAPD; DSNP" as the Product_Categories. When I run the table with the case statement I get Null's. Thanks for taking a look and offering a suggestion&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LMSSAS_0-1661779159970.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/74824i098BFC6F5D10261B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="LMSSAS_0-1661779159970.png" alt="LMSSAS_0-1661779159970.png" /&gt;&lt;/span&gt;&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;proc sql; create table RTS2023 as
select distinct 
*
from medicaresalesagencies3
where Certification_Status in ('Ready To Sell 2023')
;quit;

proc sql; alter table work.RTS2023
add Product_Categories1 char 14;
quit;

proc sql; create table RTS_Sunfire as
select distinct
*,
case 
when Product_Categories1 is null then "MA; MAPD; DSNP"
end as Product_Categories
from RTS2023
;quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 29 Aug 2022 13:23:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830890#M328331</guid>
      <dc:creator>LMSSAS</dc:creator>
      <dc:date>2022-08-29T13:23:20Z</dc:date>
    </item>
    <item>
      <title>Re: Why is my case statement returning null values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830892#M328333</link>
      <description>&lt;P&gt;I can't reproduce this with my data, the value "MA: MAPD; DSNP" get assigned properly.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Are there WARNINGs or ERRORs in the LOG? If so, show us the ENTIRE log for these three PROCs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Why not this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql; create table RTS2023 as
select distinct *
from medicaresalesagencies3
where Certification_Status in ('Ready To Sell 2023')
;quit;

proc sql; 
create table RTS_Sunfire as
select distinct *,
"MA; MAPD; DSNP" as Product_Categories
from RTS2023
;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;or this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql; create table RTS2023 as
select distinct
*,"MA; MAPD; DSNP" as product_categories
from medicaresalesagencies3
where Certification_Status in ('Ready To Sell 2023')
;quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 29 Aug 2022 13:48:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830892#M328333</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-08-29T13:48:01Z</dc:date>
    </item>
    <item>
      <title>Re: Why is my case statement returning null values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830893#M328334</link>
      <description>&lt;P&gt;SAS does not really have a character NULL value as compared to any RDBMS. An empty string or missing value is its nearest cousin and often obeys NULL comparison, but often it does not. It is a common trap for young players.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you rewrite IS NULL to = "" you will see it works.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql; create table RTS_Sunfire as
select distinct
*,
case 
when Product_Categories1 = "" then "MA; MAPD; DSNP"
end as Product_Categories
from RTS2023
;quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Alternatively you could use the coalesce function here:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql; create table RTS_Sunfire as
select distinct
*, coalesce(Product_Categories1, "MA; MAPD; DSNP") as Product_Categories
from RTS2023
;quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Hope this helps,&lt;/P&gt;
&lt;P&gt;- Jan.&lt;/P&gt;</description>
      <pubDate>Mon, 29 Aug 2022 13:44:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830893#M328334</guid>
      <dc:creator>jklaverstijn</dc:creator>
      <dc:date>2022-08-29T13:44:54Z</dc:date>
    </item>
    <item>
      <title>Re: Why is my case statement returning null values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830894#M328335</link>
      <description>Thank you, Yes the proc sql you recommended worked and was much cleaner and simpler, appreciate your time!!&lt;BR /&gt;&lt;BR /&gt;proc sql; create table RTS_Sunfire as&lt;BR /&gt;select distinct *,&lt;BR /&gt;"MA; MAPD; DSNP" as Product_Categories&lt;BR /&gt;from RTS2023&lt;BR /&gt;;quit;</description>
      <pubDate>Mon, 29 Aug 2022 13:54:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830894#M328335</guid>
      <dc:creator>LMSSAS</dc:creator>
      <dc:date>2022-08-29T13:54:57Z</dc:date>
    </item>
    <item>
      <title>Re: Why is my case statement returning null values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830895#M328336</link>
      <description>Thank you!!</description>
      <pubDate>Mon, 29 Aug 2022 13:55:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830895#M328336</guid>
      <dc:creator>LMSSAS</dc:creator>
      <dc:date>2022-08-29T13:55:09Z</dc:date>
    </item>
    <item>
      <title>Re: Why is my case statement returning null values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830933#M328352</link>
      <description>&lt;P&gt;Your syntax&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;case  when Product_Categories1 is null then "MA; MAPD; DSNP"
end as Product_Categories&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It will convert the blank values to that string with the semicolons and convert the non blank values to blank because you did not include an ELSE clause.&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
  length Product_Categories1 $14 ;
  input Product_Categories1 ;
cards;
.
Something
;

proc sql;
create table RTS_Sunfire as
select distinct
       *
     , case when Product_Categories1 is null then "MA; MAPD; DSNP"
       end as Product_Categories
from test
;
quit;

proc print;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Results:&lt;/P&gt;
&lt;PRE&gt;        Product_         Product_
OBS    Categories1      Categories

 1                    MA; MAPD; DSNP
 2      Something&lt;/PRE&gt;
&lt;P&gt;You could fix the logic by adding the ELSE clause.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;case  when Product_Categories1 is null then "MA; MAPD; DSNP"
else Product_Categories1 
end as Product_Categories&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But it would be a lot easier to just use the COALESCE() function of SQL.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;coalesce(Product_Categories,"MA; MAPD; DSNP") as Product_Categories&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 29 Aug 2022 16:43:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-my-case-statement-returning-null-values/m-p/830933#M328352</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-08-29T16:43:19Z</dc:date>
    </item>
  </channel>
</rss>

