<?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: Update table code in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271235#M7518</link>
    <description>&lt;PRE&gt;proc sql;
  create table WANT as
  select  A.X,
             COALESCE(A.Y,B.Y) as Y,
             COALESCE(A.Z,B.Z)  as Z
  from    HAVE1 A
  full join HAVE2 B
  on        A.X=B.X;
quit;&lt;/PRE&gt;
&lt;P&gt;This assumes that X is the matching variable. &amp;nbsp;You could also use the update part of datastep:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000202975.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000202975.htm&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 18 May 2016 09:16:21 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2016-05-18T09:16:21Z</dc:date>
    <item>
      <title>Update table code</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271214#M7513</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Need update values in output data set. please help me&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ONE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TWO&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;X&amp;nbsp;&amp;nbsp;Y &amp;nbsp;Z &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;X &amp;nbsp;Y &amp;nbsp;Z&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; 2 &amp;nbsp;&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; 3 &amp;nbsp;4&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;THREE&lt;/P&gt;
&lt;P&gt;X &amp;nbsp;Y &amp;nbsp;Z&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp;2 &amp;nbsp;3&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp;3 &amp;nbsp;4&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;By vairable X.&amp;nbsp;&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;&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;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 08:19:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271214#M7513</guid>
      <dc:creator>chirumalla</dc:creator>
      <dc:date>2016-05-18T08:19:42Z</dc:date>
    </item>
    <item>
      <title>Re: Update table code</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271227#M7515</link>
      <description>&lt;P&gt;Since you have multiple appearances of same values for X in both datasets, how can the corresponding records be determined?&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 09:02:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271227#M7515</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-05-18T09:02:54Z</dc:date>
    </item>
    <item>
      <title>Re: Update table code</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271232#M7517</link>
      <description>&lt;P&gt;technically, this can be handled by a data step merge - given the current sort order of the input data sets.&lt;/P&gt;
&lt;P&gt;But taht is not a reliable method. Ideally you need key variable(s), as&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser﻿&lt;/a&gt;&amp;nbsp;hinted.&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 09:08:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271232#M7517</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2016-05-18T09:08:41Z</dc:date>
    </item>
    <item>
      <title>Re: Update table code</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271235#M7518</link>
      <description>&lt;PRE&gt;proc sql;
  create table WANT as
  select  A.X,
             COALESCE(A.Y,B.Y) as Y,
             COALESCE(A.Z,B.Z)  as Z
  from    HAVE1 A
  full join HAVE2 B
  on        A.X=B.X;
quit;&lt;/PRE&gt;
&lt;P&gt;This assumes that X is the matching variable. &amp;nbsp;You could also use the update part of datastep:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000202975.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000202975.htm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 09:16:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271235#M7518</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-05-18T09:16:21Z</dc:date>
    </item>
    <item>
      <title>Re: Update table code</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271250#M7519</link>
      <description>&lt;P&gt;If &amp;nbsp;these two datasets have different number of obs for the same X, what you gonna do ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data one;
input X  Y  Z  ;       
cards;
1   .    3               
1   .   . 
;
run;                    

data two;
input X  Y  Z  ;       
cards;
1   2 .
1   3  4
;
run;
proc iml;
use one;
read all var _num_ into one[c=vnames];
close;
use two;
read all var _num_ into two;
close;
x=choose(one=.,two,one);
create want from x[c=vnames];
append from x;
close;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 18 May 2016 09:39:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271250#M7519</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-05-18T09:39:31Z</dc:date>
    </item>
    <item>
      <title>Re: Update table code</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271262#M7520</link>
      <description>&lt;P&gt;I would start by adding an arbitrary counter for matching purposes:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data one_plus;&lt;/P&gt;
&lt;P&gt;set one;&lt;/P&gt;
&lt;P&gt;by X;&lt;/P&gt;
&lt;P&gt;if first.X then counter=1;&lt;/P&gt;
&lt;P&gt;else counter + 1;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data two_plus;&lt;/P&gt;
&lt;P&gt;set two;&lt;/P&gt;
&lt;P&gt;by X;&lt;/P&gt;
&lt;P&gt;if first.X then counter=1;&lt;/P&gt;
&lt;P&gt;else counter + 1;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then combining the data sets is easy:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;update one_plus two_plus;&lt;/P&gt;
&lt;P&gt;by X counter;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have further requirements (what should happen if ONE contains 2 observations, and TWO contains three observations for the same X value?) you would have to spell out what the result should look like.&lt;/P&gt;</description>
      <pubDate>Wed, 18 May 2016 10:02:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Update-table-code/m-p/271262#M7520</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-05-18T10:02:26Z</dc:date>
    </item>
  </channel>
</rss>

