<?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 can I create a variable that enumerates after the criteria is met? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-create-a-variable-that-enumerates-after-the-criteria/m-p/861234#M340196</link>
    <description>&lt;P&gt;Just use a &lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/lestmtsref/n1dfiqj146yi2cn1maeju9wo7ijs.htm" target="_self"&gt;SUM statement&lt;/A&gt; and the fact that SAS evaluates Boolean expressions to 1 for TRUE and 0 for FALSE.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by account date ;
  if first.account then new_flag=0;
  new_flag + (flag or new_flag);
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;OBS    account          Date    Flag    new_flag

 1        1       2022-04-30      0         0
 2        1       2022-05-31      0         0
 3        1       2022-06-30      0         0
 4        1       2022-07-31      1         1
 5        1       2022-08-31      0         2
 6        1       2022-09-30      0         3

&lt;/PRE&gt;
&lt;P&gt;Note: You need to create a NEW variable for the RETAIN to work. If you try use a variable that is already on the input dataset then the retained value is lost when the next observation is read in.&lt;/P&gt;</description>
    <pubDate>Mon, 27 Feb 2023 22:18:34 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2023-02-27T22:18:34Z</dc:date>
    <item>
      <title>How can I create a variable that enumerates after the criteria is met?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-create-a-variable-that-enumerates-after-the-criteria/m-p/861232#M340195</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is a Have data and I want to generate Flag variable as seen in Wanted?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have:&lt;/P&gt;
&lt;TABLE width="205"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="68"&gt;Date&lt;/TD&gt;
&lt;TD width="73"&gt;Account ID&lt;/TD&gt;
&lt;TD width="64"&gt;Flag&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/30/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5/31/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6/30/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7/31/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8/31/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9/30/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Want:&lt;/P&gt;
&lt;TABLE width="205"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="68"&gt;Date&lt;/TD&gt;
&lt;TD width="73"&gt;Account ID&lt;/TD&gt;
&lt;TD width="64"&gt;Flag&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4/30/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5/31/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6/30/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7/31/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8/31/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9/30/2022&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Mon, 27 Feb 2023 21:51:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-can-I-create-a-variable-that-enumerates-after-the-criteria/m-p/861232#M340195</guid>
      <dc:creator>tampham92</dc:creator>
      <dc:date>2023-02-27T21:51:12Z</dc:date>
    </item>
    <item>
      <title>Re: How can I create a variable that enumerates after the criteria is met?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-create-a-variable-that-enumerates-after-the-criteria/m-p/861234#M340196</link>
      <description>&lt;P&gt;Just use a &lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/lestmtsref/n1dfiqj146yi2cn1maeju9wo7ijs.htm" target="_self"&gt;SUM statement&lt;/A&gt; and the fact that SAS evaluates Boolean expressions to 1 for TRUE and 0 for FALSE.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by account date ;
  if first.account then new_flag=0;
  new_flag + (flag or new_flag);
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;OBS    account          Date    Flag    new_flag

 1        1       2022-04-30      0         0
 2        1       2022-05-31      0         0
 3        1       2022-06-30      0         0
 4        1       2022-07-31      1         1
 5        1       2022-08-31      0         2
 6        1       2022-09-30      0         3

&lt;/PRE&gt;
&lt;P&gt;Note: You need to create a NEW variable for the RETAIN to work. If you try use a variable that is already on the input dataset then the retained value is lost when the next observation is read in.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2023 22:18:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-can-I-create-a-variable-that-enumerates-after-the-criteria/m-p/861234#M340196</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2023-02-27T22:18:34Z</dc:date>
    </item>
  </channel>
</rss>

