<?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 Sincerely asking to find 3 consecutive value and then flag in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Sincerely-asking-to-find-3-consecutive-value-and-then-flag/m-p/831297#M328477</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a account list with value at different time from T1 to T6. I am trying to flag the record when any of 3 consecutive time records have value under 5:&lt;/P&gt;&lt;P&gt;I know I can check if (T1&amp;lt;5 and T2&amp;lt;5 and T3&amp;lt;5 ) or (T2&amp;lt;5 and T3&amp;lt;5 and T4&amp;lt;5) or .... under four combinations&lt;/P&gt;&lt;P&gt;I wonder whether there is any smart and advance way to code this?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Acct&lt;/TD&gt;&lt;TD&gt;T1&lt;/TD&gt;&lt;TD&gt;T2&lt;/TD&gt;&lt;TD&gt;T3&lt;/TD&gt;&lt;TD&gt;T4&lt;/TD&gt;&lt;TD&gt;T5&lt;/TD&gt;&lt;TD&gt;T6&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;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;d&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;e&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Wed, 31 Aug 2022 15:56:11 GMT</pubDate>
    <dc:creator>septemberbulb</dc:creator>
    <dc:date>2022-08-31T15:56:11Z</dc:date>
    <item>
      <title>Sincerely asking to find 3 consecutive value and then flag</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sincerely-asking-to-find-3-consecutive-value-and-then-flag/m-p/831297#M328477</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a account list with value at different time from T1 to T6. I am trying to flag the record when any of 3 consecutive time records have value under 5:&lt;/P&gt;&lt;P&gt;I know I can check if (T1&amp;lt;5 and T2&amp;lt;5 and T3&amp;lt;5 ) or (T2&amp;lt;5 and T3&amp;lt;5 and T4&amp;lt;5) or .... under four combinations&lt;/P&gt;&lt;P&gt;I wonder whether there is any smart and advance way to code this?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Acct&lt;/TD&gt;&lt;TD&gt;T1&lt;/TD&gt;&lt;TD&gt;T2&lt;/TD&gt;&lt;TD&gt;T3&lt;/TD&gt;&lt;TD&gt;T4&lt;/TD&gt;&lt;TD&gt;T5&lt;/TD&gt;&lt;TD&gt;T6&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;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;d&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;e&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 31 Aug 2022 15:56:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sincerely-asking-to-find-3-consecutive-value-and-then-flag/m-p/831297#M328477</guid>
      <dc:creator>septemberbulb</dc:creator>
      <dc:date>2022-08-31T15:56:11Z</dc:date>
    </item>
    <item>
      <title>Re: Sincerely asking to find 3 consecutive value and then flag</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sincerely-asking-to-find-3-consecutive-value-and-then-flag/m-p/831304#M328483</link>
      <description>&lt;P&gt;UNTESTED CODE&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    array t t1-t6;
    flag=0;
    do i=1 to dim(t)-2;
        if t(i)&amp;lt;5 and t(i+1)&amp;lt;5 and t(i+2)&amp;lt;5 then flag=1;
    end;
    drop i;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want tested code, do not provide data as screen captures. Provide data as &lt;FONT color="#FF0000"&gt;working&lt;/FONT&gt; 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;instructions&lt;/A&gt;), or by typing it in yourself.&lt;/P&gt;</description>
      <pubDate>Wed, 31 Aug 2022 16:27:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sincerely-asking-to-find-3-consecutive-value-and-then-flag/m-p/831304#M328483</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-08-31T16:27:16Z</dc:date>
    </item>
    <item>
      <title>Re: Sincerely asking to find 3 consecutive value and then flag</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sincerely-asking-to-find-3-consecutive-value-and-then-flag/m-p/831312#M328488</link>
      <description>&lt;P&gt;If you contemplate looking for series of numbers substantially longer than 3 time points, you might want to forego the syntax of&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; x{i}&amp;lt;5 and x{i+1}&amp;lt;5 and ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and try using the MAX function:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    array t t1-t6;
    flag=0;
    do i=1 to dim(t)-2 until (flag=1);
        flag=(max(t{i},t{i+1},t{i+2})&amp;lt;5);
    end;
    drop i;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Also the "until (flag=1)" expression stops the looping if a qualifying series if found in an early iteration.&lt;/P&gt;</description>
      <pubDate>Wed, 31 Aug 2022 17:15:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sincerely-asking-to-find-3-consecutive-value-and-then-flag/m-p/831312#M328488</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-08-31T17:15:35Z</dc:date>
    </item>
  </channel>
</rss>

