<?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 generate cumulative count in one block in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576723#M13099</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/70526"&gt;@Ivy&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;Thank you , that works. Is there any way that I can use that cumulative number as the lag function ?&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You can add next lines:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;retain start_date_new   lag_date;
lag_date = start_date; drop lag_date;

...

if missing(flag) then call missing(start_new_date);
if count_check=1 then start_date_new = lag_date;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 25 Jul 2019 19:02:12 GMT</pubDate>
    <dc:creator>Shmuel</dc:creator>
    <dc:date>2019-07-25T19:02:12Z</dc:date>
    <item>
      <title>How to generate cumulative count in one block</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576704#M13091</link>
      <description>&lt;P&gt;Dear all,&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please see the data below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to generate a column name as 'countcheck' to count the continuous "check" status in the ID block.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also based on this cumulative number to generate new lag start date.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am wondering how to generate it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much.&lt;/P&gt;&lt;P&gt;Ivy&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;PatientID&lt;/TD&gt;&lt;TD&gt;line number&lt;/TD&gt;&lt;TD&gt;Start date&lt;/TD&gt;&lt;TD&gt;end date&lt;/TD&gt;&lt;TD&gt;flag1&lt;/TD&gt;&lt;TD&gt;countcheck&lt;/TD&gt;&lt;TD&gt;start date new&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;x1&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;x2&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;x3&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;x4&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;x5&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;check&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;lag1(start date)&amp;nbsp; = x4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;x6&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;check&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;lag2(start date)&amp;nbsp; = x4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;x7&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;x8&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;check&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;lag1(start date) = x7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;x9&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;check&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;lag2(start date)&amp;nbsp; = x7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;y1&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;y2&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;y3&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;y4&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;check&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;lag1(start date) = y3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;y5&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;y6&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;check&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;lag1(start date)&amp;nbsp; = y5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;y7&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;check&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;lag2(start date) = y5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;y8&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;check&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;lag3(start date) = y5&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jul 2019 18:22:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576704#M13091</guid>
      <dc:creator>Ivy</dc:creator>
      <dc:date>2019-07-25T18:22:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to generate cumulative count in one block</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576707#M13092</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover;
input ID $	Line_Number	flag $	;
cards;
a	1	 	 
a	2	 	 
a	3	 	 
a	4	 	 
a	5	check	1
a	6	check	2
a	7	 	 
a	8	check	1
a	9	check	2
b	1	 	 
b	2	 	 
b	3	 	 
b	4	check	1
b	5	 	 
b	6	check	1
b	7	check	2
b	8	check	3
;

data want;
set have;
by id;
if first.id then call missing(count);
k=flag='check';
if k then Count+1;
else call missing(count);
drop k;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 25 Jul 2019 18:17:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576707#M13092</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-07-25T18:17:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to generate cumulative count in one block</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576708#M13093</link>
      <description>&lt;P&gt;1) Please edit your post your data using the "running-man" icon in the form&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
     input ID $1. line_number flag $5. ;
datalines;
a 1 
... your data ...
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;2) You can use next code to count "check" status:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;options missing = ' ' ;&lt;BR /&gt;data want;
  set have;
   by id;      /* assuming data is sorted by ID */
       retain count_check;
       if first.ID then count_check = .;
       if flag = 'check' then count_check +1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 25 Jul 2019 18:15:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576708#M13093</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2019-07-25T18:15:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to generate cumulative count in one block</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576718#M13094</link>
      <description>Thank you. That works at my listed data. However, I missed one condition, at first.ID, flag ='check' . So , if we use: first.id then count_check = not missing(flag) will be more thoughtful. Thanks again.</description>
      <pubDate>Thu, 25 Jul 2019 18:49:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576718#M13094</guid>
      <dc:creator>Ivy</dc:creator>
      <dc:date>2019-07-25T18:49:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to generate cumulative count in one block</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576719#M13095</link>
      <description>Thank you , that works. Is there any way that I can use that cumulative number as the lag function ?</description>
      <pubDate>Thu, 25 Jul 2019 18:50:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576719#M13095</guid>
      <dc:creator>Ivy</dc:creator>
      <dc:date>2019-07-25T18:50:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to generate cumulative count in one block</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576723#M13099</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/70526"&gt;@Ivy&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;Thank you , that works. Is there any way that I can use that cumulative number as the lag function ?&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You can add next lines:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;retain start_date_new   lag_date;
lag_date = start_date; drop lag_date;

...

if missing(flag) then call missing(start_new_date);
if count_check=1 then start_date_new = lag_date;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 25 Jul 2019 19:02:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576723#M13099</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2019-07-25T19:02:12Z</dc:date>
    </item>
    <item>
      <title>Re: How to generate cumulative count in one block</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576725#M13101</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
infile cards truncover;
input (PatientID 	line_number	Startdate	enddate	flag1) ($);	
cards;
a	1	x1	x	 	 	 
a	2	x2	x	 	 	 
a	3	x3	x	 	 	 
a	4	x4	x	 	 	 
a	5	x5	x	check	1	lag1(start date)  = x4
a	6	x6	x	check	2	lag2(start date)  = x4
a	7	x7	x	 	 	 
a	8	x8	x	check	1	lag1(start date) = x7
a	9	x9	x	check	2	lag2(start date)  = x7
b	1	y1	x	 	 	 
b	2	y2	x	 	 	 
b	3	y3	x	 	 	 
b	4	y4	x	check	1	lag1(start date) = y3
b	5	y5	x	 	 	 
b	6	y6	x	check	1	lag1(start date)  = y5
b	7	y7	x	check	2	lag2(start date) = y5
b	8	y8	x	check	3	lag3(start date) = y5
;



data want;
set have;
by PatientID;
if first.PatientID then call missing(count);
k=flag1='check';
if k then Count+1;
else call missing(count);
retain start_date_new   '     ';
start_date_new=ifc(count=1,lag(startdate),start_date_new);
if missing( flag1) then call missing(start_date_new);
drop k;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 25 Jul 2019 19:08:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-generate-cumulative-count-in-one-block/m-p/576725#M13101</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-07-25T19:08:50Z</dc:date>
    </item>
  </channel>
</rss>

