<?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: Create new variable based off of previous values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505092#M135231</link>
    <description>&lt;P&gt;It was just an example of times. This isn't my actual data, though it is very similar.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I just gave Alfred as a sample.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 17 Oct 2018 13:58:09 GMT</pubDate>
    <dc:creator>lalaktgrau</dc:creator>
    <dc:date>2018-10-17T13:58:09Z</dc:date>
    <item>
      <title>Create new variable based off of previous values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/504957#M135203</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;I'd like to create a variable that =1 when:&lt;BR /&gt;moving starts (first instance of moving=1) and continues being 1 until disease has continued for 3 minutes.Then, it becomes zero again.&lt;BR /&gt;Therefore, it only captures the onset of moving and the first 3 minutes of disease.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data WORK.CLASS;
infile datalines truncover;
input Name:$8. moving disease datetime;
informat datetime datetime20.;
format datetime datetime20.;
datalines;&lt;BR /&gt;Alfred 0 0 04MAR14:23:55:00
Alfred 0 0 04MAR14:23:56:00
Alfred 1 0 04MAR14:23:57:00
Alfred 1 0 04MAR14:23:58:00
Alfred 1 0 04MAR14:23:59:00
Alfred 1 1 05MAR14:00:00:00
Alfred 1 1 05MAR14:00:01:00
Alfred 1 1 05MAR14:00:02:00
Alfred 1 1 05MAR14:00:03:00
Alfred 1 1 05MAR14:00:04:00
mary 0 0 04MAR14:23:55:00
mary 0 0 04MAR14:23:56:00
mary 0 0 04MAR14:23:57:00
mary 0 0 04MAR14:23:58:00
mary 0 0 04MAR14:23:59:00
mary 1 0 05MAR14:00:00:00
mary 1 1 05MAR14:00:01:00
mary 1 1 05MAR14:00:02:00
mary 1 1 05MAR14:00:03:00
mary 1 1 05MAR14:00:04:00;

So if the variable was created properly, it would look like this:

Alfred 0 0 04MAR14:23:55:00 0 
Alfred 0 0 04MAR14:23:56:00 0 
Alfred 1 0 04MAR14:23:57:00 1 
Alfred 1 0 04MAR14:23:58:00 1 
Alfred 1 0 04MAR14:23:59:00 1 
Alfred 1 1 04MAR14:00:00:00 1 
Alfred 1 1 04MAR14:01:01:00 1 
Alfred 1 1 04MAR14:01:02:00 1 
Alfred 1 1 04MAR14:01:03:00 0 
Alfred 1 1 04MAR14:01:04:00 0&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Oct 2018 14:59:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/504957#M135203</guid>
      <dc:creator>lalaktgrau</dc:creator>
      <dc:date>2018-10-18T14:59:21Z</dc:date>
    </item>
    <item>
      <title>Re: Create new variable based off of previous values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/504965#M135207</link>
      <description>&lt;P&gt;1.Why is everything 04MAR14 even after midnight?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2.Why is Mary excluded when it matches&lt;SPAN&gt;&amp;nbsp;(&lt;EM&gt;first instance of moving=1) and continues being 1 until disease has continued for 3 minutes&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Oct 2018 05:04:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/504965#M135207</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-10-17T05:04:16Z</dc:date>
    </item>
    <item>
      <title>Re: Create new variable based off of previous values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505092#M135231</link>
      <description>&lt;P&gt;It was just an example of times. This isn't my actual data, though it is very similar.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I just gave Alfred as a sample.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Oct 2018 13:58:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505092#M135231</guid>
      <dc:creator>lalaktgrau</dc:creator>
      <dc:date>2018-10-17T13:58:09Z</dc:date>
    </item>
    <item>
      <title>Re: Create new variable based off of previous values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505113#M135237</link>
      <description>&lt;P&gt;The sample may be synthetic, which is fine, but it doesn't even follow your description.&amp;nbsp; Specifically, it is not in chronological order.&amp;nbsp; This does not help us help you.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Oct 2018 14:39:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505113#M135237</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-10-17T14:39:10Z</dc:date>
    </item>
    <item>
      <title>Re: Create new variable based off of previous values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505121#M135241</link>
      <description>&lt;P&gt;oh! Sorry. I had&amp;nbsp;changed&amp;nbsp;the datepart for the creation of another variable. I edited it! It should be good now!&lt;/P&gt;</description>
      <pubDate>Wed, 17 Oct 2018 14:44:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505121#M135241</guid>
      <dc:creator>lalaktgrau</dc:creator>
      <dc:date>2018-10-17T14:44:32Z</dc:date>
    </item>
    <item>
      <title>Re: Create new variable based off of previous values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505154#M135251</link>
      <description>&lt;P&gt;Now your data series skips from midnight to 1 hour after midnight.&amp;nbsp; Is that intentional?&amp;nbsp;&amp;nbsp; I've changed them from 01:01:00, 01:02:00&amp;nbsp; to 00:01:00, 00:02:00, etc:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data WORK.CLASS;
infile datalines truncover;
input Name:$8. moving disease datetime;
informat datetime datetime20.;
format datetime datetime20.;
datalines;
Alfred 0 0 04MAR14:23:55:00
Alfred 0 0 04MAR14:23:56:00
Alfred 1 0 04MAR14:23:57:00
Alfred 1 0 04MAR14:23:58:00
Alfred 1 0 04MAR14:23:59:00
Alfred 1 1 05MAR14:00:00:00
Alfred 1 1 05MAR14:00:01:00
Alfred 1 1 05MAR14:00:02:00
Alfred 1 1 05MAR14:00:03:00
Alfred 1 1 05MAR14:00:04:00
mary 0 0 04MAR14:23:55:00
mary 0 0 04MAR14:23:56:00
mary 0 0 04MAR14:23:57:00
mary 0 0 04MAR14:23:58:00
mary 0 0 04MAR14:23:59:00
mary 1 0 05MAR14:00:00:00
mary 1 1 05MAR14:00:01:00
mary 1 1 05MAR14:00:02:00
mary 1 1 05MAR14:00:03:00
mary 1 1 05MAR14:00:04:00
run;


data want (drop=dis_dt);
  set class;
  by name;
  format dis_dt datetime20.;
  retain dummy dis_dt;
  if first.name then do;
     dummy=0;
     dis_dt=constant('bigint');  /* Make a dummy date way in the future*/
  end;
  if moving=1 then dummy=1;
  if dif(disease)=1 then dis_dt=datetime;
  if datetime&amp;gt;dis_dt+'00:03:00't then dummy=0; /*Set actual disease date when encountered*/
run;
proc print;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;This program assumes:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;moving always starts no later than disease&lt;/LI&gt;
&lt;LI&gt;Only moving start or disease starts they never go back to zero.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Oct 2018 15:21:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505154#M135251</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-10-17T15:21:38Z</dc:date>
    </item>
    <item>
      <title>Re: Create new variable based off of previous values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505578#M135407</link>
      <description>&lt;P&gt;This is great, thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Quick question: Is there a way to include a DO UNTIL loop that&amp;nbsp; would stop processing (that day for that person) after we reach the first consecutive&amp;nbsp;3 minutes of disease?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In other words, if later that night disease becomes 0 and then goes back to 1--I don't want to count them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; WORK&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token statement"&gt;CLASS&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token statement"&gt;infile&lt;/SPAN&gt; datalines truncover&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; Name:&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;8&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; moving disease &lt;SPAN class="token function"&gt;datetime&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token statement"&gt;informat&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;datetime&lt;/SPAN&gt; datetime20&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;format&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;datetime&lt;/SPAN&gt; datetime20&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
datalines&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;55&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;56&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;57&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;58&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;59&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;01&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;02&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;03&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
Alfred &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;55&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;56&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;57&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;58&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;23&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;59&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;01&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;02&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;03&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;
mary &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;05&lt;/SPAN&gt;MAR14:&lt;SPAN class="token number"&gt;00&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;04&lt;/SPAN&gt;:&lt;SPAN class="token number"&gt;00&lt;BR /&gt;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 18 Oct 2018 15:00:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-new-variable-based-off-of-previous-values/m-p/505578#M135407</guid>
      <dc:creator>lalaktgrau</dc:creator>
      <dc:date>2018-10-18T15:00:42Z</dc:date>
    </item>
  </channel>
</rss>

