<?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: Base SAS - how to capture changed data and new record as in a delta file  ? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674125#M202939</link>
    <description>&lt;P&gt;The only change to my code is sorting the input datasets before update.&lt;/P&gt;
&lt;P&gt;I assume names are department are case equal.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=have; by name dept; run;
proc sort data=in_coming_file; by name dept; run;

data final_have;
   update have (in=in_old)
       in_coming_file(=in_trans)
  ;
   by name dept;
      if  in_old and not in_trans then flag = ' '; else
      if in_old and in_trans then flaug = 'U'; else flag = 'N';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 03 Aug 2020 13:33:09 GMT</pubDate>
    <dc:creator>Shmuel</dc:creator>
    <dc:date>2020-08-03T13:33:09Z</dc:date>
    <item>
      <title>Base SAS - how to capture changed data and new record as in a delta file  ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674090#M202925</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;Please , I have modified the initial query ... can you suggest a solution for my requirement .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Suppose there exists a dataset --&amp;gt;&amp;nbsp; "have" .&lt;/LI&gt;
&lt;LI&gt;I am getting a new dataset --&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "in_coming_file" .&lt;/LI&gt;
&lt;LI&gt;I want the dataset --&amp;gt; "output_1" created to sent to an external vendor .&amp;nbsp; The &lt;FONT color="#FF0000"&gt;U&lt;/FONT&gt; denotes updated record and &lt;FONT color="#FF0000"&gt;N&lt;/FONT&gt; denotes New record .&lt;/LI&gt;
&lt;LI&gt;new "have " dataset will be replaced by dataset --&amp;gt; "final_have"&amp;nbsp;&lt;/LI&gt;
&lt;/OL&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;PRE&gt;&lt;SPAN&gt;data have;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input name $ dept $ date date9.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;format date date9.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;datalines;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;John Sales 01JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mary Acctng 01JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gilbert Auditor 03JAN018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;data in_coming_file ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input name $ dept $ date date9.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;format date date9.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;datalines;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;John Sales 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mary Finance 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jake Finance 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gilbert Auditor 03JAN018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;final_have&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;John Sales 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mary Finance 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jake Finance 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gilbert Auditor 03JAN018&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;output_1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;John Sales 02JAN2018 U&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mary Finance 02JAN2018 U&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jake Finance 02JAN2018 N&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Aug 2020 13:00:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674090#M202925</guid>
      <dc:creator>dennis_oz</dc:creator>
      <dc:date>2020-08-03T13:00:06Z</dc:date>
    </item>
    <item>
      <title>Re: Base SAS - how to capture changed data and new record as in a delta file ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674097#M202927</link>
      <description>&lt;P&gt;Please try&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   input name $ dept $ date date9.;
   format date date9.;
   datalines;
John Sales 01JAN2018
Mary Acctng 01JAN2018
;

data in_coming_file ;
   input name $ dept $ date date9.;
   format date date9.;
   datalines;
John Sales 02JAN2018
Mary Finance 02JAN2018
Jake Finance 02JAN2018
;


proc sort data=have;
by name dept date;
run;

proc sort data=in_coming_file;
by name dept date;
run;

data want;
merge have(in=a) in_coming_file(in=b);
by name  ;
if b and not a then flag='N';
if a and b then flag='U';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 03 Aug 2020 12:20:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674097#M202927</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2020-08-03T12:20:11Z</dc:date>
    </item>
    <item>
      <title>Re: Base SAS - how to capture changed data and new record as in a delta file ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674098#M202928</link>
      <description>&lt;P&gt;Check next code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data final_have;
   update have (in=in_old)
       in_comin_file(=in_trans)
  ;
   by name dept;
      if  in_old and not in_trans then flag = ' '; else
      if in_old and in_trans then flaug = 'U'; else flag = 'N';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 03 Aug 2020 12:23:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674098#M202928</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2020-08-03T12:23:00Z</dc:date>
    </item>
    <item>
      <title>Re: Base SAS - how to capture changed data and new record as in a delta file ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674110#M202934</link>
      <description>my bad , I have one more condition in the data .. please find below &lt;BR /&gt;&lt;BR /&gt;data have;&lt;BR /&gt;   input name $ dept $ date date9.;&lt;BR /&gt;   format date date9.;&lt;BR /&gt;   datalines;&lt;BR /&gt;John Sales 01JAN2018&lt;BR /&gt;Mary Acctng 01JAN2018&lt;BR /&gt;Gilbert Auditor 03JAN018&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;data in_coming_file ;&lt;BR /&gt;   input name $ dept $ date date9.;&lt;BR /&gt;   format date date9.;&lt;BR /&gt;   datalines;&lt;BR /&gt;John Sales 02JAN2018&lt;BR /&gt;Mary Finance 02JAN2018&lt;BR /&gt;Jake Finance 02JAN2018&lt;BR /&gt;Gilbert Auditor 03JAN018&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;final_have&lt;BR /&gt;John Sales 02JAN2018&lt;BR /&gt;Mary Finance 02JAN2018&lt;BR /&gt;Jake Finance 02JAN2018&lt;BR /&gt;Gilbert Auditor 03JAN018&lt;BR /&gt;&lt;BR /&gt;  output_1 &lt;BR /&gt;  John Sales 02JAN2018     U&lt;BR /&gt;  Mary Finance 02JAN2018   U&lt;BR /&gt;  Jake Finance 02JAN2018   N&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Please can you suggest how the code will look now.</description>
      <pubDate>Mon, 03 Aug 2020 12:55:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674110#M202934</guid>
      <dc:creator>dennis_oz</dc:creator>
      <dc:date>2020-08-03T12:55:46Z</dc:date>
    </item>
    <item>
      <title>Re: Base SAS - how to capture changed data and new record as in a delta file ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674114#M202936</link>
      <description>my bad, I had another condition in the input data ..&lt;BR /&gt;Please can you advice now.&lt;BR /&gt;&lt;BR /&gt;data have;&lt;BR /&gt;input name $ dept $ date date9.;&lt;BR /&gt;format date date9.;&lt;BR /&gt;datalines;&lt;BR /&gt;John Sales 01JAN2018&lt;BR /&gt;Mary Acctng 01JAN2018&lt;BR /&gt;Gilbert Auditor 03JAN018&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;data in_coming_file ;&lt;BR /&gt;input name $ dept $ date date9.;&lt;BR /&gt;format date date9.;&lt;BR /&gt;datalines;&lt;BR /&gt;John Sales 02JAN2018&lt;BR /&gt;Mary Finance 02JAN2018&lt;BR /&gt;Jake Finance 02JAN2018&lt;BR /&gt;Gilbert Auditor 03JAN018&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;final_have&lt;BR /&gt;John Sales 02JAN2018&lt;BR /&gt;Mary Finance 02JAN2018&lt;BR /&gt;Jake Finance 02JAN2018&lt;BR /&gt;Gilbert Auditor 03JAN018&lt;BR /&gt;&lt;BR /&gt;output_1&lt;BR /&gt;John Sales 02JAN2018 U&lt;BR /&gt;Mary Finance 02JAN2018 U&lt;BR /&gt;Jake Finance 02JAN2018 N</description>
      <pubDate>Mon, 03 Aug 2020 13:01:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674114#M202936</guid>
      <dc:creator>dennis_oz</dc:creator>
      <dc:date>2020-08-03T13:01:46Z</dc:date>
    </item>
    <item>
      <title>Re: Base SAS - how to capture changed data and new record as in a delta file  ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674121#M202937</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have(index=(name));
   input name $ dept $ date date9.;
   format date date9.;
   datalines;
John Sales 01JAN2018
Mary Acctng 01JAN2018
;

data in_coming_file(index=(name)) ;
   input name $ dept $ date date9.;
   format date date9.;
   datalines;
John Sales 02JAN2018
Mary Finance 02JAN2018
Jake Finance 02JAN2018
;

proc sort data=have out=_have;by name;run;
proc sort data=in_coming_file out=_in_coming_file;by name;run;

proc compare data=_have compare=_in_coming_file out=noequal outnoequal noprint;
id name;
var dept date;
run;


proc sql;
create table want as
select *,case when exists(select * from noequal where name=a.name) then 'U' 
   when not exists(select * from have where name=a.name) then 'N' 
   else ' ' end as flag
 from  in_coming_file as a;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 03 Aug 2020 13:18:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674121#M202937</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2020-08-03T13:18:20Z</dc:date>
    </item>
    <item>
      <title>Re: Base SAS - how to capture changed data and new record as in a delta file  ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674123#M202938</link>
      <description>&lt;P&gt;hi ksharp,&lt;/P&gt;
&lt;P&gt;I have modified my input file to below&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt;Please can you advice now.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;data have;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input name $ dept $ date date9.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;format date date9.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;datalines;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;John Sales 01JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mary Acctng 01JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gilbert Auditor 03JAN018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;data in_coming_file ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input name $ dept $ date date9.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;format date date9.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;datalines;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;John Sales 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mary Finance 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jake Finance 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gilbert Auditor 03JAN018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;final_have&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;John Sales 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mary Finance 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jake Finance 02JAN2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gilbert Auditor 03JAN018&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;output_1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;John Sales 02JAN2018 U&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mary Finance 02JAN2018 U&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jake Finance 02JAN2018 N&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Aug 2020 13:20:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674123#M202938</guid>
      <dc:creator>dennis_oz</dc:creator>
      <dc:date>2020-08-03T13:20:46Z</dc:date>
    </item>
    <item>
      <title>Re: Base SAS - how to capture changed data and new record as in a delta file  ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674125#M202939</link>
      <description>&lt;P&gt;The only change to my code is sorting the input datasets before update.&lt;/P&gt;
&lt;P&gt;I assume names are department are case equal.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=have; by name dept; run;
proc sort data=in_coming_file; by name dept; run;

data final_have;
   update have (in=in_old)
       in_coming_file(=in_trans)
  ;
   by name dept;
      if  in_old and not in_trans then flag = ' '; else
      if in_old and in_trans then flaug = 'U'; else flag = 'N';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 03 Aug 2020 13:33:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674125#M202939</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2020-08-03T13:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: Base SAS - how to capture changed data and new record as in a delta file  ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674127#M202941</link>
      <description>&lt;P&gt;EDIT to fix a problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
input name $ dept $ date date9.;
format date date9.;
datalines;
John Sales 01JAN2018
Mary Acctng 01JAN2018
Gilbert Auditor 03JAN018
;

data in_coming_file ;
input name $ dept $ date date9.;
format date date9.;
datalines;
John Sales 02JAN2018
Mary Finance 02JAN2018
Jake Finance 02JAN2018
Gilbert Auditor 03JAN018
;

proc sql;
create table updated as
select * from have
except 
select * from in_coming_file;

create table new as
select * from in_coming_file
 where name not in (select distinct name from have);

create table want as
select *,'U' as flag from updated where name in (select distinct name from in_coming_file)
union
select *,'N' as flag from new;
quit;
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Aug 2020 13:40:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Base-SAS-how-to-capture-changed-data-and-new-record-as-in-a/m-p/674127#M202941</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2020-08-03T13:40:13Z</dc:date>
    </item>
  </channel>
</rss>

