<?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: Data Step in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591643#M169532</link>
    <description>&lt;P&gt;What happens when there are multiple values at time=20 for a given subject? Which one should be used in the calculation of (0.5x DV at 20 hr)?&lt;/P&gt;</description>
    <pubDate>Wed, 25 Sep 2019 18:12:17 GMT</pubDate>
    <dc:creator>PGStats</dc:creator>
    <dc:date>2019-09-25T18:12:17Z</dc:date>
    <item>
      <title>Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591625#M169520</link>
      <description>&lt;P&gt;I have the following data.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Subject&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Time&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;DV&lt;/P&gt;&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;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&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;&lt;P&gt;24&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;24&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;24&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;30&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to do the following:&lt;/P&gt;&lt;P&gt;1.compare DV values at 20 and 24 hrs&lt;/P&gt;&lt;P&gt;2.whenever the DV value at 24 hr is greater than the DV at 20 hr delete the value at 24 hrs. and substitute the value (0.5x DV at 20 hr).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How do I accomplish this task?&lt;/P&gt;</description>
      <pubDate>Wed, 25 Sep 2019 17:36:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591625#M169520</guid>
      <dc:creator>jacksonan123</dc:creator>
      <dc:date>2019-09-25T17:36:54Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591630#M169524</link>
      <description>&lt;P&gt;Use the lag() function to retrieve the value of a variable in the previous observation.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Sep 2019 17:47:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591630#M169524</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-09-25T17:47:27Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591635#M169529</link>
      <description>Ok, I will write some code using the lag function to resolve the issue and&lt;BR /&gt;if successful, I will post the results.&lt;BR /&gt;</description>
      <pubDate>Wed, 25 Sep 2019 17:53:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591635#M169529</guid>
      <dc:creator>jacksonan123</dc:creator>
      <dc:date>2019-09-25T17:53:32Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591643#M169532</link>
      <description>&lt;P&gt;What happens when there are multiple values at time=20 for a given subject? Which one should be used in the calculation of (0.5x DV at 20 hr)?&lt;/P&gt;</description>
      <pubDate>Wed, 25 Sep 2019 18:12:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591643#M169532</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-09-25T18:12:17Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591645#M169534</link>
      <description>For each subject there will be only one value at 20 hr. and at 24 hr.&lt;BR /&gt;</description>
      <pubDate>Wed, 25 Sep 2019 18:14:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591645#M169534</guid>
      <dc:creator>jacksonan123</dc:creator>
      <dc:date>2019-09-25T18:14:32Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591663#M169542</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new;
input subject time dv;
datalines;
1 20 10 
1 24 5
2 20 10 
2 24 15
3 20 10
3 24 20
;
run;


data old;
set new;
retain subject dv lagdv x;
do subject=1 to 3;
if time in (20 24);
lagdv=lag(dv);
if dv&amp;gt;lag(dv) then x=0.5*lag(dv);
end;
output;
keep subject dv x;
run;

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I ran this code and the result had an issue with outputting the correct subject's number.&amp;nbsp; Can someone correct the code for me so that subjects 1-3 will be output?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obs subject dv x123456&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;5.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;5.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;5.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 25 Sep 2019 18:39:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591663#M169542</guid>
      <dc:creator>jacksonan123</dc:creator>
      <dc:date>2019-09-25T18:39:32Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591668#M169545</link>
      <description>&lt;P&gt;SQL will be more robust to unforeseen cases than a data step. Try this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input Subject Time DV;
datalines;
1 20 10
1 24 5
2 20 10
2 24 15
3 20 20
3 24 30
;

proc sql;

create table test20 as
select * from test where time=20;

update test as a
set DV = (select mean(0.5*DV) from test20 where subject=a.subject)
where time = 24 and DV &amp;gt; (select mean(DV) from test20 where subject=a.subject);

drop table test20;

quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 25 Sep 2019 18:47:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591668#M169545</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-09-25T18:47:22Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591671#M169546</link>
      <description>&lt;P&gt;The resulting Table20 did not have values for 24 hr.&amp;nbsp; Where can I find that table?&lt;/P&gt;&lt;P&gt;Obs Subject Time DV123&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 25 Sep 2019 18:57:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591671#M169546</guid>
      <dc:creator>jacksonan123</dc:creator>
      <dc:date>2019-09-25T18:57:29Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591675#M169548</link>
      <description>&lt;P&gt;Run the test that I provided and you will see that table test gets updated with the desired values.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Sep 2019 19:28:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step/m-p/591675#M169548</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-09-25T19:28:13Z</dc:date>
    </item>
  </channel>
</rss>

