<?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 Long data set: Add column that is maximum duration of dose for periods over time in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970060#M43341</link>
    <description>&lt;P&gt;Hello New SAS User community, I am working in a long data set with several hundred people where every participant (var id) was prescribed an antibiotic for 10 days with each line representing 1 day (var day). The dose (var dose) may change by day. I am trying to create a variable that captures the maximum duration of each dosing change As you can see in the table below, id #1 had 4 changes over time (600mg for 4 days, 0mg for 1 day, 300mg for 3 days, and then 600mg for 2 days) and id #2 had no changes. Using the data step, created a variable 'count_state' that enumerates the number of days at each dose over time, restarting when there is a change.&amp;nbsp;&lt;STRONG&gt;Help:&amp;nbsp;&lt;/STRONG&gt;I would like to create a new variable &lt;STRONG&gt;(bold column below) &lt;/STRONG&gt;that is the maximum of count_state for each dose before there is any change.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much in advance!&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;id&lt;/TD&gt;&lt;TD&gt;day&lt;/TD&gt;&lt;TD&gt;dose&lt;/TD&gt;&lt;TD&gt;count_state&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;max_count_state&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 01 Jul 2025 18:19:19 GMT</pubDate>
    <dc:creator>sofia_de_garay</dc:creator>
    <dc:date>2025-07-01T18:19:19Z</dc:date>
    <item>
      <title>Long data set: Add column that is maximum duration of dose for periods over time</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970060#M43341</link>
      <description>&lt;P&gt;Hello New SAS User community, I am working in a long data set with several hundred people where every participant (var id) was prescribed an antibiotic for 10 days with each line representing 1 day (var day). The dose (var dose) may change by day. I am trying to create a variable that captures the maximum duration of each dosing change As you can see in the table below, id #1 had 4 changes over time (600mg for 4 days, 0mg for 1 day, 300mg for 3 days, and then 600mg for 2 days) and id #2 had no changes. Using the data step, created a variable 'count_state' that enumerates the number of days at each dose over time, restarting when there is a change.&amp;nbsp;&lt;STRONG&gt;Help:&amp;nbsp;&lt;/STRONG&gt;I would like to create a new variable &lt;STRONG&gt;(bold column below) &lt;/STRONG&gt;that is the maximum of count_state for each dose before there is any change.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much in advance!&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;id&lt;/TD&gt;&lt;TD&gt;day&lt;/TD&gt;&lt;TD&gt;dose&lt;/TD&gt;&lt;TD&gt;count_state&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;max_count_state&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Jul 2025 18:19:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970060#M43341</guid>
      <dc:creator>sofia_de_garay</dc:creator>
      <dc:date>2025-07-01T18:19:19Z</dc:date>
    </item>
    <item>
      <title>Re: Long data set: Add column that is maximum duration of dose for periods over time</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970061#M43342</link>
      <description>&lt;P&gt;Here's how I would do it. In a DATA step, identify each place where the dose changes (so count_state=1) and turn this into its own group, with a unique group number. Then determine the max value of count_state in each group. Merge the max in with the original data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* UNTESTED CODE */
data intermediate;
    set have;
    if count_state=1 then group+1;
run;
proc summary data=intermediate nway;
    class group;
    var count_state;
    output out=maxx max=max_count_state;
run;
data want;
   merge intermediate maxx;
   by group;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;BR /&gt;If you want tested code, we need to see data presented as working SAS data step code (&lt;A href="https://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/" target="_self"&gt;examples and instructions&lt;/A&gt;). Data copied and pasted from Excel, or Excel files, are not acceptable, and we cannot test code provided via copy/paste or in Excel files.&lt;/P&gt;</description>
      <pubDate>Tue, 01 Jul 2025 18:42:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970061#M43342</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2025-07-01T18:42:03Z</dc:date>
    </item>
    <item>
      <title>Re: Long data set: Add column that is maximum duration of dose for periods over time</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970068#M43343</link>
      <description>&lt;P&gt;First let's convert your LISTING into an actual DATASET.&amp;nbsp; While we are at it let's name your last two derived variables as EXPECT_COUNT and EXPECT_MAX so we have something to use to check our programs results.&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input id day dose expect_count expect_max;
cards;
1 1 600 1 4
1 2 600 2 4
1 3 600 3 4
1 4 600 4 4
1 5 0 1 1
1 6 300 1 3
1 7 300 2 3
1 8 300 3 3
1 9 600 1 2
1 10 600 2 2
2 1 600 1 10
2 2 600 2 10
2 3 600 3 10
2 4 600 4 10
2 5 600 5 10
2 6 600 6 10
2 7 600 7 10
2 8 600 8 10
2 9 600 9 10
2 10 600 10 10
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;To identify when the DOSE changes you can use BY statement with the NOTSORTED keyword.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data step1;
  set have;
  by id dose notsorted;
  if first.id then group=0;
  if first.dose then do;
    group+1; count=0;
  end;
  count+1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Once you have this grouping variable finding the MAX of COUNT is simple.&amp;nbsp; PROC SQL makes this easy because it will remerge aggregate results back onto the detailed observations.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select *,max(count) as max_count
from step1
group by id,group
order by id,day
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;                            expect_    expect_                       max_
Obs    id    day    dose     count       max      group    count    count

  1     1      1     600        1          4        1         1        4
  2     1      2     600        2          4        1         2        4
  3     1      3     600        3          4        1         3        4
  4     1      4     600        4          4        1         4        4
  5     1      5       0        1          1        2         1        1
  6     1      6     300        1          3        3         1        3
  7     1      7     300        2          3        3         2        3
  8     1      8     300        3          3        3         3        3
  9     1      9     600        1          2        4         1        2
 10     1     10     600        2          2        4         2        2
 11     2      1     600        1         10        1         1       10
 12     2      2     600        2         10        1         2       10
 13     2      3     600        3         10        1         3       10
 14     2      4     600        4         10        1         4       10
 15     2      5     600        5         10        1         5       10
 16     2      6     600        6         10        1         6       10
 17     2      7     600        7         10        1         7       10
 18     2      8     600        8         10        1         8       10
 19     2      9     600        9         10        1         9       10
 20     2     10     600       10         10        1        10       10
&lt;/PRE&gt;
&lt;P&gt;Note that COUNT is not really needed since the MAX of COUNT is the same thing as the number of observations in the group.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data step1;
  set have(keep=id day dose);
  by id dose notsorted;
  if first.id then group=0;
  group+first.dose;
run;

proc sql;
create table want as
select *,count(*) as max_count
from step1
group by id,group
order by id,day
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Jul 2025 20:17:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970068#M43343</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2025-07-01T20:17:04Z</dc:date>
    </item>
    <item>
      <title>Re: Long data set: Add column that is maximum duration of dose for periods over time</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970102#M43344</link>
      <description>&lt;P&gt;Thank you for this super clear explanation. This was very educational for me!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Jul 2025 12:12:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970102#M43344</guid>
      <dc:creator>sofia_de_garay</dc:creator>
      <dc:date>2025-07-02T12:12:36Z</dc:date>
    </item>
    <item>
      <title>Re: Long data set: Add column that is maximum duration of dose for periods over time</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970103#M43345</link>
      <description>&lt;P&gt;thank you!&lt;/P&gt;</description>
      <pubDate>Wed, 02 Jul 2025 12:12:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Long-data-set-Add-column-that-is-maximum-duration-of-dose-for/m-p/970103#M43345</guid>
      <dc:creator>sofia_de_garay</dc:creator>
      <dc:date>2025-07-02T12:12:51Z</dc:date>
    </item>
  </channel>
</rss>

