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

Reply via email to