<?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: IN operator filtering in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109698#M30499</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I suspect that the ORDER of the comparison values may make a difference as well. From other SAS comparisons as soon as a true condition is found, such as in a long string of OR comparisons, the SAS stops evaluating and returns true. If you have some idea which of your values might be true more often, place them at the start of the list.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 May 2012 14:51:51 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2012-05-11T14:51:51Z</dc:date>
    <item>
      <title>IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109689#M30490</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a performance difference between numeric and character values when used as filter for the IN operator?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from a where var in(1,2,3,4);&lt;/P&gt;&lt;P&gt;VS&lt;/P&gt;&lt;P&gt;select * from a where var in('1','2','3','4');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 08:56:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109689#M30490</guid>
      <dc:creator>milts</dc:creator>
      <dc:date>2012-05-10T08:56:11Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109690#M30491</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As My imagination ..&lt;/P&gt;&lt;P&gt;Episode1 is faster than Episode2.&lt;/P&gt;&lt;P&gt;Of course, I am not one hundred percent sure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 09:40:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109690#M30491</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-05-10T09:40:32Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109691#M30492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And I think that the performance difference would only be noticeable (if ever) when processing millions+ observations.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 11:52:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109691#M30492</guid>
      <dc:creator>FloydNevseta</dc:creator>
      <dc:date>2012-05-10T11:52:23Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109692#M30493</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Lengths of strings may be a factor if the strings&amp;nbsp; don't differ until you get to character 200 or so ...&lt;/P&gt;&lt;P&gt;But that's just a guess and since you're unlikely to be generating numbers with that many significant figures probably immaterial.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 15:46:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109692#M30493</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2012-05-10T15:46:57Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109693#M30494</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You may have more of a point than you realize.&amp;nbsp; Numerics are typically stored in 8 bytes.&amp;nbsp; If the character string is truly 1 byte long, that's probably faster.&amp;nbsp; Of course, that might be just for illustration purposes in the original post and the actual lengths might be different.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 16:33:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109693#M30494</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-05-10T16:33:25Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109694#M30495</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi. SASBigot,&lt;/P&gt;&lt;P&gt;Did you test it ?&lt;/P&gt;&lt;P&gt;I hope you can give us some LOG information to show how different they are.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2012 01:55:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109694#M30495</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-05-11T01:55:46Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109695#M30496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your comments. In addition to my question above, I would also like to ask if there is which one is faster:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where var in('A','B','C',........'Z') /* a number of values in the IN operator */&lt;/P&gt;&lt;P&gt;VS&lt;/P&gt;&lt;P&gt;where var in('A','B','C') /* few values in the IN operator. in this case only 3 */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2012 02:08:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109695#M30496</guid>
      <dc:creator>milts</dc:creator>
      <dc:date>2012-05-11T02:08:43Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109696#M30497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Of course, it is second, which has fewer members and less time to search .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2012 04:05:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109696#M30497</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-05-11T04:05:36Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109697#M30498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I didn't plan on testing it, but since it's Friday here you go. See how this runs in your environment. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* create 2 identically valued datasets that only ;&lt;BR /&gt;* differ by variable attributes;&lt;BR /&gt;data &lt;BR /&gt;&amp;nbsp;&amp;nbsp; dschar (keep=varchar)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; dsnum (keep=varnum);&lt;BR /&gt;length varchar $1;&lt;BR /&gt;* 2 million obs - values 0-9 uniformly dist;&lt;BR /&gt;do i = 1 to 2e6;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; varnum = int(ranuni(5) * 10);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; varchar = put( varnum, 2.-l );&lt;BR /&gt;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;options fullstimer;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* the following data steps select ~ 40% of obs;&lt;BR /&gt;data testchar;&lt;BR /&gt;set dschar;&lt;BR /&gt;where varchar in ('1','2','3','4');&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data testnum;&lt;BR /&gt;set dsnum;&lt;BR /&gt;where varnum in (1,2,3,4);&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I ran the 2 data steps several times and got similar results. I pasted part of the log below. This ran on my laptop with Windows XP on Intel Core2 Dual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;118&amp;nbsp; data testchar;&lt;BR /&gt;119&amp;nbsp; set dschar;&lt;BR /&gt;120&amp;nbsp; where varchar in ('1','2','3','4');&lt;BR /&gt;121&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 799284 observations read from the data set WORK.DSCHAR.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE varchar in ('1', '2', '3', '4');&lt;BR /&gt;NOTE: The data set WORK.TESTCHAR has 799284 observations and 1 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.39 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.15 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.04 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 206k&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OS Memory&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;&amp;nbsp; 8304k&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5/11/2012&amp;nbsp; 10:38:39 AM&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;122&lt;BR /&gt;123&amp;nbsp; data testnum;&lt;BR /&gt;124&amp;nbsp; set dsnum;&lt;BR /&gt;125&amp;nbsp; where varnum in (1,2,3,4);&lt;BR /&gt;126&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 799284 observations read from the data set WORK.DSNUM.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE varnum in (1, 2, 3, 4);&lt;BR /&gt;NOTE: The data set WORK.TESTNUM has 799284 observations and 1 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.53 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.21 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.09 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 206k&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OS Memory&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;&amp;nbsp; 8304k&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5/11/2012&amp;nbsp; 10:38:42 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2012 14:51:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109697#M30498</guid>
      <dc:creator>FloydNevseta</dc:creator>
      <dc:date>2012-05-11T14:51:41Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109698#M30499</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I suspect that the ORDER of the comparison values may make a difference as well. From other SAS comparisons as soon as a true condition is found, such as in a long string of OR comparisons, the SAS stops evaluating and returns true. If you have some idea which of your values might be true more often, place them at the start of the list.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 May 2012 14:51:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109698#M30499</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2012-05-11T14:51:51Z</dc:date>
    </item>
    <item>
      <title>Re: IN operator filtering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109699#M30500</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oh. That might be true.&lt;/P&gt;&lt;P&gt;Did you mean something like SELECT statement? That makes some sense.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 May 2012 02:31:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/IN-operator-filtering/m-p/109699#M30500</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-05-14T02:31:23Z</dc:date>
    </item>
  </channel>
</rss>

