<?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 Check number of times a variable changes its value in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595452#M171308</link>
    <description>&lt;P&gt;Hi.. I have a dataset with 3 columns. The data is group by account ID and I want to see how many times, the variable "value" changes per account ID. I tried to use if first. and lag, but it always gives me value_change = 1 for the first record. Does anyone have a better idea to do this? Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;account&amp;nbsp; &amp;nbsp; var1_value&amp;nbsp; &amp;nbsp; value_change&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 10 Oct 2019 15:32:15 GMT</pubDate>
    <dc:creator>newboy1218</dc:creator>
    <dc:date>2019-10-10T15:32:15Z</dc:date>
    <item>
      <title>Check number of times a variable changes its value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595452#M171308</link>
      <description>&lt;P&gt;Hi.. I have a dataset with 3 columns. The data is group by account ID and I want to see how many times, the variable "value" changes per account ID. I tried to use if first. and lag, but it always gives me value_change = 1 for the first record. Does anyone have a better idea to do this? Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;account&amp;nbsp; &amp;nbsp; var1_value&amp;nbsp; &amp;nbsp; value_change&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Oct 2019 15:32:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595452#M171308</guid>
      <dc:creator>newboy1218</dc:creator>
      <dc:date>2019-10-10T15:32:15Z</dc:date>
    </item>
    <item>
      <title>Re: Check number of times a variable changes its value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595453#M171309</link>
      <description>&lt;P&gt;You're probably very close, however this should work&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    by account;
    lag_var1_value=lag(var1_value);
    if first.account then value_change=0;
    else value_change=(var1_value^=lag_var1_value);
    drop lag_var1_value;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Oct 2019 15:42:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595453#M171309</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-10-10T15:42:58Z</dc:date>
    </item>
    <item>
      <title>Re: Check number of times a variable changes its value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595456#M171312</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input account    var1_value;*    value_change;
cards;
1               1                    0
1               0                    1
1               0                    0
1               1                    1
2               0                    0
2               0                    0
2               0                    0
3               0                    0
3               1                    1
;

data want;
set have;
by account;
value_change=ifn(not first.account,var1_value ne lag(var1_value),0);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Oct 2019 15:41:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595456#M171312</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-10-10T15:41:18Z</dc:date>
    </item>
    <item>
      <title>Re: Check number of times a variable changes its value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595458#M171314</link>
      <description>&lt;P&gt;If you don't want to count the first value for an ID as a change then don't.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by id var1_value notsorted;
  value_change = first.var1_value and not first.id;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can also use LAG() to check for changes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by id ;
  value_change = (var1_value ne lag(var1_value)) and not first.id;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  value_change = (var1_value ne lag(var1_value)) and (id=lag(id));
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Oct 2019 15:47:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595458#M171314</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2019-10-10T15:47:38Z</dc:date>
    </item>
    <item>
      <title>Re: Check number of times a variable changes its value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595468#M171319</link>
      <description>Amazing. Thank you so much.</description>
      <pubDate>Thu, 10 Oct 2019 16:15:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595468#M171319</guid>
      <dc:creator>newboy1218</dc:creator>
      <dc:date>2019-10-10T16:15:53Z</dc:date>
    </item>
    <item>
      <title>Re: Check number of times a variable changes its value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595469#M171320</link>
      <description>Amazing. Thank you so much. This is a much cleaner.</description>
      <pubDate>Thu, 10 Oct 2019 16:16:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595469#M171320</guid>
      <dc:creator>newboy1218</dc:creator>
      <dc:date>2019-10-10T16:16:08Z</dc:date>
    </item>
    <item>
      <title>Re: Check number of times a variable changes its value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595471#M171322</link>
      <description>Amazing. Thank you so much. It is great to have a few options to solve this issue.</description>
      <pubDate>Thu, 10 Oct 2019 16:16:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Check-number-of-times-a-variable-changes-its-value/m-p/595471#M171322</guid>
      <dc:creator>newboy1218</dc:creator>
      <dc:date>2019-10-10T16:16:30Z</dc:date>
    </item>
  </channel>
</rss>

