<?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: Flagging ever late payment in time series data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109566#M258802</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Retain changes the stock behaviour in a SAS data step: namely that before each new record is read, all variables except ones like _N_ are set to missing.&amp;nbsp; So retain for the variable retains the value from the previous record, ie makes it permanent unless changed by the logic of the data step.&lt;/P&gt;&lt;P&gt;Lag () in my suggestion has a similar effect, but stores the previous value in another variable.&lt;/P&gt;&lt;P&gt;I used Lag instead of using the By ... notsorted&amp;nbsp; clause because I envisaged you adding the logic to your first data step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Richard&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 17 Apr 2013 01:57:50 GMT</pubDate>
    <dc:creator>RichardinOz</dc:creator>
    <dc:date>2013-04-17T01:57:50Z</dc:date>
    <item>
      <title>Flagging ever late payment in time series data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109562#M258798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear SAS Masters,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Iam a newbie using SAS, please help me to create flagging to some id who make late payment, once he late he flag forever, please kindly find the example below :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat dclrdt yymmdd8.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format dclrdt date9.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input idno&amp;nbsp; dclrdt flag;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070131&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070228&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070331&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070430&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070531&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070630&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070731&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070831&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070930&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071031&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071130&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071231&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20080131&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070131&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070228&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070331&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070430&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070531&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070630&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070731&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070831&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070930&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071031&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071130&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071231&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20080131&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From that data i want to flag after he late till forever so the data seem like below :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat dclrdt yymmdd8.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format dclrdt date9.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input idno&amp;nbsp; dclrdt flag everlate;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070131&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070228&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070331&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070430&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070531&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070630&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070731&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070831&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070930&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071031&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071130&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071231&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp; 20080131&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070131&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070228&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070331&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070430&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070531&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070630&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070731&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070831&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20070930&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071031&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071130&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20071231&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; 20080131&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Responcity&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Apr 2013 03:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109562#M258798</guid>
      <dc:creator>responcity</dc:creator>
      <dc:date>2013-04-16T03:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging ever late payment in time series data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109563#M258799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Add the following code to your datastep ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain everlate ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; previd = lag(idno) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idno NE previd&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then everlate = 0 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if flag = 1 then everlate = 1 ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;everlate will only be reset to 0 when a new idno is encountered&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Richard&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Apr 2013 05:15:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109563#M258799</guid>
      <dc:creator>RichardinOz</dc:creator>
      <dc:date>2013-04-16T05:15:25Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging ever late payment in time series data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109564#M258800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Similar idea as Richard, while using by variable to identify id changes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by idno notsorted;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain everlate;&lt;/P&gt;&lt;P&gt;&amp;nbsp; everlate=ifn(everlate=1,1,flag); &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; everlate=ifn(first.idno, flag, everlate);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Apr 2013 12:47:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109564#M258800</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-04-16T12:47:40Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging ever late payment in time series data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109565#M258801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You're all genius man, thanks for helping :smileygrin: both of above work very well,&lt;/P&gt;&lt;P&gt;but im still confuse of 'retain' what it is and when to use it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;responcity&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 01:31:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109565#M258801</guid>
      <dc:creator>responcity</dc:creator>
      <dc:date>2013-04-17T01:31:13Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging ever late payment in time series data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109566#M258802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Retain changes the stock behaviour in a SAS data step: namely that before each new record is read, all variables except ones like _N_ are set to missing.&amp;nbsp; So retain for the variable retains the value from the previous record, ie makes it permanent unless changed by the logic of the data step.&lt;/P&gt;&lt;P&gt;Lag () in my suggestion has a similar effect, but stores the previous value in another variable.&lt;/P&gt;&lt;P&gt;I used Lag instead of using the By ... notsorted&amp;nbsp; clause because I envisaged you adding the logic to your first data step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Richard&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 01:57:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109566#M258802</guid>
      <dc:creator>RichardinOz</dc:creator>
      <dc:date>2013-04-17T01:57:50Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging ever late payment in time series data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109567#M258803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Great,, Thanks Richard&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SOLVED :smileygrin:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Responcity&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Apr 2013 01:11:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-ever-late-payment-in-time-series-data/m-p/109567#M258803</guid>
      <dc:creator>responcity</dc:creator>
      <dc:date>2013-04-26T01:11:48Z</dc:date>
    </item>
  </channel>
</rss>

