<?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: How do I UPDATE column with CASE WHEN in existing table in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-UPDATE-column-with-CASE-WHEN-in-existing-table/m-p/659041#M197462</link>
    <description>&lt;P&gt;This is a different approach, but you could do it in a left join:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new;
    input ServiceDescription &amp;amp; $28. new_ServiceDescription &amp;amp; $22.;
    datalines;
        Ground  FlatRate
        FedEx Economy  Standard
        FedEx 2Day  2Day
        FedEx 2Day AM  2Day AM
        FedEx Standard Overnight  Standard Overnight
        FedEx Priority Overnight  Priority Overnight
        FedEx First Overnight  First Overnight
        FedEx International Priority  International Priority
    ;
run;

proc sql;
    create table want as
    select a.other_columns /* other columns, sans ServiceDescription */
          ,case
               when b.ServiceDescription is not null
                   then b.new_ServiceDescription
               else a.ServiceDescription
           end as ServiceDescription
    from TMP.FINAL a
    left join new b
        on a.ServiceDescription = b.ServiceDescription
    ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 15 Jun 2020 16:36:34 GMT</pubDate>
    <dc:creator>mklangley</dc:creator>
    <dc:date>2020-06-15T16:36:34Z</dc:date>
    <item>
      <title>How do I UPDATE column with CASE WHEN in existing table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-UPDATE-column-with-CASE-WHEN-in-existing-table/m-p/659026#M197453</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm new to SAS and&amp;nbsp;I'm currently working on a master dataset, pulling in over 500K rows. I&amp;nbsp;have a column that I would like to update the values to more "generic" descriptors. For example, the column name is 'ServiceDescription' and an example of a value within this column is "FedEx Exconomy". I'd like to UPDATE the current table, modifying the current value to show "Standard" rather than "FedEx Economy" when this value appears in a row. I currently have something like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE TMP.FINAL&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET ServiceDescription=CASE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN ServiceDescription = 'Ground'&amp;nbsp;THEN 'FlatRate'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;WHEN ServiceDescription = 'FedEx Economy' THEN 'Standard'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN ServiceDescription = 'FedEx 2Day' THEN '2Day'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN ServiceDescription = 'FedEx 2Day AM' THEN '2Day AM'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHEN ServiceDescription = 'FedEx Standard Overnight' THEN 'Standard Overnight'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN ServiceDescription = 'FedEx Priority Overnight' THEN 'Priority Overnight'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN ServiceDescription = 'FedEx First Overnight' THEN 'First Overnight'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN ServiceDescription = 'FedEx International Priority' THEN 'International Priority'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ELSE ServiceDescription&amp;nbsp;&amp;nbsp; /*&amp;nbsp;Does not modify existing&amp;nbsp;values when conditions are not met */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END AS ServiceDescription;&amp;nbsp;&amp;nbsp; /* Does not create a new column */&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know there are pieces missing, and have exhausted all existing resources available. Any and all help would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;B&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2020 16:01:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-UPDATE-column-with-CASE-WHEN-in-existing-table/m-p/659026#M197453</guid>
      <dc:creator>bc123456</dc:creator>
      <dc:date>2020-06-15T16:01:23Z</dc:date>
    </item>
    <item>
      <title>Re: How do I UPDATE column with CASE WHEN in existing table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-UPDATE-column-with-CASE-WHEN-in-existing-table/m-p/659041#M197462</link>
      <description>&lt;P&gt;This is a different approach, but you could do it in a left join:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new;
    input ServiceDescription &amp;amp; $28. new_ServiceDescription &amp;amp; $22.;
    datalines;
        Ground  FlatRate
        FedEx Economy  Standard
        FedEx 2Day  2Day
        FedEx 2Day AM  2Day AM
        FedEx Standard Overnight  Standard Overnight
        FedEx Priority Overnight  Priority Overnight
        FedEx First Overnight  First Overnight
        FedEx International Priority  International Priority
    ;
run;

proc sql;
    create table want as
    select a.other_columns /* other columns, sans ServiceDescription */
          ,case
               when b.ServiceDescription is not null
                   then b.new_ServiceDescription
               else a.ServiceDescription
           end as ServiceDescription
    from TMP.FINAL a
    left join new b
        on a.ServiceDescription = b.ServiceDescription
    ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2020 16:36:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-UPDATE-column-with-CASE-WHEN-in-existing-table/m-p/659041#M197462</guid>
      <dc:creator>mklangley</dc:creator>
      <dc:date>2020-06-15T16:36:34Z</dc:date>
    </item>
  </channel>
</rss>

