<?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 switching values based on id and date in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23419#M3881</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi rk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your expected output still confuse&amp;nbsp; :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;== Will computer treat these 2 as wrong order, ship before approval?&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;==&amp;nbsp; Will computer treat these 2 as wrong order,&amp;nbsp; ship before approval?&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your raw data structure is not well or orgnized.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Randy Dai&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Jun 2011 09:04:19 GMT</pubDate>
    <dc:creator>RD2</dc:creator>
    <dc:date>2011-06-30T09:04:19Z</dc:date>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23418#M3880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;id and dates are same for first three types...if it is not in proper order then we have to arrange&lt;BR /&gt;type in this process referral,approval,ship.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proper order...referral,approval,ship&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is sample data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10 &lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;output should be like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10 &lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10 &lt;/P&gt;&lt;P&gt;Can someone suggest me how to do this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;rk&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jun 2011 23:37:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23418#M3880</guid>
      <dc:creator>sasg</dc:creator>
      <dc:date>2011-06-29T23:37:25Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23419#M3881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi rk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your expected output still confuse&amp;nbsp; :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;== Will computer treat these 2 as wrong order, ship before approval?&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;==&amp;nbsp; Will computer treat these 2 as wrong order,&amp;nbsp; ship before approval?&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your raw data structure is not well or orgnized.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Randy Dai&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2011 09:04:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23419#M3881</guid>
      <dc:creator>RD2</dc:creator>
      <dc:date>2011-06-30T09:04:19Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23420#M3882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; may be this would help&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; data dummy;&lt;BR /&gt; input id type $ in_date date9. ;&lt;BR /&gt;cards;&lt;BR /&gt;1 approval 01OCT2010&lt;BR /&gt;1 referral 01OCT2010&lt;BR /&gt;1 ship 01OCT2010&lt;BR /&gt;1 approval 01OCT2010&lt;BR /&gt;1 ship 01OCT2010&lt;BR /&gt;2 ship 02OCT2010&lt;BR /&gt;2 referral 02OCT2010&lt;BR /&gt;2 approval 02OCT2010&lt;BR /&gt;2 ship 01OCT2010&lt;BR /&gt;2 referral 01OCT2010&lt;BR /&gt;2 approval 01OCT2010&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; data dummy;&lt;BR /&gt;set dummy;&lt;BR /&gt;if type = 'approval' then temp_data=2;&lt;BR /&gt;if type='referral' then temp_data=1;&lt;BR /&gt;if type='ship' then temp_data=3;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sort data=dummy out=dummy_sort (drop=temp_data);&lt;BR /&gt;by id in_date temp_data ;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2011 09:42:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23420#M3882</guid>
      <dc:creator>manojinpec</dc:creator>
      <dc:date>2011-06-30T09:42:09Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23421#M3883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks everybody.....it worked.&lt;/P&gt;&lt;P&gt;Randy Dai&lt;/P&gt;&lt;P&gt;I will answer u r question soon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2011 19:11:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23421#M3883</guid>
      <dc:creator>sasg</dc:creator>
      <dc:date>2011-06-30T19:11:45Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23422#M3884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If your date is different&amp;nbsp; for each group of "referral,approval,ship". then manjoli 's code is correct.&lt;/P&gt;&lt;P&gt;But if date is the same with this group and next group for the same id?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data dummy;
input id type $ in_date date9. ;
format in_date date9.;
cards;
1 approval 01OCT2010
1 referral 01OCT2010
1 ship 01OCT2010
1 approval 01OCT2010
1 ship 01OCT2010
2 ship 02OCT2010
2 referral 02OCT2010
2 approval 02OCT2010
2 ship 01OCT2010
2 referral 01OCT2010
2 approval 01OCT2010
;
run;


data dummy;
set dummy;
if id ne lag(id) then do; a=0;r=0;s=0;end;
if type = 'approval' then do; temp_data=2; a+1;count=a;end;
else if type='referral' then do;temp_data=1; r+1;count=r;end;
 else if type='ship' then do;temp_data=3; ; s+1;count=s;end;
drop&amp;nbsp; a r s;
run;
proc sort data=dummy;
 by id count temp_data;
run;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jul 2011 02:29:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23422#M3884</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2011-07-01T02:29:23Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23423#M3885</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Hi Ksharp,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I'm using your code..i'm having issue with scenario in bold.here for id 1,records for dates 3/10/10 are not flipping(for ship and approval) .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Can you pls help me on this scenario.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is sample data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;&lt;STRONG&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/10/10 &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/10/10&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;output data:&lt;/P&gt;&lt;P&gt;here is sample data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;&lt;STRONG&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/10/10 &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/10/10&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp; 2/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp; 1/10/10&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/10/10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;rk.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 07 Aug 2011 02:32:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23423#M3885</guid>
      <dc:creator>sasg</dc:creator>
      <dc:date>2011-08-07T02:32:33Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23424#M3886</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can't test the following code tonight, but try it and see if it solves your problem:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data dummy;&lt;/P&gt;&lt;P&gt;input id type $ in_date date9. ;&lt;/P&gt;&lt;P&gt;format in_date date9.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 approval 01OCT2010&lt;/P&gt;&lt;P&gt;1 referral 01OCT2010&lt;/P&gt;&lt;P&gt;1 ship 01OCT2010&lt;/P&gt;&lt;P&gt;1 approval 01OCT2010&lt;/P&gt;&lt;P&gt;1 ship 01OCT2010&lt;/P&gt;&lt;P&gt;2 ship 02OCT2010&lt;/P&gt;&lt;P&gt;2 referral 02OCT2010&lt;/P&gt;&lt;P&gt;2 approval 02OCT2010&lt;/P&gt;&lt;P&gt;2 ship 01OCT2010&lt;/P&gt;&lt;P&gt;2 referral 01OCT2010&lt;/P&gt;&lt;P&gt;2 approval 01OCT2010&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data dummy;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set dummy;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if id ne lag(id) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end&lt;/P&gt;&lt;P&gt;&amp;nbsp; if type='referral' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (1,3,5,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=1; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if type = 'approval' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (2,3,6,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if type='ship' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (4,5,6,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=3; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc sort data=dummy;&lt;/P&gt;&lt;P&gt; by id in_date counter temp_data;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 07 Aug 2011 04:27:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23424#M3886</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-08-07T04:27:56Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23425#M3887</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I had left off a semi-colon and didn't get rid of the check fields.&amp;nbsp; See if the following does what you want:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data dummy;&lt;/P&gt;&lt;P&gt;input id type $ in_date date9. ;&lt;/P&gt;&lt;P&gt;format in_date date9.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 approval 01OCT2010&lt;/P&gt;&lt;P&gt;1 referral 01OCT2010&lt;/P&gt;&lt;P&gt;1 ship 01OCT2010&lt;/P&gt;&lt;P&gt;1 approval 01OCT2010&lt;/P&gt;&lt;P&gt;1 ship 01OCT2010&lt;/P&gt;&lt;P&gt;2 ship 02OCT2010&lt;/P&gt;&lt;P&gt;2 referral 02OCT2010&lt;/P&gt;&lt;P&gt;2 approval 02OCT2010&lt;/P&gt;&lt;P&gt;2 ship 01OCT2010&lt;/P&gt;&lt;P&gt;2 referral 01OCT2010&lt;/P&gt;&lt;P&gt;2 approval 01OCT2010&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;data want (drop=count);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set dummy;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if id ne lag(id) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if type='referral' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (1,3,5,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if type = 'approval' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (2,3,6,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if type='ship' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (4,5,6,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc sort data=want out=want (drop=counter temp_data);&lt;/P&gt;&lt;P&gt;&amp;nbsp; by id in_date counter temp_data;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Aug 2011 03:55:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23425#M3887</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-08-08T03:55:04Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23426#M3888</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Hi art297,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Your solution worked......Thanks a lot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Rk.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Aug 2011 21:53:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23426#M3888</guid>
      <dc:creator>sasg</dc:creator>
      <dc:date>2011-08-08T21:53:53Z</dc:date>
    </item>
    <item>
      <title>Re: switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23427#M3889</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ... here's another idea.&amp;nbsp; Add an index to the data set.&amp;nbsp; Then, read the refererrals.&amp;nbsp; For each "referral", look first for an "approval" and then&lt;/P&gt;&lt;P&gt;a "ship" with the same ID and IN_DATE&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;data x;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;input id : $1. type : $8. in_date : date9. ;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;format in_date date9.;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;cards;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1 approval 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1 referral 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1 ship 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1 approval 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1 ship 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2 ship 02OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2 referral 02OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2 approval 02OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2 ship 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2 referral 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2 approval 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;proc datasets lib=work nolist;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;modify x;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;index create a=(id type in_date);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;quit;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;data xx;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;set x (where=(type eq 'referral'));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;do until (_error_);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; type = 'approval';&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; set x key=a;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; if ^ _error_ then output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; type = 'ship';&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; set x key=a;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; if ^ _error_ then output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;end;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;_error_ = 0;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;proc print data=xx;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp; type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in_date&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp;&amp;nbsp; 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp;&amp;nbsp; 02OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 02OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; referral&amp;nbsp;&amp;nbsp;&amp;nbsp; 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: 'courier new', courier;"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01OCT2010&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ps&amp;nbsp; As pointed out by KSharp, the posting marked "correct" does not actually work with the data set in the original posting since it has multiple "approvals" and "ships" within an ID and with the same IN_DATE.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Aug 2011 22:06:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23427#M3889</guid>
      <dc:creator>MikeZdeb</dc:creator>
      <dc:date>2011-08-08T22:06:06Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23428#M3890</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Hi art297,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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; &lt;/P&gt;&lt;P&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; I have another scenario below...in that scenario above logic is not working.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;id&amp;nbsp; date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type&lt;/P&gt;&lt;P&gt;1702950901 03/22/2010 Referral&lt;BR /&gt;&lt;STRONG&gt;1702950901 03/29/2010 Approval&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;1702950901 03/29/2010 Referral&lt;/STRONG&gt;&lt;BR /&gt;1702950901 03/30/2010 Ship&lt;BR /&gt;1702950901 05/19/2010 Ship&lt;BR /&gt;1702950901 08/02/2010 Ship&lt;BR /&gt;1702950901 08/31/2010 Ship&lt;BR /&gt;1702950901 09/20/2010 Ship&lt;BR /&gt;1702950901 10/18/2010 Ship&lt;BR /&gt;1702950901 11/15/2010 Ship&lt;BR /&gt;1702950901 12/13/2010 Ship&lt;BR /&gt;1702968901 05/18/2010 Referral&lt;BR /&gt;1702968901 06/04/2010 Approval&lt;BR /&gt;1702968901 06/22/2010 Referral&lt;BR /&gt;1702968901 06/29/2010 Ship&lt;BR /&gt;1702968901 08/23/2010 Ship&lt;BR /&gt;1702968901 09/28/2010 Ship&lt;BR /&gt;1702968901 10/20/2010 Ship&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please check that once.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;rk.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Aug 2011 18:03:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23428#M3890</guid>
      <dc:creator>sasg</dc:creator>
      <dc:date>2011-08-10T18:03:42Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23429#M3891</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;rk,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You brought two new factors into the equation: your types now start with a capital letter and in_date is now relevant.&amp;nbsp; Try the following modifications to the original code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data dummy;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat id $10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat in_date mmddyy10.;&lt;/P&gt;&lt;P&gt;input id in_date type $ ;&lt;/P&gt;&lt;P&gt;format in_date date9.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1702950901 03/22/2010 Referral&lt;/P&gt;&lt;P&gt;1702950901 03/29/2010 Approval&lt;/P&gt;&lt;P&gt;1702950901 03/29/2010 Referral&lt;/P&gt;&lt;P&gt;1702950901 03/30/2010 Ship&lt;/P&gt;&lt;P&gt;1702950901 05/19/2010 Ship&lt;/P&gt;&lt;P&gt;1702950901 08/02/2010 Ship&lt;/P&gt;&lt;P&gt;1702950901 08/31/2010 Ship&lt;/P&gt;&lt;P&gt;1702950901 09/20/2010 Ship&lt;/P&gt;&lt;P&gt;1702950901 10/18/2010 Ship&lt;/P&gt;&lt;P&gt;1702950901 11/15/2010 Ship&lt;/P&gt;&lt;P&gt;1702950901 12/13/2010 Ship&lt;/P&gt;&lt;P&gt;1702968901 05/18/2010 Referral&lt;/P&gt;&lt;P&gt;1702968901 06/04/2010 Approval&lt;/P&gt;&lt;P&gt;1702968901 06/22/2010 Referral&lt;/P&gt;&lt;P&gt;1702968901 06/29/2010 Ship&lt;/P&gt;&lt;P&gt;1702968901 08/23/2010 Ship&lt;/P&gt;&lt;P&gt;1702968901 09/28/2010 Ship&lt;/P&gt;&lt;P&gt;1702968901 10/20/2010 Ship&lt;/P&gt;&lt;P&gt; ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;data want (drop=count);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set dummy;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if id ne lag(id) or in_date ne lag(in_date) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if upcase(type)='REFERRAL' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (1,3,5,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if upcase(type) = 'APPROVAL' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (2,3,6,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if upcase(type)='SHIP' then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if count in (4,5,6,7) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_data=3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count+4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=want out=want (drop=counter temp_data);&lt;/P&gt;&lt;P&gt;&amp;nbsp; by id in_date counter temp_data;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Aug 2011 18:25:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23429#M3891</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-08-10T18:25:33Z</dc:date>
    </item>
    <item>
      <title>switching values based on id and date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23430#M3892</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oh Dear. Your question is complicated!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data dummy;
input id type $ in_date : date9. ;
format in_date date9.;
cards;
1 approval 01OCT2010
1 referral 01OCT2010
1 ship 01OCT2010
1 approval 01OCT2010
1 ship 01OCT2010
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10feb2010
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ship&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10mar2010
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; approval&amp;nbsp;&amp;nbsp;&amp;nbsp; 10mar2010
2 ship 02OCT2010
2 referral 02OCT2010
2 approval 02OCT2010
2 ship 01OCT2010
2 referral 01OCT2010
2 approval 01OCT2010
;
run;


data dummy;
set dummy;
if id ne lag(id) or in_date ne lag(in_date) then&amp;nbsp; _count+1; 
if id ne lag(id) then do; a=0;r=0;s=0;end;
if lowcase(type) = 'approval' then do; temp_data=2; a+1;count=a;end;
else if lowcase(type) ='referral' then do;temp_data=1; r+1;count=r;end;
 else if lowcase(type) ='ship' then do;temp_data=3; ; s+1;count=s;end;
drop&amp;nbsp; a r s;
run;
proc sort data=dummy;
 by id _count count temp_data;
run;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2011 07:25:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/switching-values-based-on-id-and-date/m-p/23430#M3892</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2011-08-11T07:25:24Z</dc:date>
    </item>
  </channel>
</rss>

