<?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: Loading table. delta loading instead of full loading in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773342#M245656</link>
    <description>&lt;P&gt;thanks Kurt for the explanations.&amp;nbsp;I have no more errors.&lt;BR /&gt;but the last obs I get returns the variables "date_update" "and" date_load "with the values ". "&lt;BR /&gt;And I don't understanbd this result because by getting min and max of this 2 variables with proc sql, result is &lt;BR /&gt;"02JUN2014 / 09OCT2021 / 02JUN2014 / 08OCT2021"&lt;BR /&gt;so why the step with "point=..." returns "." ? and does not return a "09OCT2021" and "08OCT2021"&lt;/P&gt;</description>
    <pubDate>Mon, 11 Oct 2021 10:09:55 GMT</pubDate>
    <dc:creator>Nasser_DRMCP</dc:creator>
    <dc:date>2021-10-11T10:09:55Z</dc:date>
    <item>
      <title>Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/772962#M245466</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have 5 tables that contain around 5 millions rows.&lt;/P&gt;
&lt;P&gt;My program read and extract all rows&amp;nbsp; (on tuesday, on wednerday, thursday, friday and saturday)&lt;/P&gt;
&lt;P&gt;I would like to optimize by doing a delta loading instead of full loading. I would like to extract only new rows since the last extraction and then append this new records in a target table&lt;/P&gt;
&lt;P&gt;What is the "best" method ?&lt;/P&gt;
&lt;P&gt;1°) should I compare source table and target tables to identify wew records&amp;nbsp;?&lt;/P&gt;
&lt;P&gt;2°) should I save (each day) the&amp;nbsp;extraction date in a&amp;nbsp;track table. and then reading this date to extract news&amp;nbsp;record of the source table ?&lt;/P&gt;
&lt;P&gt;3°) should I read the max value of column "update_date" of the source table.&lt;/P&gt;
&lt;P&gt;thanks in advance for your help / advice&lt;/P&gt;
&lt;P&gt;kind regards&lt;/P&gt;
&lt;P&gt;Nass&lt;/P&gt;</description>
      <pubDate>Fri, 08 Oct 2021 08:48:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/772962#M245466</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-08T08:48:23Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/772977#M245473</link>
      <description>&lt;P&gt;Why do you need to check the date at all? Is there a chance you might load the same date twice?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To read the latest date, and provided new data is always APPENDed, just read the last record.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; set TABLE nobs=NOBS point=NOBS;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Oct 2021 09:56:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/772977#M245473</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2021-10-08T09:56:21Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773062#M245515</link>
      <description>&lt;P&gt;Thanks Chris for your help.&lt;/P&gt;
&lt;P&gt;yes, by checking the date, if I have to re launch the program (in the day) , I Always extract only the new data. the new data should be inserted only once in the target even if the program is launch twice or more.&lt;BR /&gt;Also, I am sorru but i don't understand this "set TABLE nobs=NOBS point=NOBS;"&lt;/P&gt;</description>
      <pubDate>Fri, 08 Oct 2021 15:52:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773062#M245515</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-08T15:52:50Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773067#M245520</link>
      <description>&lt;P&gt;I think I understood, you advice me to get only last record by using this (for example)&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; last;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#008000"&gt;/* get number of records (N) */&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; sashelp.class nobs=nobs end=eof;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#008000"&gt;/* use POINT= to get nth record */&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; sashelp.class &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;point&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=nobs;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;stop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Oct 2021 16:01:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773067#M245520</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-08T16:01:25Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773170#M245563</link>
      <description>&lt;P&gt;You haven't really described your loading process completely. Are you doing only row additions or are you also doing row updates and deletions? Also do you want your load process to be repeatable, that is remove all rows from a particular load then load them again?&lt;/P&gt;</description>
      <pubDate>Fri, 08 Oct 2021 22:44:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773170#M245563</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2021-10-08T22:44:18Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773173#M245565</link>
      <description>&lt;P&gt;A column update_date indicates that a delta load would need to be update and insert at least.&lt;/P&gt;
&lt;P&gt;If there could also be deletes (observations deleted in source) then you would also need to derive the deletions by comparing source to target.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To really have an opinion of what's "best" we would need to understand your data model better and also how much change there is (like 1% or 50% per run).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Let's say your source data model is a star. In such a case all new rows in a fact table would become inserts and pre-existing rows in the fact table that link to a dimension that has changed would become updates.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Fact records don't get deleted but there is of course always the possibility that old records get archived (=removed from the fact table) or that a roll-back is required after a load of wrong data. And you're then on the receiving end of this and must design and build for such cases as well.&lt;/P&gt;
&lt;P&gt;If the dimension tables are not too big then re-creating the target data mart table using a single data step with hash lookups to the dimension tables could perform reasonably well and is much easier to implement and maintain.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your use case might be something very different. Above only to demonstrate why one needs to understand the "have" details for making the right call.&lt;/P&gt;</description>
      <pubDate>Sat, 09 Oct 2021 00:36:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773173#M245565</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2021-10-09T00:36:53Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773182#M245572</link>
      <description>&lt;P&gt;Yes exactly. My code does the same in one line.&lt;/P&gt;</description>
      <pubDate>Sat, 09 Oct 2021 03:52:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773182#M245572</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2021-10-09T03:52:16Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773321#M245646</link>
      <description>Hello Chris&lt;BR /&gt;&lt;BR /&gt;I tried this code your suggested  --&amp;gt; set TABLE nobs=NOBS point=NOBS;&lt;BR /&gt;but I encounter an error "Statement is not valid or it is used out of proper order."&lt;BR /&gt;I try this as wel (to get the last of the "class" table )  --&amp;gt;set sashelp.class  nobs=NOBS point=NOBS; same error</description>
      <pubDate>Mon, 11 Oct 2021 07:04:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773321#M245646</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-11T07:04:16Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773324#M245647</link>
      <description>&lt;P&gt;Maxim 2 says: Read the Log.&lt;/P&gt;
&lt;P&gt;The log is the #1 resource for detecting problems in SAS code. The log, the whole log, and nothing but the log.&lt;/P&gt;
&lt;P&gt;So please copy/paste the &lt;EM&gt;whole&lt;/EM&gt; log of the step that resulted in a problem into a window opened with this button:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bildschirmfoto 2020-04-07 um 08.32.59.jpg" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/54552i914D97BE1B0F21E5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bildschirmfoto 2020-04-07 um 08.32.59.jpg" alt="Bildschirmfoto 2020-04-07 um 08.32.59.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 07:59:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773324#M245647</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-10-11T07:59:39Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773330#M245652</link>
      <description>&lt;PRE&gt;1                                                          The SAS System                       Monday, October 11, 2021 11:12:00 AM

1          ;*';*";*/;quit;run;
2          OPTIONS PAGENO=MIN;
3          %LET _CLIENTTASKLABEL='DTM_SIMU_VDELTA';
4          %LET _CLIENTPROCESSFLOWNAME='Process Flow';
5          %LET _CLIENTPROJECTPATH='';
6          %LET _CLIENTPROJECTPATHHOST='';
7          %LET _CLIENTPROJECTNAME='';
8          %LET _SASPROGRAMFILE='/home/ldap/rollens/sbsas/ROLLENS/CRC/DTM_SIMU_VDELTA.sas';
9          %LET _SASPROGRAMFILEHOST='isasakj4.compagny.fr';
10         
11         ODS _ALL_ CLOSE;
12         OPTIONS DEV=PNG;
13         GOPTIONS XPIXELS=0 YPIXELS=0;
14         FILENAME EGSR TEMP;
15         ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR
16             STYLE=HTMLBlue
17             STYLESHEET=(URL="file:///D:/appli/SAS/SASHome/SASEnterpriseGuide/7.1/Styles/HTMLBlue.css")
18             NOGTITLE
19             NOGFOOTNOTE
20             GPATH=&amp;amp;sasworklocation
21             ENCODING=UTF8
22             options(rolap="on")
23         ;
NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
24         
25         GOPTIONS ACCESSIBLE;
26          set TABLE nobs=NOBS point=NOBS;
            ___
            180

ERROR 180-322: Statement is not valid or it is used out of proper order.

27         
28         
29         GOPTIONS NOACCESSIBLE;
30         %LET _CLIENTTASKLABEL=;
31         %LET _CLIENTPROCESSFLOWNAME=;
32         %LET _CLIENTPROJECTPATH=;
33         %LET _CLIENTPROJECTPATHHOST=;
34         %LET _CLIENTPROJECTNAME=;
35         %LET _SASPROGRAMFILE=;
36         %LET _SASPROGRAMFILEHOST=;
37         
38         ;*';*";*/;quit;run;
39         ODS _ALL_ CLOSE;
40         
41         
42         QUIT; RUN;
43         
&lt;/PRE&gt;
&lt;P&gt;Hello Kurt&lt;/P&gt;
&lt;P&gt;I put the whole log&lt;/P&gt;
&lt;P&gt;thanks&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 09:20:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773330#M245652</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-11T09:20:08Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773332#M245653</link>
      <description>&lt;P&gt;SET is a DATA step statement and must be part of a data step.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 09:24:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773332#M245653</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-10-11T09:24:22Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773333#M245654</link>
      <description>&lt;P&gt;yes, but when I try this data step bellow. I encounter an error "out of memory" and the result is very big "t_last table" table.&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; t_last ;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; sashelp.class &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;nobs&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=NOBS &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;point&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=NOBS;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;run&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;I know that this code bellow works well==&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; last ;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#008000"&gt;/* get number of records (N) */&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; sashelp.class nobs=p_nobs end=eof;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#008000"&gt;/* use POINT= to get nth record */&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; sashelp.class &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;point&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=p_nobs;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;stop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Chris said "Yes exactly. My code does the same in one line." sorry, but I Don't know how.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Thanks&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 09:35:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773333#M245654</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-11T09:35:22Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773335#M245655</link>
      <description>&lt;P&gt;When you use SET in a data step without the POINT= option, the incoming data will be read sequentially, and as soon as the SET statement (which is also a READ under the hood) tries to read past the end, the data step will automatically terminate gracefully.&lt;/P&gt;
&lt;P&gt;But with the POINT= option, there is no sequential read, and the SET can happily read the observation again and again and again (and write out an observation for each iteration) until the resulting dataset cracks storage limits.&lt;/P&gt;
&lt;P&gt;This why you always need a means to control how many observations are processed, either by using SET in a do loop with a termination condition, or using the STOP statement once you've achieved your goal.&lt;/P&gt;
&lt;P&gt;Since a STOP also prevents the implicit write, you need to add OUTPUT:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data t_last ;
set sashelp.class nobs=NOBS point=NOBS;
output;
stop;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 09:50:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773335#M245655</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-10-11T09:50:27Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773342#M245656</link>
      <description>&lt;P&gt;thanks Kurt for the explanations.&amp;nbsp;I have no more errors.&lt;BR /&gt;but the last obs I get returns the variables "date_update" "and" date_load "with the values ". "&lt;BR /&gt;And I don't understanbd this result because by getting min and max of this 2 variables with proc sql, result is &lt;BR /&gt;"02JUN2014 / 09OCT2021 / 02JUN2014 / 08OCT2021"&lt;BR /&gt;so why the step with "point=..." returns "." ? and does not return a "09OCT2021" and "08OCT2021"&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 10:09:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773342#M245656</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-11T10:09:55Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773343#M245657</link>
      <description>&lt;P&gt;Since we still do not know what we are dealing with, you must now provide examples for the existing dataset, the "update" dataset, and how the final dataset from that should look like.&lt;/P&gt;
&lt;P&gt;For the two source datasets, use data steps with datalines (&lt;U&gt;do not skip this)&lt;/U&gt;, so we can easily recreate them for developing/testing in or environment.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 10:19:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773343#M245657</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-10-11T10:19:31Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773389#M245688</link>
      <description>&lt;P&gt;you are right. i give you a sample of data&lt;/P&gt;
&lt;PRE&gt;data source ;
length project_name $ 9;
input num_client project_name $ project_amount date_load date_update ;
informat date_load  date_update ddmmyy10.;
format date_load date_update ddmmyy10.;
datalines;
280001 home 15000 01/04/2019 20/04/2019
280002 car 3000 01/05/2019 .
280003 personnal 2250 30/06/2019 .
280004 home 25000 31/07/2020 01/08/2020
280005 car 12000 21/01/2021 .
280006 personnal 1500 20/02/2021 .
280007 home 75500 12/04/2021 12/05/2021
280008 car 42000 27/05/2021 .
280009 personnal 2000 05/09/2021 10/10/2021
280010 home 2000 10/10/2021 .
;
run;&lt;/PRE&gt;
&lt;P&gt;in the target table, amount of the client&amp;nbsp;28009 is 1000 (and not 2000 yet). and the client 20010 does not exist yet&lt;/P&gt;
&lt;P&gt;I would like to identify client 28009 the be updated ans client 20010 to be inserted.&lt;/P&gt;
&lt;P&gt;I Don't know&amp;nbsp;the best way to do that.&lt;/P&gt;
&lt;P&gt;there is no dimensional (star schema) with fact and dimension tables with keys)&lt;/P&gt;
&lt;P&gt;this table is "alone"&lt;/P&gt;
&lt;P&gt;thanks&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 12:31:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773389#M245688</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-11T12:31:22Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773420#M245702</link>
      <description>&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; source ;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;length&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; project_name $ &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;9&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; num_client project_name $ project_amount date_load ;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;informat&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; date_load &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;ddmmyy10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;format&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; date_load &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;ddmmyy10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;280001 home 15000 01/04/2019&lt;/P&gt;
&lt;P&gt;280002 car 3000 01/05/2019&lt;/P&gt;
&lt;P&gt;280003 personnal 2250 30/06/2019&lt;/P&gt;
&lt;P&gt;280004 home 25000 31/07/2020&lt;/P&gt;
&lt;P&gt;280005 car 12000 21/01/2021&lt;/P&gt;
&lt;P&gt;280006 personnal 1500 20/02/2021&lt;/P&gt;
&lt;P&gt;280007 home 75500 12/04/2021&lt;/P&gt;
&lt;P&gt;280008 car 42000 27/05/2021&lt;/P&gt;
&lt;P&gt;280009 personnal 2000 05/09/2021&lt;/P&gt;
&lt;P&gt;280010 home 2000 10/10/2021&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;sorry,&lt;/P&gt;
&lt;P&gt;this is a new code with only one column "date_load"&lt;/P&gt;
&lt;P&gt;And my objectif is to detect the last (max) date_load of the target wich&amp;nbsp;named &amp;nbsp;"max_date_load_target"&lt;/P&gt;
&lt;P&gt;And then, I should extract from source only rows where &amp;nbsp;date_load is greater then" max_date_load_target"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;so, I would like to know the best (optimized) way to detecte the last (max) "date_load&amp;nbsp;target"&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Oct 2021 15:40:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773420#M245702</guid>
      <dc:creator>Nasser_DRMCP</dc:creator>
      <dc:date>2021-10-11T15:40:37Z</dc:date>
    </item>
    <item>
      <title>Re: Loading table. delta loading instead of full loading</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773480#M245726</link>
      <description>&lt;P&gt;So you only need&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql noprint;
select max(load_date) into :max_load
from target;
quit;

data target_new;
set
  target
  source (where=(load_date gt &amp;amp;max_load))
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 11 Oct 2021 20:56:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Loading-table-delta-loading-instead-of-full-loading/m-p/773480#M245726</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-10-11T20:56:25Z</dc:date>
    </item>
  </channel>
</rss>

