Short and easy to follow but N is not always numeric.

Dennis Bartlett <[EMAIL PROTECTED]> wrote:a proggie is the easiest (as not got 
finickety run params, no 'maybe wont works, etc), and way, way quicker!
 
 
max.n = 500                                                            ; * set to the 
max no of possible 'N' s
dim N(max.n) ; mat N = ''                                          ; * storage area 
for highest X encountered thus far
list      = ''                                                                ; * 
variable to build list into
open 'ACTUAL.FILE" to Afile then                              ; * whatever file you're 
processing
     select Afile                                                         ; * doesn't 
require a presort of the file
     loop
         readnext key else exit
         prefix = field(key,'.',1)
         suffix = field(key,'.',2)
         if suffix > N(prefix) then N(prefix) = suffix           ; * keep only the 
highest X per N
     repeat
     for x = 1 to max.n                                               ; * once file 
processed, build a list
         list := x : '.' : N(x) : @fm
     next x
     list[-1,1] = ''                                                        ; * remove 
the final field mark
     formlist list                                                         ; * 
activate the list
end
             
             

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Anthony Youngman
Sent: 04 February 2004 01:08
To: U2 Users Discussion List
Subject: RE: Help wanted creating an efficient SELECT statement


This is a bit messy ...
 
Firstly create an i-descriptor as follows
 
0002: FIELD( @ID, ",", 1, 1); FIELD( @ID, ",", 2, 1)+1; TRANS( @FILENAME, @1:".":@2, 
0, "X")
 
(I think I've got that right...)
 
What it's doing is adding 1 to the X bit, and doing a trans to see if the record 
exists. If I've got it right, this i-descriptor should return the next id if it 
exists, and null if it doesn't. So just select with this thing equal to null. Of 
course, it'll be fooled if you have a non-sequential X list.
 
Cheers,
Wol


---------------------------------
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Marco Manyevere
Sent: 04 February 2004 08:20
To: [EMAIL PROTECTED]
Subject: Help wanted creating an efficient SELECT statement



Hi All,
 
I have a file with IDs like this:
 
1.2, 1.2 1.3, 2.1, 2.2, 2.3, 2.4, 3.1, 4.1, 5.1, 5.2, ...
 
Each ID is N.X where X is a numeric secondary ID number from 1 going upwards and N is 
the primary ID number which may or may not be numeric. Different primary IDs have a 
different number of secondary IDs. 
 
For a certain report, I want to select only the records with the highest numerical 
value of X for each of N. For the above example, I want to end up with 1.3, 2.4, 3.1, 
4.1, 5.2, Can a SELECT statement(s) be composed without having to write a program? If 
not what would be the best approach.
 
Thanks for any help.
Marco


---------------------------------
BT Yahoo! Broadband - Free modem offer, sign up online today and save �80

***********************************************************************************

This transmission is intended for the named recipient only. It may contain private and 
confidential information. If this has come to you in error you must not act on 
anything disclosed in it, nor must you copy it, modify it, disseminate it in any way, 
or show it to anyone. Please e-mail the sender to inform us of the transmission error 
or telephone ECA International immediately and delete the e-mail from your information 
system.

Telephone numbers for ECA International offices are: Sydney +61 (0)2 9911 7799, Hong 
Kong + 852 2121 2388, London +44 (0)20 7351 5000 and New York +1 212 582 2333.

***********************************************************************************
-- 
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users


                
---------------------------------
BT Yahoo! Broadband - Free modem offer, sign up online today and save �80
-- 
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users

Reply via email to