<?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: MODIFY with transaction not working in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/527167#M143670</link>
    <description>&lt;P&gt;&lt;STRONG&gt;1. Results&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Here is an example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data T1;
  A=1; B=1; output;
  A=2; B=2; output;
  A=3; B=3; output;
run;
data T2;
  A=1; B=0; output;
  A=2; B=.; output;
run;
    
data T3;
  merge T1 T2;
  by A;
run;
data T1;
  modify T1 T2;
  by A;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;and the result:&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.T3" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;A&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;B&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.T1" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;A&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;B&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;What is surprising?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2. Speed&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;MODIFY is much slower than MERGE.&lt;/P&gt;
&lt;P&gt;The reason is that instead of bulk-building a new table, each record is painstakingly updated one at a time.&lt;/P&gt;
&lt;P&gt;For example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data T1 T2; 
  do A=1 to 1e4;
    B=A;
    output; 
  end;
run;

data T3;
  merge T1 T2;
  by A;
run;

data T1;
  modify T1 T2;
  by A;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;34 data T3;&lt;/FONT&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt;35 merge T1 T2;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;36 by A;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;37 run;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 10000 observations read from the data set WORK.T1.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 10000 observations read from the data set WORK.T2.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: The data set WORK.T3 has 10000 observations and 2 variables.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: DATA statement used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; real time 0.01 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; user cpu time 0.00 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; system cpu time 0.01 seconds&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; memory 1098.56k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; OS Memory 17760.00k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Timestamp 01/15/2019 11:44:54 AM&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Step Count 32 Switch Count 42&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;39 data T1;&lt;/FONT&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt;40 modify T1 T2;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;41 by A;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;42 run;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 1 observations read from the data set WORK.T1.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: The data set WORK.T1 has been updated. There were 10000 observations rewritten, 0 observations added and 0 observations &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; deleted.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 10000 observations read from the data set WORK.T2.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: DATA statement used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; real time 20.06 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; user cpu time 14.54 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; system cpu time 2.84 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; memory 1009.00k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; OS Memory 17500.00k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Timestamp 01/15/2019 11:45:14 AM&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Step Count 33 Switch Count 87&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 14 Jan 2019 22:48:10 GMT</pubDate>
    <dc:creator>ChrisNZ</dc:creator>
    <dc:date>2019-01-14T22:48:10Z</dc:date>
    <item>
      <title>MODIFY with transaction not working</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/526140#M143223</link>
      <description>&lt;PRE&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;CODE class=" language-sas"&gt;proc sort data=prolease&amp;amp;perishort. nodupkey;&lt;BR /&gt;	by operacion database; &lt;BR /&gt;run;
proc sort data=ext_new nodupkey dupout=check;&lt;BR /&gt;	by operacion database;&lt;BR /&gt;run;

data prolease&amp;amp;perishort.;&lt;BR /&gt;	modify prolease&amp;amp;perishort. ext_new;&lt;BR /&gt;	by operacion database;&lt;BR /&gt;run;&lt;/CODE&gt;&lt;/FONT&gt;&lt;/PRE&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;NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR&lt;/P&gt;&lt;P&gt;22&lt;/P&gt;&lt;P&gt;23 GOPTIONS ACCESSIBLE;&lt;/P&gt;&lt;P&gt;SYMBOLGEN: Macro variable PERISHORT resolves to 1812&lt;/P&gt;&lt;P&gt;24&lt;/P&gt;&lt;P&gt;25 data prolease&amp;amp;perishort.;&lt;/P&gt;&lt;P&gt;26&lt;/P&gt;&lt;P&gt;SYMBOLGEN: Macro variable PERISHORT resolves to 1812&lt;/P&gt;&lt;P&gt;26 ! modify prolease&amp;amp;perishort. ext_new;&lt;/P&gt;&lt;P&gt;27 by operacion database;&lt;/P&gt;&lt;P&gt;28 run;&lt;/P&gt;&lt;P&gt;NOTE: The DATA step has been abnormally terminated.&lt;/P&gt;&lt;P&gt;NOTE: There were 1 observations read from the data set WORK.PROLEASE1812.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.PROLEASE1812 has been updated. There were 2492 observations rewritten, 0 observations added and 0&lt;/P&gt;&lt;P&gt;observations deleted.&lt;/P&gt;&lt;P&gt;NOTE: There were 2493 observations read from the data set WORK.EXT_NEW.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;real time 1:08.18&lt;/P&gt;&lt;P&gt;cpu time 1:07.47&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is not working as expected. I expect it to produce the same result as MERGE statement without overwriting with missing values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;MERGE statement does work:&lt;/P&gt;&lt;P&gt;23 GOPTIONS ACCESSIBLE;&lt;/P&gt;&lt;P&gt;SYMBOLGEN: Macro variable PERISHORT resolves to 1812&lt;/P&gt;&lt;P&gt;24 data prolease&amp;amp;perishort.;&lt;/P&gt;&lt;P&gt;25&lt;/P&gt;&lt;P&gt;SYMBOLGEN: Macro variable PERISHORT resolves to 1812&lt;/P&gt;&lt;P&gt;25 ! merge prolease&amp;amp;perishort. ext_new;&lt;/P&gt;&lt;P&gt;26 by operacion database;&lt;/P&gt;&lt;P&gt;27 run;&lt;/P&gt;&lt;P&gt;NOTE: There were 347852 observations read from the data set WORK.PROLEASE1812.&lt;/P&gt;&lt;P&gt;NOTE: There were 11066 observations read from the data set WORK.EXT_NEW.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.PROLEASE1812 has 347853 observations and 177 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;real time 2.91 seconds&lt;/P&gt;&lt;P&gt;cpu time 2.57 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;MODIFY without transaction dataset works:&lt;/P&gt;&lt;P&gt;23 GOPTIONS ACCESSIBLE;&lt;/P&gt;&lt;P&gt;SYMBOLGEN: Macro variable PERISHORT resolves to 1812&lt;/P&gt;&lt;P&gt;24 data prolease&amp;amp;perishort.;&lt;/P&gt;&lt;P&gt;25&lt;/P&gt;&lt;P&gt;SYMBOLGEN: Macro variable PERISHORT resolves to 1812&lt;/P&gt;&lt;P&gt;25 ! modify prolease&amp;amp;perishort.;&lt;/P&gt;&lt;P&gt;26 extrest='test';&lt;/P&gt;&lt;P&gt;27 run;&lt;/P&gt;&lt;P&gt;NOTE: There were 347853 observations read from the data set WORK.PROLEASE1812.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.PROLEASE1812 has been updated. There were 347853 observations rewritten, 0 observations added and 0&lt;/P&gt;&lt;P&gt;observations deleted.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;real time 1.06 seconds&lt;/P&gt;&lt;P&gt;cpu time 1.06 seconds&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jan 2019 18:21:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/526140#M143223</guid>
      <dc:creator>franriv</dc:creator>
      <dc:date>2019-01-10T18:21:41Z</dc:date>
    </item>
    <item>
      <title>Re: MODIFY with transaction not working</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/526192#M143253</link>
      <description>&lt;P&gt;Please be more specific in your requirements.. Was all you did to change the word 'merge' to 'modify'? Can you provide some example data that shows what&amp;nbsp;&lt;SPAN&gt;WORK.PROLEASE1812 looks like?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jan 2019 20:30:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/526192#M143253</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-01-10T20:30:52Z</dc:date>
    </item>
    <item>
      <title>Re: MODIFY with transaction not working</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/526397#M143346</link>
      <description>&lt;P&gt;after running:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
	set prolease1812(keep=operacion operorigen database);
run;
proc sort data=test nodup; by _ALL_;
proc sort data=test nodupkey; by operacion database;

data test;
	modify test ext_new;
	by operacion database;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;(SAS block code in this web doesn't seem to preserve my indenting).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my tables look like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="testextnew.jpg" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/26200i13B37CE462202C41/image-size/large?v=v2&amp;amp;px=999" role="button" title="testextnew.jpg" alt="testextnew.jpg" /&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 contents data=test;
proc contents data=ext_new;&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;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The CONTENTS Procedure&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Data Set Name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;WORK.TEST&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Observations&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;347852&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Member Type&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;DATA&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Variables&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Engine&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;V9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Indexes&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Created&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01/11/2019 09:13:44&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Observation Length&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;44&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Last Modified&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01/11/2019 09:16:21&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Deleted Observations&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Protection&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Compressed&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NO&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Data Set Type&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sorted&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;YES&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Label&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Data Representation&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;SOLARIS_X86_64, LINUX_X86_64, ALPHA_TRU64, LINUX_IA64&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Encoding&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;latin1 Western (ISO)&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Engine/Host Dependent Information&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Data Set Page Size&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;65536&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Number of Data Set Pages&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;235&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;First Data Page&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Max Obs per Page&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1484&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Obs in First Data Page&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1435&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Number of Data Set Repairs&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Filename&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;***&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Release Created&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9.0401M4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Host Created&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Linux&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Inode Number&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;18612318&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Access Permission&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;rw-rw-r--&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Owner Name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;franriv&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;File Size&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15MB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;File Size (bytes)&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15466496&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Alphabetic List of Variables and Attributes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;#&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Variable&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Type&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Len&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;DataBase&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Char&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;OperOrigen&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Char&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Operacion&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Char&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Sort Information&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Sortedby&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Operacion DataBase&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Validated&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;YES&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Character Set&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ASCII&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Sort Option&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NODUPKEY&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The CONTENTS Procedure&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Data Set Name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;WORK.EXT_NEW&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Observations&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;11066&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Member Type&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;DATA&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Variables&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Engine&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;V9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Indexes&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Created&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01/11/2019 09:09:13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Observation Length&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;44&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Last Modified&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01/11/2019 09:09:13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Deleted Observations&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Protection&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Compressed&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NO&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Data Set Type&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sorted&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;YES&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Label&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Data Representation&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;SOLARIS_X86_64, LINUX_X86_64, ALPHA_TRU64, LINUX_IA64&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Encoding&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;latin1 Western (ISO)&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Engine/Host Dependent Information&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Data Set Page Size&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;65536&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Number of Data Set Pages&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;First Data Page&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Max Obs per Page&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1484&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Obs in First Data Page&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1434&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Number of Data Set Repairs&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Filename&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;***&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Release Created&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9.0401M4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Host Created&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Linux&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Inode Number&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;18614142&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Access Permission&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;rw-rw-r--&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Owner Name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;franriv&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;File Size&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;576KB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;File Size (bytes)&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;589824&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Alphabetic List of Variables and Attributes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;#&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Variable&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Type&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Len&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Format&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Informat&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Label&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;database&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Char&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;operacion&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Char&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;$11.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;$11.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;OperDest&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;operorigen&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Char&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;$11.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;$11.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;OperOri&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Sort Information&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Sortedby&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;operacion database&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Validated&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;YES&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Character Set&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ASCII&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Sort Option&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NODUPKEY&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;This is just me testing to learn how to use the MODIFY statement&lt;/STRONG&gt;; I am expecting the same output as a merge statement (provided operorigen is not null for any entry in the ext_new table), but faster execution.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;merge statement does work&lt;/P&gt;&lt;P&gt;NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR&lt;/P&gt;&lt;P&gt;22&lt;/P&gt;&lt;P&gt;23 GOPTIONS ACCESSIBLE;&lt;/P&gt;&lt;P&gt;24 data test2;&lt;/P&gt;&lt;P&gt;25 merge test ext_new;&lt;/P&gt;&lt;P&gt;26 by operacion database;&lt;/P&gt;&lt;P&gt;27 run;&lt;/P&gt;&lt;P&gt;NOTE: There were 347852 observations read from the data set WORK.TEST.&lt;/P&gt;&lt;P&gt;NOTE: There were 11066 observations read from the data set WORK.EXT_NEW.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.TEST2 has 347853 observations and 3 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;real time 0.27 seconds&lt;/P&gt;&lt;P&gt;cpu time 0.26 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but modify statement won't do it;&lt;/P&gt;&lt;P&gt;NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR&lt;/P&gt;&lt;P&gt;22&lt;/P&gt;&lt;P&gt;23 GOPTIONS ACCESSIBLE;&lt;/P&gt;&lt;P&gt;24&lt;/P&gt;&lt;P&gt;25 data test;&lt;/P&gt;&lt;P&gt;26 modify test ext_new;&lt;/P&gt;&lt;P&gt;27 by operacion database;&lt;/P&gt;&lt;P&gt;28 run;&lt;/P&gt;&lt;P&gt;NOTE: The DATA step has been abnormally terminated.&lt;/P&gt;&lt;P&gt;NOTE: There were 1 observations read from the data set WORK.TEST.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.TEST has been updated. There were 6563 observations rewritten, 0 observations added and 0 observations&lt;/P&gt;&lt;P&gt;deleted.&lt;/P&gt;&lt;P&gt;NOTE: There were 6564 observations read from the data set WORK.EXT_NEW.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;real time 2:32.11&lt;/P&gt;&lt;P&gt;cpu time 2:30.86&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jan 2019 15:58:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/526397#M143346</guid>
      <dc:creator>franriv</dc:creator>
      <dc:date>2019-01-11T15:58:31Z</dc:date>
    </item>
    <item>
      <title>Re: MODIFY with transaction not working</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/527045#M143629</link>
      <description>&lt;P&gt;&lt;EM&gt;&amp;gt; SAS block code in this web doesn't seem to preserve my indenting&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That's the main reason to use spaces and not tabs for indentation: the code layout is safe.&lt;/P&gt;
&lt;P&gt;There's a setting in EG for this purpose too.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 19:25:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/527045#M143629</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2019-01-14T19:25:15Z</dc:date>
    </item>
    <item>
      <title>Re: MODIFY with transaction not working</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/527167#M143670</link>
      <description>&lt;P&gt;&lt;STRONG&gt;1. Results&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Here is an example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data T1;
  A=1; B=1; output;
  A=2; B=2; output;
  A=3; B=3; output;
run;
data T2;
  A=1; B=0; output;
  A=2; B=.; output;
run;
    
data T3;
  merge T1 T2;
  by A;
run;
data T1;
  modify T1 T2;
  by A;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;and the result:&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.T3" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;A&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;B&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.T1" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;A&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;B&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;What is surprising?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2. Speed&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;MODIFY is much slower than MERGE.&lt;/P&gt;
&lt;P&gt;The reason is that instead of bulk-building a new table, each record is painstakingly updated one at a time.&lt;/P&gt;
&lt;P&gt;For example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data T1 T2; 
  do A=1 to 1e4;
    B=A;
    output; 
  end;
run;

data T3;
  merge T1 T2;
  by A;
run;

data T1;
  modify T1 T2;
  by A;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;34 data T3;&lt;/FONT&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt;35 merge T1 T2;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;36 by A;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;37 run;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 10000 observations read from the data set WORK.T1.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 10000 observations read from the data set WORK.T2.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: The data set WORK.T3 has 10000 observations and 2 variables.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: DATA statement used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; real time 0.01 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; user cpu time 0.00 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; system cpu time 0.01 seconds&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; memory 1098.56k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; OS Memory 17760.00k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Timestamp 01/15/2019 11:44:54 AM&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Step Count 32 Switch Count 42&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;39 data T1;&lt;/FONT&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt;40 modify T1 T2;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;41 by A;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;42 run;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 1 observations read from the data set WORK.T1.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: The data set WORK.T1 has been updated. There were 10000 observations rewritten, 0 observations added and 0 observations &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; deleted.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 10000 observations read from the data set WORK.T2.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: DATA statement used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; real time 20.06 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; user cpu time 14.54 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier"&gt; system cpu time 2.84 seconds&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; memory 1009.00k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; OS Memory 17500.00k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Timestamp 01/15/2019 11:45:14 AM&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Step Count 33 Switch Count 87&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 22:48:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/527167#M143670</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2019-01-14T22:48:10Z</dc:date>
    </item>
    <item>
      <title>Re: MODIFY with transaction not working</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/527170#M143671</link>
      <description>&lt;P&gt;Here is an interesting link if the matter of table-join performance interests you:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/Study-on-the-best-method-to-join-two-tables/ta-p/406434" target="_self"&gt;https://communities.sas.com/t5/SAS-Communities-Library/Study-on-the-best-method-to-join-two-tables/ta-p/406434&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 22:57:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MODIFY-with-transaction-not-working/m-p/527170#M143671</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2019-01-14T22:57:18Z</dc:date>
    </item>
  </channel>
</rss>

