<?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: Shift Counter Down by 1 in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909232#M358659</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set Distinct_Member;
by Member_ID startyear;
retain count count_shift;
if first.Member_ID
then do;
  count = 0;
  count_shift = 0;
end;
count + (Purchased_Fruit in ('Apples') and Quantity_Purchased not in ('None') and group not in
('Females'));
count +  (Purchased_Fruit not in ('Apples') or Quantity_Purchased in ('None') or group in
('Females'));
output;
count_shift = count;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The explicit OUTPUT statement prevents the implicit OUTPUT at the end of a DATA step iteration.&lt;/P&gt;</description>
    <pubDate>Thu, 21 Dec 2023 09:15:21 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2023-12-21T09:15:21Z</dc:date>
    <item>
      <title>Shift Counter Down by 1</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909172#M358644</link>
      <description>&lt;P&gt;I am having an issue with shifting a counter Column down in SAS by One as it wont meet my conditions.&lt;/P&gt;&lt;P&gt;data Distinct_Member1;&lt;/P&gt;&lt;PRE&gt;set Distinct_Member;
by Member_ID startyear;
retain Count 0;
if first.Member_ID then Count = 0;
if (Purchased_Fruit in ('Apples') and Quantity_Purchased not in ('None') and group not in
('Females')) then Count = Count + 1;
if (Purchased_Fruit not in ('Apples') OR Quantity_Purchased in ('None') OR group in
('Females')) then Count = Count + 1
run;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the code for the original Counter but now I want to Shift the Counter by 1 down as below&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Member_ID&lt;/TD&gt;&lt;TD&gt;Purchased_Fruit&lt;/TD&gt;&lt;TD&gt;Group&lt;/TD&gt;&lt;TD&gt;Count&lt;/TD&gt;&lt;TD&gt;Count_Shift&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Bananas&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Bananas&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;Pears&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;Apples&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;Oranges&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried a combination of this (below) and lag functions however I never seem to have the desired result. Any help or direction with how to achieve the Count_Shift column is appreciated! Thank you.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data Distinct_Member2;
set Distinct_Member1;
by Member_ID;

retain Count_Shift 0; if first.Member_ID then Count_Shift = 0;
else if Count &amp;gt;0 then Count_Shift = Count - 1;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2023 01:07:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909172#M358644</guid>
      <dc:creator>sofia3</dc:creator>
      <dc:date>2023-12-21T01:07:08Z</dc:date>
    </item>
    <item>
      <title>Re: Shift Counter Down by 1</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909179#M358646</link>
      <description>&lt;P&gt;I don't understand what "shift counter down by 1" means.&lt;/P&gt;
&lt;P&gt;Do you mean subtract one from a variable?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  shift_counter=counter-1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Do you mean making a new count only starting from 0 instead of one?&amp;nbsp; Why not just change the initial value?&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2023 01:33:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909179#M358646</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2023-12-21T01:33:20Z</dc:date>
    </item>
    <item>
      <title>Re: Shift Counter Down by 1</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909202#M358648</link>
      <description>&lt;P&gt;Why is count_shift in below highlighted example Zero and not Three?&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Patrick_0-1703126098020.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/91923iD5F0BC45557B0E56/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Patrick_0-1703126098020.png" alt="Patrick_0-1703126098020.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does shift just mean "count value from previous row?" or some other logic?&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2023 02:38:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909202#M358648</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2023-12-21T02:38:01Z</dc:date>
    </item>
    <item>
      <title>Re: Shift Counter Down by 1</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909204#M358649</link>
      <description>&lt;P&gt;The reason is that it is not 3 is because it is a new Member_ID, and as such it restarts. I am attempting to get shift counter as it would allow me to calculate probability and expectancy for this group of people.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2023 02:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909204#M358649</guid>
      <dc:creator>sofia3</dc:creator>
      <dc:date>2023-12-21T02:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: Shift Counter Down by 1</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909232#M358659</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set Distinct_Member;
by Member_ID startyear;
retain count count_shift;
if first.Member_ID
then do;
  count = 0;
  count_shift = 0;
end;
count + (Purchased_Fruit in ('Apples') and Quantity_Purchased not in ('None') and group not in
('Females'));
count +  (Purchased_Fruit not in ('Apples') or Quantity_Purchased in ('None') or group in
('Females'));
output;
count_shift = count;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The explicit OUTPUT statement prevents the implicit OUTPUT at the end of a DATA step iteration.&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2023 09:15:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909232#M358659</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2023-12-21T09:15:21Z</dc:date>
    </item>
    <item>
      <title>Re: Shift Counter Down by 1</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909423#M358698</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/460858"&gt;@sofia3&lt;/a&gt;&amp;nbsp;Is the logic you're asking for as simple as below?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile datalines dsd truncover;
  input Member_ID Purchased_Fruit $ Group $ Count Count_Shift;
  datalines;
1,Apples,Female,1,0
1,Apples,Female,2,1
1,Apples,Female,3,2
2,Apples,Female,1,0
2,Apples,Female,2,1
2,Bananas,Female,0,2
2,Bananas,Female,0,0
2,Apples,Female,1,0
2,Apples,Female,2,1
2,Apples,Female,3,2
3,Apples,Male,0,0
4,Pears,Female,0,0
4,Apples,Female,1,0
4,Oranges,Female,0,1
;

data want;
  set have;
  by Member_ID;
  Count_Shift_2= lag(count);
  if first.member_id then Count_Shift_2=0;
  comp_flg= count_shift_2=count_shift;
run;

proc print data=want;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Patrick_0-1703209107129.png" style="width: 596px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/92015iD1895A9F2914FEB3/image-dimensions/596x354?v=v2" width="596" height="354" role="button" title="Patrick_0-1703209107129.png" alt="Patrick_0-1703209107129.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Dec 2023 01:39:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Shift-Counter-Down-by-1/m-p/909423#M358698</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2023-12-22T01:39:50Z</dc:date>
    </item>
  </channel>
</rss>

