<?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: Count number of changes in variables over time in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432672#M27949</link>
    <description>&lt;P&gt;To note, post test data in the form of a datastep, follow this post if unsure:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Use the code window which is the {i} above the post are to post these things.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are two main ways to approach this.&amp;nbsp; The first is to stick with the model you have now for your data - to do this you would then employ arrays.&amp;nbsp; Array all the dated variables, then loop over that array turning on a flag when 1 is encountered and turning it off and adding 1 to entries when . or last, maybe something like:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  array dates jul17--dec17;
  onflag=0;
  entries=0;
  do i=1 to dim(dates);
    if dates{i}=1 and onflag=0 then onflag=1;
    if dates{i}=. and onflag=1 then do;
      onflag=0;
      entries=sum(entries,1);
    end;
    if i=dim(dates) and onflag=1 then sum(entries,1);
  end;
run;&lt;/PRE&gt;
&lt;P&gt;This will work, but as always, thinking in Excel terms, and having data transposed across the page is not by any means the best way to work with the data (or in fact from a resource or storage point of view).&amp;nbsp; Which leads onto the second method, normalising your data, so you have a layout like:&lt;/P&gt;
&lt;P&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp;DATE&amp;nbsp; &amp;nbsp;FLAG&lt;/P&gt;
&lt;P&gt;1111&amp;nbsp; Jul17&amp;nbsp; &amp;nbsp; .&lt;/P&gt;
&lt;P&gt;1111&amp;nbsp; Aug17&amp;nbsp; .&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This type of data is far simpler an easier to program with and can still create your Excel transposed output with a simple call to proc transpose.&amp;nbsp; You can also effectively shrink your data down using this method, in your given case Jul17 has an entry for 1111, even though it doesn't capture anything in the above, we can filter down and only keep the information we actually need:&lt;/P&gt;
&lt;P&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp;DATE&amp;nbsp; &amp;nbsp;FLAG&lt;/P&gt;
&lt;P&gt;1111&amp;nbsp; Sep17 1&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1111&amp;nbsp; Oct17&amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;In fact we can then go further than this and by a datastep with a by group select just the start and stop dates eliminating all the data in between to end with something like:&lt;BR /&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp;START&amp;nbsp; &amp;nbsp;END&lt;/P&gt;
&lt;P&gt;1111 Sep17&amp;nbsp; &amp;nbsp; Nov17&lt;/P&gt;
&lt;P&gt;1112 Jul17&amp;nbsp; &amp;nbsp; &amp;nbsp; Jul17&lt;/P&gt;
&lt;P&gt;1112 Sep17&amp;nbsp; &amp;nbsp; Oct17&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;Thus drastically shrinking the data, and making things like counting number of entries, days within entries and such like far simpler.&lt;/P&gt;</description>
    <pubDate>Wed, 31 Jan 2018 11:09:56 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2018-01-31T11:09:56Z</dc:date>
    <item>
      <title>Count number of changes in variables over time</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432666#M27946</link>
      <description>&lt;P&gt;Hi All&lt;/P&gt;&lt;P&gt;This is my first time posting so please excuse me if i have missed anything.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I use enterprise guide and i have a data set that looks like this below. With thousands of IDs. I want to add an extra variable(ENTRIES) that sums the number of times the ID entered over time. the dates go back many year and will continue going forwards.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help will be appreciated.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;KKS2&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Jul-17&lt;/TD&gt;&lt;TD&gt;Aug-17&lt;/TD&gt;&lt;TD&gt;Sep-17&lt;/TD&gt;&lt;TD&gt;Oct-17&lt;/TD&gt;&lt;TD&gt;Nov-17&lt;/TD&gt;&lt;TD&gt;Dec-17&lt;/TD&gt;&lt;TD&gt;Entries&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1111&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&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;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;(entered in Sept17)&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1112&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;(entered in July17 then Sept17 and then dec17)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1113&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&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;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;(entered in Nov17)&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1114&lt;/TD&gt;&lt;TD&gt;.&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;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;(entered in Aug17)&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1115&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&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;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1116&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1117&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1118&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1119&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1120&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1121&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2018 10:40:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432666#M27946</guid>
      <dc:creator>KKS2</dc:creator>
      <dc:date>2018-01-31T10:40:11Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of changes in variables over time</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432672#M27949</link>
      <description>&lt;P&gt;To note, post test data in the form of a datastep, follow this post if unsure:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Use the code window which is the {i} above the post are to post these things.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are two main ways to approach this.&amp;nbsp; The first is to stick with the model you have now for your data - to do this you would then employ arrays.&amp;nbsp; Array all the dated variables, then loop over that array turning on a flag when 1 is encountered and turning it off and adding 1 to entries when . or last, maybe something like:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  array dates jul17--dec17;
  onflag=0;
  entries=0;
  do i=1 to dim(dates);
    if dates{i}=1 and onflag=0 then onflag=1;
    if dates{i}=. and onflag=1 then do;
      onflag=0;
      entries=sum(entries,1);
    end;
    if i=dim(dates) and onflag=1 then sum(entries,1);
  end;
run;&lt;/PRE&gt;
&lt;P&gt;This will work, but as always, thinking in Excel terms, and having data transposed across the page is not by any means the best way to work with the data (or in fact from a resource or storage point of view).&amp;nbsp; Which leads onto the second method, normalising your data, so you have a layout like:&lt;/P&gt;
&lt;P&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp;DATE&amp;nbsp; &amp;nbsp;FLAG&lt;/P&gt;
&lt;P&gt;1111&amp;nbsp; Jul17&amp;nbsp; &amp;nbsp; .&lt;/P&gt;
&lt;P&gt;1111&amp;nbsp; Aug17&amp;nbsp; .&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This type of data is far simpler an easier to program with and can still create your Excel transposed output with a simple call to proc transpose.&amp;nbsp; You can also effectively shrink your data down using this method, in your given case Jul17 has an entry for 1111, even though it doesn't capture anything in the above, we can filter down and only keep the information we actually need:&lt;/P&gt;
&lt;P&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp;DATE&amp;nbsp; &amp;nbsp;FLAG&lt;/P&gt;
&lt;P&gt;1111&amp;nbsp; Sep17 1&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1111&amp;nbsp; Oct17&amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;In fact we can then go further than this and by a datastep with a by group select just the start and stop dates eliminating all the data in between to end with something like:&lt;BR /&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp;START&amp;nbsp; &amp;nbsp;END&lt;/P&gt;
&lt;P&gt;1111 Sep17&amp;nbsp; &amp;nbsp; Nov17&lt;/P&gt;
&lt;P&gt;1112 Jul17&amp;nbsp; &amp;nbsp; &amp;nbsp; Jul17&lt;/P&gt;
&lt;P&gt;1112 Sep17&amp;nbsp; &amp;nbsp; Oct17&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;Thus drastically shrinking the data, and making things like counting number of entries, days within entries and such like far simpler.&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2018 11:09:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432672#M27949</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-01-31T11:09:56Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of changes in variables over time</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432673#M27950</link>
      <description>&lt;P&gt;you can use sum statement,&lt;/P&gt;&lt;P&gt;example as below,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data t1;&lt;BR /&gt;input id jul_17 Aug_17 sep_17 oct_17 nov_17 dec_17;&lt;BR /&gt;datalines;&lt;BR /&gt;1111 . . 1 1 1 1&lt;BR /&gt;1112 . . . . . 1&lt;BR /&gt;1113 1 1 . 1 . .&lt;BR /&gt;1114 . . . . 1 1&lt;BR /&gt;1115 1 . . . 1 .&lt;BR /&gt;1116 1 . . . 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;data t2;&lt;BR /&gt;set t1;&lt;BR /&gt;ENTRIES= sum(of jul_17--Dec_17);&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;accept it if it works..&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2018 11:12:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432673#M27950</guid>
      <dc:creator>Gangi</dc:creator>
      <dc:date>2018-01-31T11:12:14Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of changes in variables over time</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432675#M27951</link>
      <description>&lt;P&gt;Thanks RW9. I will try this code.&lt;/P&gt;&lt;P&gt;i do have the data in this format:&lt;/P&gt;&lt;P&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp;DATE&amp;nbsp; &amp;nbsp;FLAG&lt;/P&gt;&lt;P&gt;1111&amp;nbsp; Sep17 1&amp;nbsp;&lt;/P&gt;&lt;P&gt;1111&amp;nbsp; Oct17&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so if there is a code for this format, that will also be helpful.&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2018 11:21:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432675#M27951</guid>
      <dc:creator>KKS2</dc:creator>
      <dc:date>2018-01-31T11:21:02Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of changes in variables over time</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432679#M27953</link>
      <description>&lt;P&gt;Simplest if you have that is:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  by id;
  if first.id or last.id then output;
  else if date ne intnx('month',lag(date),1) then output;
run;&lt;/PRE&gt;
&lt;P&gt;That should then give you any non-consecutive dates (note I haven't tested as not typing in the test data), i.e. distinct periods.&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2018 11:38:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432679#M27953</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-01-31T11:38:34Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of changes in variables over time</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432701#M27970</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data t1;
input id jul_17 Aug_17 sep_17 oct_17 nov_17 dec_17;
datalines;
1111 . . 1 1 1 1
1112 . . . . . 1
1113 1 1 . 1 . .
1114 . . . . 1 1
1115 1 . . . 1 .
1116 1 . . . 1 .
;
run;

data want;
 set t1;
 n=countw(cat(of jul_17--dec_17),'.');
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 31 Jan 2018 12:59:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432701#M27970</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-01-31T12:59:41Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of changes in variables over time</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432750#M27973</link>
      <description>&lt;P&gt;Thank you. this also works!&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2018 14:36:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Count-number-of-changes-in-variables-over-time/m-p/432750#M27973</guid>
      <dc:creator>KKS2</dc:creator>
      <dc:date>2018-01-31T14:36:11Z</dc:date>
    </item>
  </channel>
</rss>

