Thanks for checking... Ken Ray Sons of Thunder Software Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.com/
----- Original Message ----- From: "jbv" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, December 19, 2002 2:57 PM Subject: Re: Dumb sort question - Tanks & Comments > > > Ken, > > Sorry for being so late on this topic, but last week has been > sort of hectic... > > Anyway, thanks a lot for your suggestion. > I found the time to test it today : it works great but, like the other > script submitted by Jacqueline, it becomes rather slow when the > amount of data gets large... > > Best regards, > JB > > > jb, > > > > I'm sorry that I came in late on this, but here's a way to do it with a > > custom transposing function... it may not be fast enough, but adapt it to > > your data and give it a try and let us know your results: > > > > on mouseUp > > -- A sample line number to extract > > put 3 into theLineToGet > > put 1 into theItemNumberToSortBy > > > > -- Some sample data > > put "b,d,c,a" & cr & "2,4,3,1" & cr & "B,D,C,A" & cr & "20,40,30,10" > > into tVar > > > > -- Transpose the data > > put transposeIt(tVar) into temp > > > > -- Sort it > > sort lines of temp by item theItemNumberToSortBy of each > > > > -- extract "line" (column) of data, put it into a field > > put line theLineToGet of transposeIt(temp) into fld 1 > > end if > > end mouseUp > > > > function transposeIt what > > -- assumes comma-delimited items and cr-delimited lines > > put "" into returnVal > > put 1 into tItemCounter > > repeat for each line tLine in what > > put 1 into tLineCounter > > if tItemCounter = 1 then > > -- use replace for quick action on first "line" of data > > replace "," with cr in tLine > > put tLine into returnVal > > else > > repeat for each item i in tLine > > put "," after line tLineCounter of returnVal > > put i after line tLineCounter of returnVal > > add 1 to tLineCounter > > end repeat > > end if > > add 1 to tItemCounter > > end repeat > > return returnVal > > end transposeIt > > > > Hope this helps, > > > > Ken Ray > > Sons of Thunder Software > > Email: [EMAIL PROTECTED] > > Web Site: http://www.sonsothunder.com/ > > > > ----- Original Message ----- > > From: "jbv" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Sunday, December 08, 2002 9:36 AM > > Subject: Re: Dumb sort question - Tanks & Comments > > > > > Thank you all for your help & suggestions. > > > Unfortunately, none of them helped solving > > > my problem... > > > Below you'll find a few more info on what > > > I'm trying to do, comments on some suggestions > > > and finally some feature requests for future versions > > > of MC. > > > > > > Basically, I need to sort a variable featuring 5 lines > > > with a max of 30,000 items each. The sort key could > > > be any of the 5 lines, and after sorting I'd like to extract > > > any line of the variable (get line 3 of myVariable) for > > > further processing. The content of every item of every > > > line can change / evolve continuously. > > > When the variable is organized as 30,000 lines of 5 items > > > each, sorting is a snap (less than 1 second), but then > > > extracting 1 column is impossible... > > > > > > > > > ............................ > > > Jacqueline : > > > Thanks for your script : it works great, but when the variable > > > reaches 20,000 items per line, it becomes way too slow... > > > > > > ............................ > > > Ray : > > > Yes, the transpose function looks attracting, but unfortunately > > > it only works on arrays. And once the array has been transposed, > > > it seems impossible to extract 1 single line / row. I tried to put the > > > array > > > content into a variable, but it remains stractured as an array... > > > BTW, when the size of a 2 dimensions array reaches a certain limit > > > (5 rows & 20,000 column), I get the error message : "can't transpose > > > this array" (or something similar), while it works fine with 5 rows and > > > 10,000 colums... Is it a bug ? > > > > > > ............................ > > > Mr X : > > > Yes, 1 of the Rinaldi externals does that perfectly, but doesn't run > > > on Windoze... > > > > > > ............................ > > > Andu and Tariel : > > > Yes, being able to access arrays content via individual rows & columns > > > would be a GREAT feature... > > > I'd even dare to say that future versions of MC should implement most > > > of the properties & functions associated with spreadsheets in OMO, but > > > applied to arrays, which means : > > > - the ability to split arrays vertically & horizontally > > > - the ability to extract individual rows / colums > > > - the ability to sort the content of an array according to sort keys > > > that > > > could be individual rows / colums > > > - a special find function that would work like in OMO spreadsheets : > > > find rows of myTab where item 2 > 10 > > > would return a comma-separated list of numbers of rows for which > > > this condition is true > > > > > > Actually, spreadsheets in OMO where 1 of the greatest tools I've ever > > > used and I still miss them several years later... > > > Of course, this would work on 1 or 2 dimension arrays; for 3 dimension > > > arrays, things get more complex... > > > > > > Cheers, > > > JB > > > > > > > > > > > > _______________________________________________ > > > metacard mailing list > > > [EMAIL PROTECTED] > > > http://lists.runrev.com/mailman/listinfo/metacard > > > > > > > _______________________________________________ > > metacard mailing list > > [EMAIL PROTECTED] > > http://lists.runrev.com/mailman/listinfo/metacard > > > > > _______________________________________________ > metacard mailing list > [EMAIL PROTECTED] > http://lists.runrev.com/mailman/listinfo/metacard > _______________________________________________ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard