<?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: how to get the previous value in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850169#M41902</link>
    <description>&lt;P&gt;You will need to have a second variable so you can RETAIN the value calculated when VAR2 changes.&lt;/P&gt;
&lt;P&gt;This is the exceptional case where it makes sense to conditionally execute the LAG() function.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let initial=habi_statisti_20191231;

data want;
  set have;
  by var2;
  if first.var2 then var3=coalescec(lag(var2),"&amp;amp;initial");
  retain var3;
  if mod(_n_,6)=0 then var3x=var3;
  same= var3x=want;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tom_0-1671229711051.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/78649i29942B8D18112C96/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Tom_0-1671229711051.png" alt="Tom_0-1671229711051.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 16 Dec 2022 22:31:01 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2022-12-16T22:31:01Z</dc:date>
    <item>
      <title>how to get the previous value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850149#M41897</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to know how to get the previous value of var2 which is equal to var3 at each 6 observations. So if you look at exec number&amp;nbsp;3821 , the value of var2 is habi_statisti_20200106,and I want to get the previous value of var2 which is&amp;nbsp;habi_statisti_20200103.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How do we do that ?&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&gt;data want;
infile datalines delimiter=','; 
input var1 $4. var2 $25. var3 $25.;
datalines;
3791,habi_statisti_20200103,
3791,habi_statisti_20200103,
3791,habi_statisti_20200103,
3791,habi_statisti_20200103,
3791,habi_statisti_20200103,
3791,habi_statisti_20200103,habi_statisti_20191231
3801,habi_statisti_20200103,
3801,habi_statisti_20200103,
3801,habi_statisti_20200103,
3801,habi_statisti_20200103,
3801,habi_statisti_20200103,
3801,habi_statisti_20200103,habi_statisti_20191231
3811,habi_statisti_20200103,
3811,habi_statisti_20200103,
3811,habi_statisti_20200103,
3811,habi_statisti_20200103,
3811,habi_statisti_20200103,
3811,habi_statisti_20200103,habi_statisti_20191231
3821,habi_statisti_20200106,
3821,habi_statisti_20200106,
3821,habi_statisti_20200106,
3821,habi_statisti_20200106,
3821,habi_statisti_20200106,
3821,habi_statisti_20200106,habi_statisti_20200103
3831,habi_statisti_20200106,
3831,habi_statisti_20200106,
3831,habi_statisti_20200106,
3831,habi_statisti_20200106,
3831,habi_statisti_20200106,
3831,habi_statisti_20200106,habi_statisti_20200103
3841,habi_statisti_20200106,
3841,habi_statisti_20200106,
3841,habi_statisti_20200106,
3841,habi_statisti_20200106,
3841,habi_statisti_20200106,
3841,habi_statisti_20200106,habi_statisti_20200103
3851,habi_statisti_20200107,
3851,habi_statisti_20200107,
3851,habi_statisti_20200107,
3851,habi_statisti_20200107,
3851,habi_statisti_20200107,
3851,habi_statisti_20200107,habi_statisti_20200106
3861,habi_statisti_20200108,
3861,habi_statisti_20200108,
3861,habi_statisti_20200108,
3861,habi_statisti_20200108,
3861,habi_statisti_20200108,
3861,habi_statisti_20200108,habi_statisti_20200107
3871,habi_statisti_20200109,
3871,habi_statisti_20200109,
3871,habi_statisti_20200109,
3871,habi_statisti_20200109,
3871,habi_statisti_20200109,
3871,habi_statisti_20200109,habi_statisti_20200108
3881,habi_statisti_20200110,
3881,habi_statisti_20200110,
3881,habi_statisti_20200110,
3881,habi_statisti_20200110,
3881,habi_statisti_20200110,
3881,habi_statisti_20200110,habi_statisti_20200109
3891,habi_statisti_20200113,
3891,habi_statisti_20200113,
3891,habi_statisti_20200113,
3891,habi_statisti_20200113,
3891,habi_statisti_20200113,
3891,habi_statisti_20200113,habi_statisti_20200110
3901,habi_statisti_20200113,
3901,habi_statisti_20200113,
3901,habi_statisti_20200113,
3901,habi_statisti_20200113,
3901,habi_statisti_20200113,
3901,habi_statisti_20200113,habi_statisti_20200110
3911,habi_statisti_20200113,
3911,habi_statisti_20200113,
3911,habi_statisti_20200113,
3911,habi_statisti_20200113,
3911,habi_statisti_20200113,
3911,habi_statisti_20200113,habi_statisti_20200110
3921,habi_statisti_20200114,
3921,habi_statisti_20200114,
3921,habi_statisti_20200114,
3921,habi_statisti_20200114,
3921,habi_statisti_20200114,
3921,habi_statisti_20200114,habi_statisti_20200113
3931,habi_statisti_20200115,
3931,habi_statisti_20200115,
3931,habi_statisti_20200115,
3931,habi_statisti_20200115,
3931,habi_statisti_20200115,
3931,habi_statisti_20200115,habi_statisti_20200114
3941,habi_statisti_20200116,
3941,habi_statisti_20200116,
3941,habi_statisti_20200116,
3941,habi_statisti_20200116,
3941,habi_statisti_20200116,
3941,habi_statisti_20200116,habi_statisti_20200115
3951,habi_statisti_20200117,
3951,habi_statisti_20200117,
3951,habi_statisti_20200117,
3951,habi_statisti_20200117,
3951,habi_statisti_20200117,
3951,habi_statisti_20200117,habi_statisti_20200116
3961,habi_statisti_20200120,
3961,habi_statisti_20200120,
3961,habi_statisti_20200120,
3961,habi_statisti_20200120,
3961,habi_statisti_20200120,
3961,habi_statisti_20200120,habi_statisti_20200117
3971,habi_statisti_20200120,
3971,habi_statisti_20200120,
3971,habi_statisti_20200120,
3971,habi_statisti_20200120,
3971,habi_statisti_20200120,
3971,habi_statisti_20200120,habi_statisti_20200117
3981,habi_statisti_20200120,
3981,habi_statisti_20200120,
3981,habi_statisti_20200120,
3981,habi_statisti_20200120,
3981,habi_statisti_20200120,
3981,habi_statisti_20200120,habi_statisti_20200117
3991,habi_statisti_20200121,
3991,habi_statisti_20200121,
3991,habi_statisti_20200121,
3991,habi_statisti_20200121,
3991,habi_statisti_20200121,
3991,habi_statisti_20200121,habi_statisti_20200120
4001,habi_statisti_20200122,
4001,habi_statisti_20200122,
4001,habi_statisti_20200122,
4001,habi_statisti_20200122,
4001,habi_statisti_20200122,
4001,habi_statisti_20200122,habi_statisti_20200121
4011,habi_statisti_20200123,
4011,habi_statisti_20200123,
4011,habi_statisti_20200123,
4011,habi_statisti_20200123,
4011,habi_statisti_20200123,
4011,habi_statisti_20200123,habi_statisti_20200122
4021,habi_statisti_20200124,
4021,habi_statisti_20200124,
4021,habi_statisti_20200124,
4021,habi_statisti_20200124,
4021,habi_statisti_20200124,
4021,habi_statisti_20200124,habi_statisti_20200123
4031,habi_statisti_20200127,
4031,habi_statisti_20200127,
4031,habi_statisti_20200127,
4031,habi_statisti_20200127,
4031,habi_statisti_20200127,
4031,habi_statisti_20200127,habi_statisti_20200124
4041,habi_statisti_20200127,
4041,habi_statisti_20200127,
4041,habi_statisti_20200127,
4041,habi_statisti_20200127,
4041,habi_statisti_20200127,
4041,habi_statisti_20200127,habi_statisti_20200124
4051,habi_statisti_20200127,
4051,habi_statisti_20200127,
4051,habi_statisti_20200127,
4051,habi_statisti_20200127,
4051,habi_statisti_20200127,
4051,habi_statisti_20200127,habi_statisti_20200124
4061,habi_statisti_20200128,
4061,habi_statisti_20200128,
4061,habi_statisti_20200128,
4061,habi_statisti_20200128,
4061,habi_statisti_20200128,
4061,habi_statisti_20200128,habi_statisti_20200127
4071,habi_statisti_20200129,
4071,habi_statisti_20200129,
4071,habi_statisti_20200129,
4071,habi_statisti_20200129,
4071,habi_statisti_20200129,
4071,habi_statisti_20200129,habi_statisti_20200128
4081,habi_statisti_20200130,
4081,habi_statisti_20200130,
4081,habi_statisti_20200130,
4081,habi_statisti_20200130,
4081,habi_statisti_20200130,
4081,habi_statisti_20200130,habi_statisti_20200129
4091,habi_statisti_20200131,
4091,habi_statisti_20200131,
4091,habi_statisti_20200131,
4091,habi_statisti_20200131,
4091,habi_statisti_20200131,
4091,habi_statisti_20200131,habi_statisti_20200130
4101,habi_statisti_20200203,
4101,habi_statisti_20200203,
4101,habi_statisti_20200203,
4101,habi_statisti_20200203,
4101,habi_statisti_20200203,
4101,habi_statisti_20200203,habi_statisti_20200131
4111,habi_statisti_20200203,
4111,habi_statisti_20200203,
4111,habi_statisti_20200203,
4111,habi_statisti_20200203,
4111,habi_statisti_20200203,
4111,habi_statisti_20200203,habi_statisti_20200131
4121,habi_statisti_20200203,
4121,habi_statisti_20200203,
4121,habi_statisti_20200203,
4121,habi_statisti_20200203,
4121,habi_statisti_20200203,
4121,habi_statisti_20200203,habi_statisti_20200131
4131,habi_statisti_20200204,
4131,habi_statisti_20200204,
4131,habi_statisti_20200204,
4131,habi_statisti_20200204,
4131,habi_statisti_20200204,
4131,habi_statisti_20200204,habi_statisti_20200203
;
run;&lt;/PRE&gt;</description>
      <pubDate>Fri, 16 Dec 2022 20:40:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850149#M41897</guid>
      <dc:creator>alepage</dc:creator>
      <dc:date>2022-12-16T20:40:55Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the previous value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850151#M41898</link>
      <description>&lt;P&gt;Please explain why doing&amp;nbsp; this makes any sense?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the solution:&lt;/P&gt;
&lt;LI-SPOILER&gt;Just use LAG() and then reset the value to missing except on every 6th observation.
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  var3=lag(var2);
  if mod(_n_,6) then var3=' ';
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/LI-SPOILER&gt;</description>
      <pubDate>Fri, 16 Dec 2022 20:55:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850151#M41898</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-12-16T20:55:00Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the previous value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850164#M41899</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have tested you code and we are close, except the lag does not seem to work.&amp;nbsp; When var2= habi_statisti_20200204, var3 should be equal to habi_statisti_20200203, when var2=habi_statisti_20200203 var3 should be equal to&amp;nbsp;habi_statisti_20200131 and so on.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2022 22:07:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850164#M41899</guid>
      <dc:creator>alepage</dc:creator>
      <dc:date>2022-12-16T22:07:09Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the previous value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850165#M41900</link>
      <description>&lt;P&gt;You cannot have a lagged value does not exist in the data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your actual rule must be something other than LAG.&lt;/P&gt;
&lt;P&gt;How did you derive a result of&amp;nbsp; habi_statisti_20191231 from an existing value of&amp;nbsp;habi_statisti_20200103 ?&lt;BR /&gt;What is the logic?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2022 22:15:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850165#M41900</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-12-16T22:15:02Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the previous value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850167#M41901</link>
      <description>It is the last value of the previous year.  We put it into a macro . and use it when var2 is equal to habi_statisti_20200103.  I know that the lag function should work but up to now, it isn't&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Dec 2022 22:18:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850167#M41901</guid>
      <dc:creator>alepage</dc:creator>
      <dc:date>2022-12-16T22:18:09Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the previous value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850169#M41902</link>
      <description>&lt;P&gt;You will need to have a second variable so you can RETAIN the value calculated when VAR2 changes.&lt;/P&gt;
&lt;P&gt;This is the exceptional case where it makes sense to conditionally execute the LAG() function.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let initial=habi_statisti_20191231;

data want;
  set have;
  by var2;
  if first.var2 then var3=coalescec(lag(var2),"&amp;amp;initial");
  retain var3;
  if mod(_n_,6)=0 then var3x=var3;
  same= var3x=want;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tom_0-1671229711051.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/78649i29942B8D18112C96/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Tom_0-1671229711051.png" alt="Tom_0-1671229711051.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2022 22:31:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/how-to-get-the-previous-value/m-p/850169#M41902</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-12-16T22:31:01Z</dc:date>
    </item>
  </channel>
</rss>

