<?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: Counter variable that increases by condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548629#M152155</link>
    <description>&lt;P&gt;You are absolutely right&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;! Neither of the two conditions you mentioned is true for my real data. It's not sorted by TMP and TMP can be taking any integer value, sometimes the same one, for many observations. Thank you very much for your help! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 04 Apr 2019 19:44:20 GMT</pubDate>
    <dc:creator>Stats10</dc:creator>
    <dc:date>2019-04-04T19:44:20Z</dc:date>
    <item>
      <title>Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548557#M152112</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This should be easy but I can't get my head around it. I have the below data (first 2 columns) and I need the 3rd column. Essentially, I need to group the TMP values and increase the counter each time TMP becomes 1 for each account, and then do the same for all accounts.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Account&lt;/TD&gt;&lt;TD&gt;TMP&lt;/TD&gt;&lt;TD&gt;Col_Want&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&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;12345&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&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;56789&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data file1;&lt;BR /&gt;input Account TMP;&lt;BR /&gt;datalines;&lt;BR /&gt;12345 1&lt;BR /&gt;12345 2&lt;BR /&gt;12345 3&lt;BR /&gt;12345 4&lt;BR /&gt;12345 1&lt;BR /&gt;12345 2&lt;BR /&gt;12345 1&lt;BR /&gt;56789 1&lt;BR /&gt;56789 2&lt;BR /&gt;56789 3&lt;BR /&gt;56789 4&lt;BR /&gt;56789 5&lt;BR /&gt;56789 1&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2019 16:44:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548557#M152112</guid>
      <dc:creator>Stats10</dc:creator>
      <dc:date>2019-04-04T16:44:18Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548558#M152113</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
	set file1;
	by account;
	prev_tmp=lag(tmp);
	if first.account then col_want=1;
	if prev_tmp&amp;gt;tmp then col_want+1;
	drop prev_tmp;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 04 Apr 2019 16:48:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548558#M152113</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-04-04T16:48:17Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548561#M152116</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/269370"&gt;@Stats10&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using sum statement &lt;EM&gt;&lt;STRONG&gt;want+1&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input Account	TMP	;*Col_Want;
cards;
12345	1	1
12345	2	1
12345	3	1
12345	4	1
12345	1	2
12345	2	2
12345	1	3
56789	1	1
56789	2	1
56789	3	1
56789	4	1
56789	5	1
56789	1	2
;

data want;
set have;
by account;
if first.account then want=1;
else if tmp=1 then want+1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 04 Apr 2019 16:57:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548561#M152116</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-04-04T16:57:11Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548563#M152117</link>
      <description>&lt;P&gt;Thank you so much PaigeMiller! This is amazing! I spent so many hours on this &lt;span class="lia-unicode-emoji" title=":face_with_tongue:"&gt;😛&lt;/span&gt;&lt;BR /&gt;I had to modify your code slightly as it didn't work with more accounts. For example, if the data I had provided was:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data file1;&lt;BR /&gt;input Account TMP;&lt;BR /&gt;datalines;&lt;BR /&gt;12345 1&lt;BR /&gt;12345 2&lt;BR /&gt;12345 3&lt;BR /&gt;12345 4&lt;BR /&gt;12345 1&lt;BR /&gt;12345 2&lt;BR /&gt;12345 1&lt;BR /&gt;56789 1&lt;BR /&gt;56789 2&lt;BR /&gt;56789 3&lt;BR /&gt;56789 4&lt;BR /&gt;56789 5&lt;BR /&gt;56789 1&lt;BR /&gt;12367 1&lt;BR /&gt;23456 1&lt;BR /&gt;23456 2&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sort data=file1;&lt;BR /&gt;by account;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;your code would give 2 as the first value for the last group. So I amended it to do this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;set file1;&lt;BR /&gt;by account;&lt;BR /&gt;prev_tmp=lag(tmp);&lt;BR /&gt;if account~=lag(account) then prev_tmp=tmp;&lt;BR /&gt;if first.account then col_want=1;&lt;BR /&gt;if prev_tmp&amp;gt;tmp then col_want+1;&lt;BR /&gt;drop prev_tmp;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You've helped me so much! Thanks again!&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2019 17:01:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548563#M152117</guid>
      <dc:creator>Stats10</dc:creator>
      <dc:date>2019-04-04T17:01:12Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548564#M152118</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/269370"&gt;@Stats10&lt;/a&gt;&amp;nbsp; &amp;nbsp;It's cool that your amended code works. I really wonder whether you even need a lag. Well up to you.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2019 17:05:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548564#M152118</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-04-04T17:05:09Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548566#M152120</link>
      <description>Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;,&lt;BR /&gt;&lt;BR /&gt;thanks for your code. Although it works for the example I provided initially, it doesn't seem to work for my real data nor for the amended data example I posted above. But it's very good and simple. Thank you!</description>
      <pubDate>Thu, 04 Apr 2019 17:06:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548566#M152120</guid>
      <dc:creator>Stats10</dc:creator>
      <dc:date>2019-04-04T17:06:46Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548569#M152123</link>
      <description>&lt;P&gt;Can you post the expected output for the amended sample plz&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2019 17:08:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548569#M152123</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-04-04T17:08:25Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548573#M152125</link>
      <description>&lt;P&gt;Apologies&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;when I re-ran it for the amended example, your code worked:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Account&lt;/TD&gt;&lt;TD&gt;TMP&lt;/TD&gt;&lt;TD&gt;col_want&lt;/TD&gt;&lt;TD&gt;novinosrin&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12345&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12367&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23456&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23456&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56789&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, for some reason it doesn't work for my real data. But it worked for the sample, so thank you very much!&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2019 17:16:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548573#M152125</guid>
      <dc:creator>Stats10</dc:creator>
      <dc:date>2019-04-04T17:16:47Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548577#M152126</link>
      <description>&lt;P&gt;Ok, I am just wondering whether your sample former or after is a solid representative of your real. It's not that I am trying to prove a point against your code by any means, I am just really keen on simple solutions if possible.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The probable reasons could be&lt;/P&gt;
&lt;P&gt;1. Sort order: This assumes &lt;EM&gt;&lt;STRONG&gt;By account tmp&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;2. Tmp is assumed as it looks in the sample -continuous unit increment&lt;/P&gt;
&lt;P&gt;3.&amp;nbsp; If the above 2 is true, the code is very straight forward&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So if the sort order isn't what I see in your sample, that needs some adjustment by a &lt;STRONG&gt;proc sort&lt;/STRONG&gt; or&amp;nbsp; perhaps a &lt;STRONG&gt;notsorted&lt;/STRONG&gt; as deemed appropriate.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Nevertheless, I get the vibe it's trivial in this thread/exercise to dig in when you have a working solution. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2019 17:24:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548577#M152126</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-04-04T17:24:07Z</dc:date>
    </item>
    <item>
      <title>Re: Counter variable that increases by condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548629#M152155</link>
      <description>&lt;P&gt;You are absolutely right&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;! Neither of the two conditions you mentioned is true for my real data. It's not sorted by TMP and TMP can be taking any integer value, sometimes the same one, for many observations. Thank you very much for your help! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2019 19:44:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-variable-that-increases-by-condition/m-p/548629#M152155</guid>
      <dc:creator>Stats10</dc:creator>
      <dc:date>2019-04-04T19:44:20Z</dc:date>
    </item>
  </channel>
</rss>

