<?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: Data Step IN operator in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98420#M20783</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;
&lt;P&gt;Kanna wrote:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Paige, try this:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;data null;&lt;BR /&gt; List206 = " '213' , '214' , '215' ";&lt;BR /&gt; call symput("List206",List206);&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;data locate206;&lt;BR /&gt; set myinfile;&lt;BR /&gt; if TransactionCode = '206' and AllowableCode in (&amp;amp;List206) then do;&lt;BR /&gt;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;run;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;Not a workable answer. For this to work, you would have to know in advance of the working with the dataset what the list of allowable codes is, and as shown, the list of allowable codes changes for every observation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FINDW works perfectly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 02 Aug 2013 19:51:07 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2013-08-02T19:51:07Z</dc:date>
    <item>
      <title>Data Step IN operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98415#M20778</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would like to use the data step IN operator where the value inside parenthesis to the right of the word IN is itself a variable in that data set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, I receive a transaction code, and I want to determine if the code is contained in a list of allowable codes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, here is some example data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;TransactionCode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllowableCodes&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;206&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/12/11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 213,214,215&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;209&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/19/11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 208,209,210,228&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/17/11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 213,214,229&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;I would like to compare the TransactionCode to AllowableCodes, and if that transaction code is contained within AllowableCodes, I take some action. In this case, only the second row of the data would pass the test (transaction code 209 is contained within AllowableCodes). The other rows would not pass the test.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;I would like to write a data step command such as &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;if transactioncode in (allowablecodes) then flag=1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;but that syntax doesn't work.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;I'm looking for a simple way to accomplish this, if it exists. I realize I could write a loop, but that's problematic for other reasons that I won't get into right now.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2013 17:31:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98415#M20778</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2013-08-02T17:31:20Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step IN operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98416#M20779</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you tried Findw() function? Of course, PRXMatch can do it as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2013 17:54:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98416#M20779</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-08-02T17:54:46Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step IN operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98417#M20780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's not likely to work anytime soon, as the IN operator doesn't even work with numeric variables in the list! I would use :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data test;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;input TransactionCode Date :mmddyy. AllowableCodes :$20.;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;format date date9.;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;datalines;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;206&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/12/11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 213,214,215&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;209&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/19/11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 208,209,210,228&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2/17/11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 213,214,229&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data want;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;set test;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;flag = findw(AllowableCodes, strip(put(TransactionCode, 8.)), ", ") &amp;gt; 0;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc print data=want; run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2013 17:55:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98417#M20780</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2013-08-02T17:55:28Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step IN operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98418#M20781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, thank you &lt;A __default_attr="4063" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt; and &lt;A __default_attr="2746" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt;, FINDW was exactly what I was looking for.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2013 17:59:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98418#M20781</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2013-08-02T17:59:02Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step IN operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98419#M20782</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Paige, try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data null;&lt;BR /&gt; List206 = " '213' , '214' , '215' ";&lt;BR /&gt; call symput("List206",List206);&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data locate206;&lt;BR /&gt; set myinfile;&lt;BR /&gt; if TransactionCode = '206' and AllowableCode in (&amp;amp;List206) then do;&lt;BR /&gt;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2013 18:01:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98419#M20782</guid>
      <dc:creator>Kanna</dc:creator>
      <dc:date>2013-08-02T18:01:11Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step IN operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98420#M20783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;
&lt;P&gt;Kanna wrote:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Paige, try this:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;data null;&lt;BR /&gt; List206 = " '213' , '214' , '215' ";&lt;BR /&gt; call symput("List206",List206);&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;data locate206;&lt;BR /&gt; set myinfile;&lt;BR /&gt; if TransactionCode = '206' and AllowableCode in (&amp;amp;List206) then do;&lt;BR /&gt;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;run;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;Not a workable answer. For this to work, you would have to know in advance of the working with the dataset what the list of allowable codes is, and as shown, the list of allowable codes changes for every observation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FINDW works perfectly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2013 19:51:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-IN-operator/m-p/98420#M20783</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2013-08-02T19:51:07Z</dc:date>
    </item>
  </channel>
</rss>

