<?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: Flag variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188995#M265965</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Guys -&amp;nbsp; This is exactly that I was looking for. Really appreciate for suggesting solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Naeem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 03 Mar 2014 14:35:21 GMT</pubDate>
    <dc:creator>stat_sas</dc:creator>
    <dc:date>2014-03-03T14:35:21Z</dc:date>
    <item>
      <title>Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188985#M265955</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to create a flag variable based on transaction date. If customer has bought something within 6 months of the last transaction date then it will be flagged as existing customer otherwise acquired customer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For a particular customer last trans_date is 2012-01-29&amp;nbsp; then I need to see sale within last 6 months of the trans_date to identify this customer as acquired or existing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for your suggestions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Naeem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2014 16:16:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188985#M265955</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-02-27T16:16:15Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188986#M265956</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use proc sql to group all sales by customer id then find the most recent purchase.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2014 16:22:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188986#M265956</guid>
      <dc:creator>jf</dc:creator>
      <dc:date>2014-02-27T16:22:50Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188987#M265957</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Several ways of doing it.&amp;nbsp; First you would need to merge the last_trans_date onto your current data.&amp;nbsp; Then you could go with INTNX - this function does intervals between time points.&amp;nbsp; So if current trans date &amp;lt; = last trans date + 6 months then Y else N.&lt;/P&gt;&lt;P&gt;Can run up some code tomorrow if still unclear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2014 16:23:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188987#M265957</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-02-27T16:23:40Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188988#M265958</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks jf and Rob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob - If you could please provide some code whenever you get a chance that would be a great help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Naeem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2014 16:35:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188988#M265958</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-02-27T16:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188989#M265959</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is some code (sorry, spacing seems a bit weird on here).&amp;nbsp; Have just done it quickly, so there is no checking done (i.e. if there are not previous transactions etc.) but it works.&amp;nbsp; There are other methods, such as datdiff if you can specify a number of days rather than months.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Create some test data */&lt;BR /&gt;data previous_transactions;&lt;BR /&gt;&amp;nbsp; attrib&amp;nbsp; cust_id format=8.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tran_date format=date9.;&lt;BR /&gt;&amp;nbsp; cust_id=1; tran_date='01mar13'd; output;&lt;BR /&gt;&amp;nbsp; cust_id=1; tran_date='06jan13'd; output;&lt;BR /&gt;&amp;nbsp; cust_id=1; tran_date='15may13'd; output;&lt;BR /&gt;&amp;nbsp; cust_id=2; tran_date='01mar13'd; output;&lt;BR /&gt;&amp;nbsp; cust_id=2; tran_date='03mar13'd; output;&lt;BR /&gt;run;&lt;BR /&gt;data new_transactions;&lt;BR /&gt;&amp;nbsp; attrib cust_id format=8.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tran_date format=date9.;&lt;BR /&gt;&amp;nbsp; cust_id=1; tran_date='30may13'd; output;&lt;BR /&gt;&amp;nbsp; cust_id=2; tran_date='10oct13'd; output;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;/* New table with flag. */&lt;BR /&gt;proc sql;&lt;BR /&gt;&amp;nbsp; create table new_transaction_with_flag as&lt;BR /&gt;&amp;nbsp; select&amp;nbsp; A.*,&lt;/P&gt;&lt;P&gt;/* If the maximum date from previous transactions + 6 months is after the date we are looking at then we know this is within 6 months */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case&amp;nbsp; when intnx('month',B.TRAN_DATE,6)&amp;gt;=A.TRAN_DATE then "Y"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else "N" end as FLAG&lt;BR /&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; WORK.NEW_TRANSACTIONS A&lt;BR /&gt;&amp;nbsp; /* Join on the maximum data from previous transactions */&lt;BR /&gt;&amp;nbsp; left join (&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&amp;nbsp; distinct&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CUST_ID,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX(TRAN_DATE) as TRAN_DATE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; WORK.PREVIOUS_TRANSACTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by CUST_ID&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) B&lt;BR /&gt;&amp;nbsp; on&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.CUST_ID=B.CUST_ID;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Feb 2014 09:20:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188989#M265959</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-02-28T09:20:32Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188990#M265960</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A couple of basic assumptions let a DATA step accomplish this fairly easily.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First, your dates have to be actual SAS dates.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Second, you have to be able to sort your data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So the full solution could be as easy as this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=have;&lt;/P&gt;&lt;P&gt;by cust_id tran_date;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;by cust_id;&lt;/P&gt;&lt;P&gt;previous_purchase = lag(tran_date);&lt;/P&gt;&lt;P&gt;if first.cust_id then new_customer_flag=1;&lt;/P&gt;&lt;P&gt;else if (tran_date - previous_purchase) &amp;lt; 183 then new_customer_flag=0;&lt;/P&gt;&lt;P&gt;else new_customer_flag=1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you don't like the 183-day cutoff, you can always use some of the more complex methods (such as INTNX) to define the 6-month window.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Feb 2014 14:17:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188990#M265960</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2014-02-28T14:17:52Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188991#M265961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks RW9 -&amp;nbsp; Everything is perfect but I am looking for trans_date which is within past 6 months from the new transaction date. I am not taking into account future transactions for this analysis. How can I modify suggested code for this one please?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Naeem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Feb 2014 21:30:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188991#M265961</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-02-28T21:30:50Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188992#M265962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Astounding,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for providing solution. Actually I've two different datasets where one dataset contains campaign data which was executed within a specific time period. My problem is to take trans_date from campaign data and compare this with most previous date from the bigger dataset that contains all past information regarding customers . If difference between two dates is within six months window then I need to flag customer as retention and if the difference is zero or greater than six months customer would be acquisition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Solution provided by RW9 is very close to what I was looking for but this is taking maximum date which is most recent transaction date for a particular customer. I know lag function is not going to work in sql but not sure how to tackle this problem with data step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestion about this will be highly appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Naeem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Feb 2014 23:52:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188992#M265962</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-02-28T23:52:30Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188993#M265963</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, this is one way, checking for the existence of a record where the old transaction date is between new transaction date - 6 months and new transaction date.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;&amp;nbsp; create table new_transaction_with_flag as&lt;BR /&gt;&amp;nbsp; select&amp;nbsp; A.*,&lt;/P&gt;&lt;P&gt;/* So if there is a record with a date between the new transaction - 6 months and new transaction&lt;BR /&gt;&amp;nbsp;&amp;nbsp; then flag it */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case&amp;nbsp; when exists(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&amp;nbsp; distinct THIS.CUST_ID &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; WORK.PREVIOUS_TRANSACTIONS THIS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&amp;nbsp;&amp;nbsp; THIS.CUST_ID=A.CUST_ID&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp; THIS.TRAN_DATE between intnx('month',A.TRAN_DATE,-6) and A.TRAN_DATE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) then "Y"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else "N" end as FLAG&lt;BR /&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; WORK.NEW_TRANSACTIONS A;&lt;BR /&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Mar 2014 08:55:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188993#M265963</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-03-03T08:55:21Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188994#M265964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK, just to make sure I understand the problem correctly ... it sounds like you only need one result per CUST_ID with the FLAG.&amp;nbsp; You don't actually need to flag each purchase, you only need to flag each CUST_ID.&amp;nbsp; If that's right, here's one way (assuming both data sets are sorted by CUST_ID and date):&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 purchases &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transaction (in=in2 rename=(transaction_date = purchase_date));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by CUST_ID PURCHASE_DATE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; prior_date = lag(purchase_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if in2 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if first.cust_id then new_customer_flag=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (purchase_date - prior_date) &amp;gt; 182 then new_customer_flag=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else new_customer_flag=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; keep cust_id new_customer_flag;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;I hope we're both trying to solve the same problem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Mar 2014 13:57:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188994#M265964</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2014-03-03T13:57:55Z</dc:date>
    </item>
    <item>
      <title>Re: Flag variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188995#M265965</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Guys -&amp;nbsp; This is exactly that I was looking for. Really appreciate for suggesting solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Naeem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Mar 2014 14:35:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-variable/m-p/188995#M265965</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-03-03T14:35:21Z</dc:date>
    </item>
  </channel>
</rss>

