On 3.4, you can add DCOUNT() functionality, for use in I-types, by creating a DCOUNT subroutine as SUBROUTINE DCOUNT(result, param1, param2) result = DCOUNT(param1, param2) RETURN
Dan On Wed, May 6, 2009 at 2:07 PM, Charlie Noah <[email protected]>wrote: > Pat, > > Partial jdiag info: > > System : AIX junior 3.5 000177514C00 > OS Release : 5.3.0.0 > RELEASE Information : Major 3.4 , Minor 8 , Patch 0351 > Spooler dir (JBCSPOOLERDIR) : '/usr/jspooler' > JBCEMULATE : 'UNIVERSE' > > I just did a test with this I-type: > > DICT JUNK.CWN.1 TEST.1 > 001: I > 002: 1 + 2 > 003: > 004: Test > 005: 4R > 006: S > > LIST JUNK.CWN.1 *A1 *A2 TEST.1 > > JUNK.CWN.1.......... *A1................. *A2................. Test > > 5-70517*197909*5 14723 14723 3 > 23-TR506*494827*23 14936 14936 3 > 3-BC302*200782*3 14873 14873 3 > > The 1 and 2 are definitely being interpreted as literals here and not as > attributes. I believe the emulation would have a lot to do with that. > > You're the one who left out DCOUNT? In the immortal words of Jim: "You're > fired - again!" ;-) > > Charlie > > pat wrote, On 05/06/2009 10:53 AM: > > Au contraire Charlie, > > The unquoted numeric literal is used as an Attribute reference in > everything but ... '@RECORD', where jBASE 3.4 is intelligent enough to > know that the numeric value inside '< >' is a number, and not an > attribute reference > > But yes, the 'COUNT + 1' will be incorrect for Null attributes, so > apologies for that > > And apologies for not implementing 'DCOUNT' which would have made life > simpler > > *** > > Ian, > > I-types are equivalent to the V types used in your previous 'life' > before jBASE ;-) > [ jBASE 3.4 also has 'D' types ala the 'D' types from your previous > incarnation ] > > I types are originally from Prime I believe > > Pat. > > On 6 May, 13:33, Charlie Noah <[email protected]> > <[email protected]> wrote: > > > Pat, > I-Type dict items generally don't perform as efficiently in Jbase as 10-line > Pick types. I am basing this on experience with Jbase 3.4.x. Things may be > different with 4.x If either will do the job, do a timing test to determine > which is faster, especially if it will be used a lot. > BTW, in your mvcnt example below, the result will be incorrect if the > attribute is null. > COUNT(@RECORD<1>, @VM) + (@RECORD<1> # '') or > IF @RECORD<1> # '' THEN COUNT(@RECORD<1>, @VM) + 1 ELSE 0 (or '' if you > prefer). > will return the correct result. It's a pity DCOUNT() doesn't work, although, > again, I'm referring to 3.4.x. Also, in your example, you are using 1 as an > attribute reference first, and as a literal second. Depending on your > emulation, it will either be one or the other. > Regards, > Charlie Noah > Inland Truck Parts Company > pat wrote, On 05/05/2009 05:16 PM:Why restrict yourself to 10 line DICTionary > items ? Try the additional features provided by I types DICT file > mv2_of_Attr1 Last_mv_of_Attr1 mvcnt mv2_of_Attr1 001 I 002 @RECORD<1,2> 003 > 004 2nd Value in Attribute 1 005 10L Last_mv_of_Attr1 001 I 002 > FIELD(1,@VM,mvcnt) 003 004 Last value in Attribute 1 005 10L mvcnt 001 I 002 > COUNT(1,@VM)+1 003 004 Number of values in Attribute 1 005 5R LIST file > mv2_of_Attr1 Last_mv_of_Attr1 should give you : 'dave' and 'chris' > respectively, based on your data below, Pat. On 5 May, 11:13, > inavran<[email protected]> <[email protected]>wrote:Hi, I was wondering if > anyone knew the correct syntax for extracting the 'last multi-value' from a > field using a 10 line dictionary items eg record (3 attributes with 4 > multi-values on each line) 001:john]dave]simon]chris > 002:blue]red]yellow]green 003:30]25]42]50 i would want to extract just > "chris" from attribute > 1. (being the last MV) also, i would be curious how to extract a specific > other multi value as well (eg "dave" (MV 2) at present i am doing this using > a subroutine CALL within the DICT, which is very slow (as you would expect), > so i am keen to get a better solution in place. I am using jBASE 3.4.x on > Windows 2003 Many thanks in advance. Ian > > > > > > > --~--~---------~--~----~------------~-------~--~----~ Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en -~----------~----~----~----~------~----~------~--~---
