<?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: Sequential minimum sustained values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814623#M321546</link>
    <description>&lt;P&gt;Your explanation confused me, but your numbers suggest you want:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Track, for each rolling 8-day windows, the minimum cigarette consumption&lt;/LI&gt;
&lt;LI&gt;Over all such 8-day windows keep the maximum of those 8-day minumums&lt;/LI&gt;
&lt;LI&gt;For that maximum, which must start out with an 8-day length, see how much further it might last.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is suggestion you can test against your data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (keep=id highest_min_cig8 sustained);;
  do n=1 by 1 until (last.id);
    set have;
    by id;
    array cigvals {0:7} _temporary_;  /*Most recent 8-day window of cigarette values*/
    cigvals{mod(n,8)}=cigarettes;

    if n&amp;gt;=8 then do;
      min_cig8=min(of cigvals{*});
      if min_cig8&amp;gt;highest_min_cig8 then do;
        highest_min_cig8=min_cig8;
        mmc8_beg=n-7;
        mmc8_end=n;
      end;
      else if min_cig8=highest_min_cig8 then mmc8_end=mmc8_end+1;
    end;
  end;
  sustained=mmc8_end+1-mmc8_beg;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 22 May 2022 20:03:30 GMT</pubDate>
    <dc:creator>mkeintz</dc:creator>
    <dc:date>2022-05-22T20:03:30Z</dc:date>
    <item>
      <title>Sequential minimum sustained values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814619#M321543</link>
      <description>&lt;P&gt;Hello Everyone,&lt;/P&gt;&lt;P&gt;I have question.&lt;/P&gt;&lt;P&gt;I am trying to find minimum value that was sustained for at least 8 consecutive observations. That minimum value should be the maximum value possible that continued for at least 8 sequential observation. I also want number of days.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the dataset type and desired output-&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;day&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;cigarettes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;13&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;11&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;23&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;17&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;21&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;17&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;17&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;18&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;11&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;19&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;18&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired output -&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;id&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sustained minimum cigarettes&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sustained minimum days&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As we see for ID 1 had at least 12 cigarettes for 8 days( from day 3 to day 10) and ID had 15 cigarettes for 9 days(from day 4 to day 12).&lt;/P&gt;&lt;P&gt;Any suggestions on how to do it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 22 May 2022 18:47:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814619#M321543</guid>
      <dc:creator>ScoobyDO</dc:creator>
      <dc:date>2022-05-22T18:47:56Z</dc:date>
    </item>
    <item>
      <title>Re: Sequential minimum sustained values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814621#M321544</link>
      <description>&lt;P&gt;The highest value for ID 1 in the timespan 3 to 10 is 16, not 12. Similar for ID 2.&lt;/P&gt;</description>
      <pubDate>Sun, 22 May 2022 19:47:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814621#M321544</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-05-22T19:47:24Z</dc:date>
    </item>
    <item>
      <title>Re: Sequential minimum sustained values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814622#M321545</link>
      <description>Hello Kurt, We are looking at the minimum value which is maximum of all the smaller values for 8 days, that was consistent from day 3 to day 10. In other words for that period there were no values less than 12 for ID one. ID 1 had at least 12 cigarettes for 8 days.&lt;BR /&gt;</description>
      <pubDate>Sun, 22 May 2022 19:57:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814622#M321545</guid>
      <dc:creator>ScoobyDO</dc:creator>
      <dc:date>2022-05-22T19:57:05Z</dc:date>
    </item>
    <item>
      <title>Re: Sequential minimum sustained values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814623#M321546</link>
      <description>&lt;P&gt;Your explanation confused me, but your numbers suggest you want:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Track, for each rolling 8-day windows, the minimum cigarette consumption&lt;/LI&gt;
&lt;LI&gt;Over all such 8-day windows keep the maximum of those 8-day minumums&lt;/LI&gt;
&lt;LI&gt;For that maximum, which must start out with an 8-day length, see how much further it might last.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is suggestion you can test against your data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (keep=id highest_min_cig8 sustained);;
  do n=1 by 1 until (last.id);
    set have;
    by id;
    array cigvals {0:7} _temporary_;  /*Most recent 8-day window of cigarette values*/
    cigvals{mod(n,8)}=cigarettes;

    if n&amp;gt;=8 then do;
      min_cig8=min(of cigvals{*});
      if min_cig8&amp;gt;highest_min_cig8 then do;
        highest_min_cig8=min_cig8;
        mmc8_beg=n-7;
        mmc8_end=n;
      end;
      else if min_cig8=highest_min_cig8 then mmc8_end=mmc8_end+1;
    end;
  end;
  sustained=mmc8_end+1-mmc8_beg;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 22 May 2022 20:03:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814623#M321546</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-05-22T20:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: Sequential minimum sustained values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814625#M321547</link>
      <description>This works!! Thank you</description>
      <pubDate>Sun, 22 May 2022 20:36:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sequential-minimum-sustained-values/m-p/814625#M321547</guid>
      <dc:creator>ScoobyDO</dc:creator>
      <dc:date>2022-05-22T20:36:39Z</dc:date>
    </item>
  </channel>
</rss>

