<?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: Looking for a repeating sequence/pattern across multiple columns in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737477#M229929</link>
    <description>&lt;P&gt;&lt;EM&gt;&amp;gt; alternate between two names regularly&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;How do you define &lt;EM&gt;regularly&lt;/EM&gt;?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You say that ABAB qualifies, but AB doesn't. What about&amp;nbsp;ABA? Or ABCAB?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A strategy would be:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;1. Put values in an array (let's call it &lt;EM&gt;full&lt;/EM&gt; array, optional)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;2. Remove consecutive&amp;nbsp;duplicates (let's call it &lt;I&gt;dedupe&amp;nbsp;&lt;/I&gt;array)&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;3. Create an array full deduplicated&amp;nbsp; (let's call it &lt;EM&gt;list&lt;/EM&gt; array)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;4. Count the number of time each value in &lt;EM&gt;list&lt;/EM&gt; appears in &lt;I&gt;dedupe&amp;nbsp;&lt;/I&gt;and apply the rules you've set.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 28 Apr 2021 00:36:09 GMT</pubDate>
    <dc:creator>ChrisNZ</dc:creator>
    <dc:date>2021-04-28T00:36:09Z</dc:date>
    <item>
      <title>Looking for a repeating sequence/pattern across multiple columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737429#M229890</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been scratching my head with this all day. I can think of solutions that apply to individual cases, but not something dynamic enough to adapt to different data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Essentially, I have a dataset that includes changes made to a policy. I'm looking to identify those that alternate between two names regularly. The problem is, the number of changes and the permutations of these can be flexible.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example, I'd want to include these policies, as their names at some point alternate between two:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Jones&lt;/TD&gt;&lt;TD&gt;Jones&lt;/TD&gt;&lt;TD&gt;Smith&lt;/TD&gt;&lt;TD&gt;Jones&lt;/TD&gt;&lt;TD&gt;Smith&lt;/TD&gt;&lt;TD&gt;Jones&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Heath&lt;/TD&gt;&lt;TD&gt;Davis&lt;/TD&gt;&lt;TD&gt;Heath&lt;/TD&gt;&lt;TD&gt;Davis&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;Wallis&lt;/TD&gt;&lt;TD&gt;King&lt;/TD&gt;&lt;TD&gt;Wallis&lt;/TD&gt;&lt;TD&gt;King&lt;/TD&gt;&lt;TD&gt;Wallis&lt;/TD&gt;&lt;TD&gt;Wallis&lt;/TD&gt;&lt;TD&gt;King&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Matthews&lt;/TD&gt;&lt;TD&gt;Matthews&lt;/TD&gt;&lt;TD&gt;Matthews&lt;/TD&gt;&lt;TD&gt;Stewart&lt;/TD&gt;&lt;TD&gt;Matthews&lt;/TD&gt;&lt;TD&gt;Stewart&lt;/TD&gt;&lt;TD&gt;Matthews&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wouldn't want to include these (below) as they do not regularly alternate:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Jones&lt;/TD&gt;&lt;TD&gt;Jones&lt;/TD&gt;&lt;TD&gt;Jones&lt;/TD&gt;&lt;TD&gt;David&lt;/TD&gt;&lt;TD&gt;David&lt;/TD&gt;&lt;TD&gt;David&lt;/TD&gt;&lt;TD&gt;David&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Smith&lt;/TD&gt;&lt;TD&gt;Lucas&lt;/TD&gt;&lt;TD&gt;Lucas&lt;/TD&gt;&lt;TD&gt;Lucas&lt;/TD&gt;&lt;TD&gt;Lucas&lt;/TD&gt;&lt;TD&gt;Lucas&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Williams&lt;/TD&gt;&lt;TD&gt;Williams&lt;/TD&gt;&lt;TD&gt;Williams&lt;/TD&gt;&lt;TD&gt;Williams&lt;/TD&gt;&lt;TD&gt;Jones&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm not sure I've explained this particularly well, but&amp;nbsp; I hope this makes sense. I'm trying to identify those that at any point exhibit a pattern of alternating between two names. I've been given the threshold of switching from one name to another and back again at any point in the history of changes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance for reading and for any advice.&lt;/P&gt;</description>
      <pubDate>Tue, 27 Apr 2021 20:59:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737429#M229890</guid>
      <dc:creator>ChrisJones92</dc:creator>
      <dc:date>2021-04-27T20:59:21Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a repeating sequence/pattern across multiple columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737477#M229929</link>
      <description>&lt;P&gt;&lt;EM&gt;&amp;gt; alternate between two names regularly&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;How do you define &lt;EM&gt;regularly&lt;/EM&gt;?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You say that ABAB qualifies, but AB doesn't. What about&amp;nbsp;ABA? Or ABCAB?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A strategy would be:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;1. Put values in an array (let's call it &lt;EM&gt;full&lt;/EM&gt; array, optional)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;2. Remove consecutive&amp;nbsp;duplicates (let's call it &lt;I&gt;dedupe&amp;nbsp;&lt;/I&gt;array)&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;3. Create an array full deduplicated&amp;nbsp; (let's call it &lt;EM&gt;list&lt;/EM&gt; array)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;4. Count the number of time each value in &lt;EM&gt;list&lt;/EM&gt; appears in &lt;I&gt;dedupe&amp;nbsp;&lt;/I&gt;and apply the rules you've set.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Apr 2021 00:36:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737477#M229929</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2021-04-28T00:36:09Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a repeating sequence/pattern across multiple columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737478#M229930</link>
      <description>&lt;P&gt;How about a code like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  length name1-name7 $20;
  infile datalines dsd missover;
input name1--name7;
datalines;
Jones,Jones,Smith,Jones,Smith,Jones, 
Matthews,Matthews,Matthews,Stewart,Matthews,Stewart,Matthews
Jones,Jones,Jones,David,David,David,David
Heath,Davis,Heath,Davis, , , 
Wallis,King,Wallis,King,Wallis,Wallis,King
Williams,Williams,Williams,Williams,Jones, , 
Smith,Lucas,Lucas,Lucas,Lucas,Lucas, 
;
run;
data want;
  set have;
  array a_name{7} name1-name7;
  flg=0;
  do i=2 to dim(a_name)-2;
    if a_name{i} ^= '' then do;
      if a_name{i-1}=a_name{i+1} and
         a_name{i}=a_name{i+2} and
         a_name{i}^=a_name{i+1} then do;
        flg=1;
        if flg then leave;
      end;
    end;
  end;
  if flg;
  drop i flg;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 28 Apr 2021 00:36:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737478#M229930</guid>
      <dc:creator>japelin</dc:creator>
      <dc:date>2021-04-28T00:36:46Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a repeating sequence/pattern across multiple columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737568#M229961</link>
      <description>Amazing! This worked perfectly. Many thanks for your help!</description>
      <pubDate>Wed, 28 Apr 2021 13:22:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Looking-for-a-repeating-sequence-pattern-across-multiple-columns/m-p/737568#M229961</guid>
      <dc:creator>ChrisJones92</dc:creator>
      <dc:date>2021-04-28T13:22:35Z</dc:date>
    </item>
  </channel>
</rss>

