<?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: Switch in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157811#M30822</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;/* sets switch flag 0=false, 1=true for each acct_nbr*/ I didn't bother to drop variables from the output.&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt; set have;&lt;/P&gt;&lt;P&gt; by acct_nbr notsorted;&lt;/P&gt;&lt;P&gt; retain switch firstid;&lt;/P&gt;&lt;P&gt; if first.acct_nbr then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* reset retained variables*/&lt;/P&gt;&lt;P&gt;&amp;nbsp; switch = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp; firstid = id;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if trig_cd ne 'NAC' then switch=0;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt; if id ne firstid and switch = . then switch = 1;&lt;/P&gt;&lt;P&gt; if last.acct_nbr then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if firstid = id then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if switch = 1 then switch=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else switch= 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else switch = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 May 2014 21:59:34 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2014-05-13T21:59:34Z</dc:date>
    <item>
      <title>Switch</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157809#M30820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;acct_nbr&amp;nbsp; id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trig_cd&lt;BR /&gt;12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAC&lt;BR /&gt;12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&lt;BR /&gt;12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&lt;BR /&gt;12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAC&lt;BR /&gt;23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&lt;BR /&gt;23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAC&lt;BR /&gt;34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&lt;BR /&gt;34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAC&lt;BR /&gt;45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&lt;BR /&gt;45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAC&lt;BR /&gt;56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&lt;BR /&gt;56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT &lt;/P&gt;&lt;P&gt;56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1&amp;nbsp;&amp;nbsp;&amp;nbsp; MNT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the above sample data, if an acct_nbr switches id and the last id is the same as first id where the trig_cd is "NAC" then it is called a switch. and I need to find out how many id's had switched.&lt;/P&gt;&lt;P&gt;for example,acct_nbr 12345 for trig_cd NAC, the initial id is C1. Later it remained C1, switched to C2 and for the last record it was C1 again. Here it is a Switch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Similarly, acct_nbr 23456 initially it was C1, swictched to C2 and then back to C1, It is a Switch,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Acct_nbr 34567, it was C1,then remained C2 and never got back to C1. Hence Not a Switch,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Acct_nbr 45678 initially C1, Switched to C2 and C3 and never got back to C1,Hence Not a Switch,&lt;/P&gt;&lt;P&gt;Acct_nbr 56789 is also a switch&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;total number if acct_nbr's that had switched is 3 (12345 and 23456 and 56789)&lt;/P&gt;&lt;P&gt;How to get this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 May 2014 20:56:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157809#M30820</guid>
      <dc:creator>SASPhile</dc:creator>
      <dc:date>2014-05-13T20:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: Switch</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157810#M30821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is one way:&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="color: navy; background: white; font-family: 'Courier New';"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; have;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; (acct_nbr&amp;nbsp; id trig_cd) (:$);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;cards&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 MNT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 MNT &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 MNT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C3 MNT &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C3 MNT &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 MNT&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="color: navy; background: white; font-family: 'Courier New';"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; want;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;do&lt;/SPAN&gt; &lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;unTIL&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; (last.acct_nbr);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; have &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;END&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;=FINISHED;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; acct_nbr &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;notsorted&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;LENGTH&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; _NAC $ &lt;/SPAN&gt;&lt;SPAN style="color: teal; background: white; font-family: 'Courier New';"&gt;&lt;STRONG&gt;8&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; trig_cd=&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: purple; background: white;"&gt;'NAC'&lt;/SPAN&gt; &lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;THEN&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; _NAC=ID;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;IF&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; ID NE LAG(ID) &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;THEN&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; FLAG=SUM(FLAG,&lt;/SPAN&gt;&lt;SPAN style="color: teal; background: white; font-family: 'Courier New';"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;IF&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; LAST.ACCT_NBR &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;AND&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; ID=_NAC &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;AND&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; FLAG &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;THEN&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; SWITCH+&lt;/SPAN&gt;&lt;SPAN style="color: teal; background: white; font-family: 'Courier New';"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;END&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;IF&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; FINISHED &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;THEN&lt;/SPAN&gt; &lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;OUTPUT&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-family: 'Courier New'; color: blue; background: white;"&gt;KEEP&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt; SWITCH;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="color: navy; background: white; font-family: 'Courier New';"&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 May 2014 21:43:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157810#M30821</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2014-05-13T21:43:30Z</dc:date>
    </item>
    <item>
      <title>Re: Switch</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157811#M30822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;/* sets switch flag 0=false, 1=true for each acct_nbr*/ I didn't bother to drop variables from the output.&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt; set have;&lt;/P&gt;&lt;P&gt; by acct_nbr notsorted;&lt;/P&gt;&lt;P&gt; retain switch firstid;&lt;/P&gt;&lt;P&gt; if first.acct_nbr then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* reset retained variables*/&lt;/P&gt;&lt;P&gt;&amp;nbsp; switch = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp; firstid = id;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if trig_cd ne 'NAC' then switch=0;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt; if id ne firstid and switch = . then switch = 1;&lt;/P&gt;&lt;P&gt; if last.acct_nbr then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if firstid = id then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if switch = 1 then switch=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else switch= 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else switch = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 May 2014 21:59:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157811#M30822</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2014-05-13T21:59:34Z</dc:date>
    </item>
    <item>
      <title>Re: Switch</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157812#M30823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by acct_nbr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain temp _trig_cd flag;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if first.acct_nbr then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; temp=id;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; _trig_cd=trig_cd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if temp^=id then flag=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if last.acct_nbr then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if id=temp and _trig_cd='NAC' and flag=1 then switch=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else switch=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; drop temp _trig_cd flag;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Shenglin Chen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 01:49:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157812#M30823</guid>
      <dc:creator>slchen</dc:creator>
      <dc:date>2014-05-14T01:49:27Z</dc:date>
    </item>
    <item>
      <title>Re: Switch</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157813#M30824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;data have;
input (acct_nbr&amp;nbsp; id trig_cd) (:$);
cards;
12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC
12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 MNT
12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT
12345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 MNT
23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC
23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT
23456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 MNT
34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC
34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT
34567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT 
45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC
45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT
45678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C3 MNT
56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 NAC
56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2 MNT
56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C3 MNT
56789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1 MNT
;
run;
data want;
equal=0;switch=0;nac=0;
 do until(last.acct_nbr);
&amp;nbsp; set have;
&amp;nbsp; by acct_nbr;
&amp;nbsp; if first.acct_nbr then do;
&amp;nbsp;&amp;nbsp;&amp;nbsp; _id=id;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if trig_cd='NAC' then nac=1;
&amp;nbsp;&amp;nbsp;&amp;nbsp; end;
 if acct_nbr=lag(acct_nbr) and id ne lag(id) then switch=1;
 if last.acct_nbr and _id=id then equal=1;
end;
if &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;equal and switch and nac then output;
run;
proc sql;
 select count(*) from want;
quit;



&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 13:09:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Switch/m-p/157813#M30824</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-05-14T13:09:46Z</dc:date>
    </item>
  </channel>
</rss>

