LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (June 2005, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 24 Jun 2005 10:31:05 +1200
Reply-To:     robin.templer@xtra.co.nz
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Robin & Charmaine Templer <robin.templer@XTRA.CO.NZ>
Subject:      Re: WHERE clause limits
Comments: To: "Michael S. Zdeb" <msz03@health.state.ny.us>
Content-Type: text/plain; charset=ISO-8859-1

Really must get out of the habit of answering sas-l late at night.

It was 8.2 on HPUX. We were trying to tune a SQL query which was taking 60+ minutes, using put(a,fmt.)='Y' in the where - we tried changing to use in(1,2,3,4,56....) but could not, due to the unknown number of values (non -consecutive) and the random dropping of some of the values.

We ended up changing the query to a join - 15 minutes.

> > From: "Michael S. Zdeb" <msz03@health.state.ny.us> > Date: 2005/06/24 Fri AM 01:00:09 GMT+12:00 > To: robin.templer@xtra.co.nz > CC: SAS-L@LISTSERV.UGA.EDU > Subject: Re: WHERE clause limits > > > Hi...WHERE does the 140 value limit come from...using V9.1.3 on a Windows > XP PC...here are 1,000 values (10,000 also works)... > > filename x temp; > > data test; > file x; > put "data new; set test; where j in ("; > do j=1 to 1000; > output; > put j; > end; > put "); run;"; > run; > > %include x; > > The LOG.. > > NOTE: There were 1000 observations read from the data set WORK.TEST. > WHERE j in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, > 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, > 36, 37, > 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, > 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, > 74, 75, > 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, > 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, > 109, 110, > 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, > 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, > 140, > 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, > 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, > 170, > 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, > 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, > 200, > > <many more lines> > > 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, > 215, 216, 217, 218, 219, 220, 911, 912, 913, 914, 915, 916, 917, 918, 919, > 920, > 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, > 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, > 950, > 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, > 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, > 980, > 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, > 995, 996, 997, 998, 999, 1000); > NOTE: The data set WORK.NEW has 1000 observations and 1 variables. > NOTE: DATA statement used (Total process time): > real time 0.11 seconds > cpu time 0.12 seconds > > > Mike Zdeb > U@Albany School of Public Health > 1 University Drive > Rensselaer, NY 12144-3456 > (P)518-402-6479 > (F)630-604-1475 > > > > |---------+----------------------------> > | | Robin & Charmaine| > | | Templer | > | | <robin.templer@xt| > | | ra.co.nz> | > | | Sent by: "SAS(r) | > | | Discussion" | > | | <SAS-L@LISTSERV.U| > | | GA.EDU> | > | | | > | | | > | | 06/22/2005 11:19 | > | | PM | > | | Please respond to| > | | robin.templer | > | | | > |---------+----------------------------> > >--------------------------------------------------------------------------------------------------------------| > | | > | To: SAS-L@LISTSERV.UGA.EDU | > | cc: | > | Subject: Re: WHERE clause limits | > >--------------------------------------------------------------------------------------------------------------| > > > > > Well - I know for certain that a where clause using IN will not take 140 > values!! What was concerning was that it seemed to drop random values out > of the clause - but I think that this is more to do with the IN operator > than the where clause itself. > > > > > From: thelaker@GMAIL.COM > > Date: 2005/06/23 Thu PM 02:37:52 GMT+12:00 > > To: SAS-L@LISTSERV.UGA.EDU > > Subject: Re: WHERE clause limits > > > > > Is there any chance that whatever length limit is operating here > applies > > > only to the clause that gets echoed back in these NOTEs? Or are you > > > actually getting data in your dset that don't meet your full WHERE > > > clause? > > > > > > > It's the opposite of your last statement. I was failing to get > > observations in the claims_subset dataset that should have been > > included if the full WHERE clause had been implemented. When testing > > this on real data, I converted this WHERE clause to an IF statement > > (changing all the BETWEENs to 'value'<=variable<='value' expressions) > > and got all the observations I expected in claims_subset. > > > > >


Back to: Top of message | Previous page | Main SAS-L page