<?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: Ranking my data with the first sales date for each customer in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Ranking-my-data-with-the-first-sales-date-for-each-customer/m-p/845501#M41744</link>
    <description>&lt;UL&gt;
&lt;LI&gt;Sort data by customer name and date&lt;/LI&gt;
&lt;LI&gt;Use BY &amp;amp; Retain to store the first purchase date&lt;/LI&gt;
&lt;LI&gt;Use INTCK to calculate the difference between the sale date and the first purchase date&lt;/LI&gt;
&lt;/UL&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data temp;
input cust_name $ sales_id $ sales_date date9. sales_amount;
format sales_date date9.;
cards;
tom abc 07mar2019 120
tom def 25nov2019 155
tom ghi 02feb2020 110
tom jkl 07mar2020 165
tom mno 16apr2020 185
tom pqr 18oct2020 100
tom stu 05jan2021 55
tom vwx 19mar2021 67
john sdf 25jun2019 255
john vgh 05feb2020 122
john hui 15jul2020 333
john bhj 08sep2020 256
john njd 28jun2021 128
lee bhg 18oct2020 556
lee ggr 06Nov2020 546
lee njj 17oct2021 126
lee juy 20oct2021 512
lee aer 25oct2021 255
lee njk 18oct2022 596
;
run;

proc sort data=temp;
by cust_name sales_date;
run;

data want;
set temp;
by cust_name;
retain first_purchase;
if first.cust_name then first_purchase = sales_date;
year_of_purchase = intck('year', first_purchase, sales_date, 'C') + 1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/366820"&gt;@_el_doredo&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello Experts,&lt;/P&gt;
&lt;P&gt;I have to rank my data based on their first purchase date. If a customer purchased on 05MARCH2020 means all the observation between 05MARCH2020 and 04MARCH2021 considered as 1(1st Year). Then all the observations between 05MARCH2021 and 04MARCH2022 considered as 2(2nd Year). We need this for each customer. As first purchase date will change for all customer. Please help me with this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is my input data&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data temp;&lt;BR /&gt;input cust_name $ sales_id $ sales_date date9. sales_amount;&lt;BR /&gt;format sales_date date9.;&lt;BR /&gt;cards;&lt;BR /&gt;tom abc 07mar2019 120&lt;BR /&gt;tom def 25nov2019 155&lt;BR /&gt;tom ghi 02feb2020 110&lt;BR /&gt;tom jkl 07mar2020 165&lt;BR /&gt;tom mno 16apr2020 185&lt;BR /&gt;tom pqr 18oct2020 100&lt;BR /&gt;tom stu 05jan2021 55&lt;BR /&gt;tom vwx 19mar2021 67&lt;BR /&gt;john sdf 25jun2019 255&lt;BR /&gt;john vgh 05feb2020 122&lt;BR /&gt;john hui 15jul2020 333&lt;BR /&gt;john bhj 08sep2020 256&lt;BR /&gt;john njd 28jun2021 128&lt;BR /&gt;lee bhg 18oct2020 556&lt;BR /&gt;lee ggr 06Nov2020 546&lt;BR /&gt;lee njj 17oct2021 126&lt;BR /&gt;lee juy 20oct2021 512&lt;BR /&gt;lee aer 25oct2021 255&lt;BR /&gt;lee njk 18oct2022 596&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want my output like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE class="table lia-align-center" style="border-spacing: 0;" aria-label="Data Set WORK.TEMP1"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="header" scope="col"&gt;cust_name&lt;/TH&gt;
&lt;TH class="header" scope="col"&gt;sales_id&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;sales_date&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;sales_amount&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;rank&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;abc&lt;/TD&gt;
&lt;TD class="r data"&gt;07MAR2019&lt;/TD&gt;
&lt;TD class="r data"&gt;120&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;def&lt;/TD&gt;
&lt;TD class="r data"&gt;25NOV2019&lt;/TD&gt;
&lt;TD class="r data"&gt;155&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;ghi&lt;/TD&gt;
&lt;TD class="r data"&gt;02FEB2020&lt;/TD&gt;
&lt;TD class="r data"&gt;110&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;jkl&lt;/TD&gt;
&lt;TD class="r data"&gt;07MAR2020&lt;/TD&gt;
&lt;TD class="r data"&gt;165&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;mno&lt;/TD&gt;
&lt;TD class="r data"&gt;16APR2020&lt;/TD&gt;
&lt;TD class="r data"&gt;185&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;pqr&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2020&lt;/TD&gt;
&lt;TD class="r data"&gt;100&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;stu&lt;/TD&gt;
&lt;TD class="r data"&gt;05JAN2021&lt;/TD&gt;
&lt;TD class="r data"&gt;55&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;vwx&lt;/TD&gt;
&lt;TD class="r data"&gt;19MAR2021&lt;/TD&gt;
&lt;TD class="r data"&gt;67&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;sdf&lt;/TD&gt;
&lt;TD class="r data"&gt;25JUN2019&lt;/TD&gt;
&lt;TD class="r data"&gt;255&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;vgh&lt;/TD&gt;
&lt;TD class="r data"&gt;05FEB2020&lt;/TD&gt;
&lt;TD class="r data"&gt;122&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;hui&lt;/TD&gt;
&lt;TD class="r data"&gt;15JUL2020&lt;/TD&gt;
&lt;TD class="r data"&gt;333&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;bhj&lt;/TD&gt;
&lt;TD class="r data"&gt;08SEP2020&lt;/TD&gt;
&lt;TD class="r data"&gt;256&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;njd&lt;/TD&gt;
&lt;TD class="r data"&gt;28JUN2021&lt;/TD&gt;
&lt;TD class="r data"&gt;128&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;bhg&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2020&lt;/TD&gt;
&lt;TD class="r data"&gt;556&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;ggr&lt;/TD&gt;
&lt;TD class="r data"&gt;06NOV2020&lt;/TD&gt;
&lt;TD class="r data"&gt;546&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;njj&lt;/TD&gt;
&lt;TD class="r data"&gt;17OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;126&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;juy&lt;/TD&gt;
&lt;TD class="r data"&gt;20OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;512&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;aer&lt;/TD&gt;
&lt;TD class="r data"&gt;25OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;255&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;njk&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2022&lt;/TD&gt;
&lt;TD class="r data"&gt;596&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in Advance&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 21 Nov 2022 16:54:11 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2022-11-21T16:54:11Z</dc:date>
    <item>
      <title>Ranking my data with the first sales date for each customer</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Ranking-my-data-with-the-first-sales-date-for-each-customer/m-p/845498#M41743</link>
      <description>&lt;P&gt;Hello Experts,&lt;/P&gt;
&lt;P&gt;I have to rank my data based on their first purchase date. If a customer purchased on 05MARCH2020 means all the observation between 05MARCH2020 and 04MARCH2021 considered as 1(1st Year). Then all the observations between 05MARCH2021 and 04MARCH2022 considered as 2(2nd Year). We need this for each customer. As first purchase date will change for all customer. Please help me with this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is my input data&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data temp;&lt;BR /&gt;input cust_name $ sales_id $ sales_date date9. sales_amount;&lt;BR /&gt;format sales_date date9.;&lt;BR /&gt;cards;&lt;BR /&gt;tom abc 07mar2019 120&lt;BR /&gt;tom def 25nov2019 155&lt;BR /&gt;tom ghi 02feb2020 110&lt;BR /&gt;tom jkl 07mar2020 165&lt;BR /&gt;tom mno 16apr2020 185&lt;BR /&gt;tom pqr 18oct2020 100&lt;BR /&gt;tom stu 05jan2021 55&lt;BR /&gt;tom vwx 19mar2021 67&lt;BR /&gt;john sdf 25jun2019 255&lt;BR /&gt;john vgh 05feb2020 122&lt;BR /&gt;john hui 15jul2020 333&lt;BR /&gt;john bhj 08sep2020 256&lt;BR /&gt;john njd 28jun2021 128&lt;BR /&gt;lee bhg 18oct2020 556&lt;BR /&gt;lee ggr 06Nov2020 546&lt;BR /&gt;lee njj 17oct2021 126&lt;BR /&gt;lee juy 20oct2021 512&lt;BR /&gt;lee aer 25oct2021 255&lt;BR /&gt;lee njk 18oct2022 596&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want my output like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE class="table lia-align-center" style="border-spacing: 0;" aria-label="Data Set WORK.TEMP1"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="header" scope="col"&gt;cust_name&lt;/TH&gt;
&lt;TH class="header" scope="col"&gt;sales_id&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;sales_date&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;sales_amount&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;rank&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;abc&lt;/TD&gt;
&lt;TD class="r data"&gt;07MAR2019&lt;/TD&gt;
&lt;TD class="r data"&gt;120&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;def&lt;/TD&gt;
&lt;TD class="r data"&gt;25NOV2019&lt;/TD&gt;
&lt;TD class="r data"&gt;155&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;ghi&lt;/TD&gt;
&lt;TD class="r data"&gt;02FEB2020&lt;/TD&gt;
&lt;TD class="r data"&gt;110&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;jkl&lt;/TD&gt;
&lt;TD class="r data"&gt;07MAR2020&lt;/TD&gt;
&lt;TD class="r data"&gt;165&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;mno&lt;/TD&gt;
&lt;TD class="r data"&gt;16APR2020&lt;/TD&gt;
&lt;TD class="r data"&gt;185&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;pqr&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2020&lt;/TD&gt;
&lt;TD class="r data"&gt;100&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;stu&lt;/TD&gt;
&lt;TD class="r data"&gt;05JAN2021&lt;/TD&gt;
&lt;TD class="r data"&gt;55&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;vwx&lt;/TD&gt;
&lt;TD class="r data"&gt;19MAR2021&lt;/TD&gt;
&lt;TD class="r data"&gt;67&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;sdf&lt;/TD&gt;
&lt;TD class="r data"&gt;25JUN2019&lt;/TD&gt;
&lt;TD class="r data"&gt;255&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;vgh&lt;/TD&gt;
&lt;TD class="r data"&gt;05FEB2020&lt;/TD&gt;
&lt;TD class="r data"&gt;122&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;hui&lt;/TD&gt;
&lt;TD class="r data"&gt;15JUL2020&lt;/TD&gt;
&lt;TD class="r data"&gt;333&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;bhj&lt;/TD&gt;
&lt;TD class="r data"&gt;08SEP2020&lt;/TD&gt;
&lt;TD class="r data"&gt;256&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;njd&lt;/TD&gt;
&lt;TD class="r data"&gt;28JUN2021&lt;/TD&gt;
&lt;TD class="r data"&gt;128&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;bhg&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2020&lt;/TD&gt;
&lt;TD class="r data"&gt;556&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;ggr&lt;/TD&gt;
&lt;TD class="r data"&gt;06NOV2020&lt;/TD&gt;
&lt;TD class="r data"&gt;546&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;njj&lt;/TD&gt;
&lt;TD class="r data"&gt;17OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;126&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;juy&lt;/TD&gt;
&lt;TD class="r data"&gt;20OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;512&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;aer&lt;/TD&gt;
&lt;TD class="r data"&gt;25OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;255&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;njk&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2022&lt;/TD&gt;
&lt;TD class="r data"&gt;596&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in Advance&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 16:28:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Ranking-my-data-with-the-first-sales-date-for-each-customer/m-p/845498#M41743</guid>
      <dc:creator>_el_doredo</dc:creator>
      <dc:date>2022-11-21T16:28:24Z</dc:date>
    </item>
    <item>
      <title>Re: Ranking my data with the first sales date for each customer</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Ranking-my-data-with-the-first-sales-date-for-each-customer/m-p/845501#M41744</link>
      <description>&lt;UL&gt;
&lt;LI&gt;Sort data by customer name and date&lt;/LI&gt;
&lt;LI&gt;Use BY &amp;amp; Retain to store the first purchase date&lt;/LI&gt;
&lt;LI&gt;Use INTCK to calculate the difference between the sale date and the first purchase date&lt;/LI&gt;
&lt;/UL&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data temp;
input cust_name $ sales_id $ sales_date date9. sales_amount;
format sales_date date9.;
cards;
tom abc 07mar2019 120
tom def 25nov2019 155
tom ghi 02feb2020 110
tom jkl 07mar2020 165
tom mno 16apr2020 185
tom pqr 18oct2020 100
tom stu 05jan2021 55
tom vwx 19mar2021 67
john sdf 25jun2019 255
john vgh 05feb2020 122
john hui 15jul2020 333
john bhj 08sep2020 256
john njd 28jun2021 128
lee bhg 18oct2020 556
lee ggr 06Nov2020 546
lee njj 17oct2021 126
lee juy 20oct2021 512
lee aer 25oct2021 255
lee njk 18oct2022 596
;
run;

proc sort data=temp;
by cust_name sales_date;
run;

data want;
set temp;
by cust_name;
retain first_purchase;
if first.cust_name then first_purchase = sales_date;
year_of_purchase = intck('year', first_purchase, sales_date, 'C') + 1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/366820"&gt;@_el_doredo&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello Experts,&lt;/P&gt;
&lt;P&gt;I have to rank my data based on their first purchase date. If a customer purchased on 05MARCH2020 means all the observation between 05MARCH2020 and 04MARCH2021 considered as 1(1st Year). Then all the observations between 05MARCH2021 and 04MARCH2022 considered as 2(2nd Year). We need this for each customer. As first purchase date will change for all customer. Please help me with this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is my input data&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data temp;&lt;BR /&gt;input cust_name $ sales_id $ sales_date date9. sales_amount;&lt;BR /&gt;format sales_date date9.;&lt;BR /&gt;cards;&lt;BR /&gt;tom abc 07mar2019 120&lt;BR /&gt;tom def 25nov2019 155&lt;BR /&gt;tom ghi 02feb2020 110&lt;BR /&gt;tom jkl 07mar2020 165&lt;BR /&gt;tom mno 16apr2020 185&lt;BR /&gt;tom pqr 18oct2020 100&lt;BR /&gt;tom stu 05jan2021 55&lt;BR /&gt;tom vwx 19mar2021 67&lt;BR /&gt;john sdf 25jun2019 255&lt;BR /&gt;john vgh 05feb2020 122&lt;BR /&gt;john hui 15jul2020 333&lt;BR /&gt;john bhj 08sep2020 256&lt;BR /&gt;john njd 28jun2021 128&lt;BR /&gt;lee bhg 18oct2020 556&lt;BR /&gt;lee ggr 06Nov2020 546&lt;BR /&gt;lee njj 17oct2021 126&lt;BR /&gt;lee juy 20oct2021 512&lt;BR /&gt;lee aer 25oct2021 255&lt;BR /&gt;lee njk 18oct2022 596&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want my output like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE class="table lia-align-center" style="border-spacing: 0;" aria-label="Data Set WORK.TEMP1"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="header" scope="col"&gt;cust_name&lt;/TH&gt;
&lt;TH class="header" scope="col"&gt;sales_id&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;sales_date&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;sales_amount&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;rank&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;abc&lt;/TD&gt;
&lt;TD class="r data"&gt;07MAR2019&lt;/TD&gt;
&lt;TD class="r data"&gt;120&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;def&lt;/TD&gt;
&lt;TD class="r data"&gt;25NOV2019&lt;/TD&gt;
&lt;TD class="r data"&gt;155&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;ghi&lt;/TD&gt;
&lt;TD class="r data"&gt;02FEB2020&lt;/TD&gt;
&lt;TD class="r data"&gt;110&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;jkl&lt;/TD&gt;
&lt;TD class="r data"&gt;07MAR2020&lt;/TD&gt;
&lt;TD class="r data"&gt;165&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;mno&lt;/TD&gt;
&lt;TD class="r data"&gt;16APR2020&lt;/TD&gt;
&lt;TD class="r data"&gt;185&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;pqr&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2020&lt;/TD&gt;
&lt;TD class="r data"&gt;100&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;stu&lt;/TD&gt;
&lt;TD class="r data"&gt;05JAN2021&lt;/TD&gt;
&lt;TD class="r data"&gt;55&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;tom&lt;/TD&gt;
&lt;TD class="data"&gt;vwx&lt;/TD&gt;
&lt;TD class="r data"&gt;19MAR2021&lt;/TD&gt;
&lt;TD class="r data"&gt;67&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;sdf&lt;/TD&gt;
&lt;TD class="r data"&gt;25JUN2019&lt;/TD&gt;
&lt;TD class="r data"&gt;255&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;vgh&lt;/TD&gt;
&lt;TD class="r data"&gt;05FEB2020&lt;/TD&gt;
&lt;TD class="r data"&gt;122&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;hui&lt;/TD&gt;
&lt;TD class="r data"&gt;15JUL2020&lt;/TD&gt;
&lt;TD class="r data"&gt;333&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;bhj&lt;/TD&gt;
&lt;TD class="r data"&gt;08SEP2020&lt;/TD&gt;
&lt;TD class="r data"&gt;256&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;john&lt;/TD&gt;
&lt;TD class="data"&gt;njd&lt;/TD&gt;
&lt;TD class="r data"&gt;28JUN2021&lt;/TD&gt;
&lt;TD class="r data"&gt;128&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;bhg&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2020&lt;/TD&gt;
&lt;TD class="r data"&gt;556&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;ggr&lt;/TD&gt;
&lt;TD class="r data"&gt;06NOV2020&lt;/TD&gt;
&lt;TD class="r data"&gt;546&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;njj&lt;/TD&gt;
&lt;TD class="r data"&gt;17OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;126&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;juy&lt;/TD&gt;
&lt;TD class="r data"&gt;20OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;512&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;aer&lt;/TD&gt;
&lt;TD class="r data"&gt;25OCT2021&lt;/TD&gt;
&lt;TD class="r data"&gt;255&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;lee&lt;/TD&gt;
&lt;TD class="data"&gt;njk&lt;/TD&gt;
&lt;TD class="r data"&gt;18OCT2022&lt;/TD&gt;
&lt;TD class="r data"&gt;596&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in Advance&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 16:54:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Ranking-my-data-with-the-first-sales-date-for-each-customer/m-p/845501#M41744</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2022-11-21T16:54:11Z</dc:date>
    </item>
  </channel>
</rss>

