<?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 How to populate a variable in a previous row of a sas dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-populate-a-variable-in-a-previous-row-of-a-sas-dataset/m-p/963826#M375435</link>
    <description>&lt;P&gt;Dear&lt;/P&gt;&lt;P&gt;I have a dataset with the following variables: patient ID and dose.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I would like to create a new variable called&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;increase&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;based on the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;Dose&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;variable&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;This variable should be set to 1 when the dose in the next row (for the same patient) is higher.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Example&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;pt_ID&amp;nbsp; DOSE&amp;nbsp; &amp;nbsp;&lt;CODE&gt;increase&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 24&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 22&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 25&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank in advance for any help&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 09 Apr 2025 09:54:44 GMT</pubDate>
    <dc:creator>ChiaraP</dc:creator>
    <dc:date>2025-04-09T09:54:44Z</dc:date>
    <item>
      <title>How to populate a variable in a previous row of a sas dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-populate-a-variable-in-a-previous-row-of-a-sas-dataset/m-p/963826#M375435</link>
      <description>&lt;P&gt;Dear&lt;/P&gt;&lt;P&gt;I have a dataset with the following variables: patient ID and dose.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I would like to create a new variable called&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;increase&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;based on the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;Dose&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;variable&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;This variable should be set to 1 when the dose in the next row (for the same patient) is higher.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Example&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;pt_ID&amp;nbsp; DOSE&amp;nbsp; &amp;nbsp;&lt;CODE&gt;increase&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 24&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 22&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 25&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank in advance for any help&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Apr 2025 09:54:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-populate-a-variable-in-a-previous-row-of-a-sas-dataset/m-p/963826#M375435</guid>
      <dc:creator>ChiaraP</dc:creator>
      <dc:date>2025-04-09T09:54:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to populate a variable in a previous row of a sas dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-populate-a-variable-in-a-previous-row-of-a-sas-dataset/m-p/963841#M375446</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input pt_ID  DOSE;
datalines;
1             3
1             4
1             3
2            24
2            22
2            25
;

data want;
    merge have have(firstobs=2 keep=dose pt_id rename=(dose=next_dose pt_id=next_pt_id));
    increase=0;
    if pt_id=next_pt_id and next_dose&amp;gt;dose then increase=1;
    drop next_:;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please from now on, provide data as data step code, as I show above. Please do not provide data in other forms.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Apr 2025 10:36:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-populate-a-variable-in-a-previous-row-of-a-sas-dataset/m-p/963841#M375446</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2025-04-09T10:36:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to populate a variable in a previous row of a sas dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-populate-a-variable-in-a-previous-row-of-a-sas-dataset/m-p/963844#M375449</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I had essentially the same solution as&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;, with a slight difference in the method used to assign the &lt;FONT face="courier new,courier"&gt;increase&lt;/FONT&gt; variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input
    pt_id
    dose
  ;
  
  datalines;
1 3
1 4
1 3
2 24
2 22
2 25
;


data want(drop = next:);
  merge
    have 
    have(firstobs=2 rename = (pt_id = next_pt_id dose = next_dose))
  ;
  
  increase = next_pt_id eq pt_id and next_dose gt dose;
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;Thanks &amp;amp; kind regards,&lt;/P&gt;
&lt;P&gt;Amir.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Apr 2025 10:44:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-populate-a-variable-in-a-previous-row-of-a-sas-dataset/m-p/963844#M375449</guid>
      <dc:creator>Amir</dc:creator>
      <dc:date>2025-04-09T10:44:41Z</dc:date>
    </item>
  </channel>
</rss>

