Brian, Thank you very much for your reply. I had a number of queries in your response, as I could not work out for each PxFx you put whether I need to put the field for Qualification or Last Name, however, your explanation has inspired me to find a solution as follows:
1. Create index as you indicated: date + qualification + first + last 2. Two-level report sorted on date 3. Two-level header: RV10 containing = " " RV20 containing = " " 4. Report body RV1 containing = If P11F8 = "Lawyer" Then P11F2 Endif [P11F2 = Last Name field, P11F8 = Qualification] RV2 containing = If P11F8="Non-qualified volunteer" Then P11F2 Endif RV10 containing = cat.t[rv10;" "rv1] RV20 containing = cat.t[rv20;" "rv2] 5, Two-level footer Date [printed RV1] some text [printed RV2] This creates exactly what I was looking for (so far!). My understanding of DP is still so limited, I am sure that there is something I have got wrong in this approach (rather than yours). Victor Warner. Brian Hancock wrote: > Sometimes I worry that I should not weigh in about two-level reports because > I have had the need to use one, but that said I would think that you need to > have an index that reflects this the order, ie date + qualification + first > + last > > Create two RV's one to hold the cumulative concatenated result for a > qualification type within the two level , and the other one to preserve the > value of the previous records qualification value, > > If the value of the current and previous records RV's are the same the > append the name, but if they are different append firstly a CR and then the > name eg something like this > In the Two level header > ---Store value in RV1--- > RV1 = "" /* zap it */ > ---Store Value in RV2--- > RV2 = "" /* and zap you too */ > > > In the body > ---Store value in RV1--- > IF PxFx = RV2 THEN /* another same qualification */ > IF length[RV1] = 0 THEN > RV1 = PxFx /*ie first matching record in this group */ > ELSE > RV1 = RV1 " - " PzFX /* appending with a hyphen */ > ENDIF > ELSE > IF length[RV1] = 0 THEN > RV1 = PxFx /*ie first matching record,in this group */ > /* this may be redundant, but its early in the > And I have not had coffee yet > */ > ELSE > RV1 = cat.c[RV1;1;PzFX] /* appending with a a prior CR */ > ENDIF > ENDIF > ---Store Value in RV2--- > RV2 = PxFx /* remember the last qualification for next rec */ > > In the footer print > XXX>Two_Level_Date<XXX XXX>RV1:A60A0<XXX > > > On looking back on this, this is probably much the same as what I do when I > don't use Two-Level report when others do, so perhaps it would be easier to > somehow use a Two Level report inside a Two Level report, but thinking about > that would do my head in. I am very simple; I like a start, a middle and an > end. > > Regards > Brian > > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Victor Warner > Sent: Saturday, 3 October 2009 5:16 AM > To: [email protected] > Subject: [Dataperf] Help with constructing a report > > I would be very grateful for some help in constructing a report for > which I have trying in vain for some time in finding a solution. > Apologies for the lengthy explanation which follows: > > 1. Panel which includes the following fields: > > First Name, Last Name, date, type of qualification held > > Typical entries include > > Victor,Warner,13/10/2009,Lawyer > Victor,Warner,09/12/2009,Lawyer > Adam, Smith,13/10/2009,Lawyer > Adam, Smith,09/12/2009,Lawyer > Alison,Jones,13/10/2009, Non-qualified volunteer > Alison,Jones,09/12/2009,Non-qualified volunteer > David,Burden,13/10/2009,Lawyer > David,Burden,09/12/2009,Lawyer > Richard,Anderson,13/10/2009,Non-qualified volunteer > Richard,Anderson,09/12/2009,Non-qualified volunteer > > 2. I wish to create a 2 level report sorted on date as follows: > > [appearing in two-level footer] > > 13/10/2009 Warner - Smith - Burden [One line] > Jones - Anderson [Separate line] > > 09/12/2009 Warner - Smith - Burden [One line] > Jones - Anderson [Separate line] > > Ie instead of > > 13/10/2009 > Warner > Smith > Burden > Jones > Anderson > > > I can put all the names together without putting a hard return between > one using a report variable (eg putting a report variable in the > two-level header containing " ", and putting the report variable with > the same number in the report body, containing etc cat.t[rv1;" "P11F5]. > > However the difficulty I have am having is putting together just the > names for those persons who are lawyers and then separately putting > together those names which are non-qualified volunteers. > > Help with this would be very gratefully received. > > Victor Warner. > > _______________________________________________ > Dataperf mailing list > [email protected] > http://lists.dataperfect.nl/mailman/listinfo/dataperf > > _______________________________________________ > Dataperf mailing list > [email protected] > http://lists.dataperfect.nl/mailman/listinfo/dataperf > > _______________________________________________ Dataperf mailing list [email protected] http://lists.dataperfect.nl/mailman/listinfo/dataperf
