![]() |
![]() |
FAQ - What is a subset "data-group"? Subset Data Groups are a fundamental controlling influence over the output structures achievable in your reports. A Subset is a knowledge-base that stores a hierarchical view of a segment of a relational data base. Data Groups are the hierarchical components of the Subset and are the basic units of information that the report writer works with. When you define a Subset, you begin with a based on file (BOF) and then add links to other data base files (DBFs) in your system. Every Subset has at least 2 data-groups. The first of these is the control group (CTL) and it comprises all the fields that will have their value set when a report program begins execution. The value of a CTL group field will generally not change for the duration of the report run. The CTL group includes such fields as, "System Date" and "Report Name". The next is group G01. Group G01 comprises all the fields from the BOF, plus all the fields from other DBF links that are defined as having a one-to-one relationship with the BOF. Each time you define a new link in your Subset, you must specify whether it has a one-to-one or a one-to-many relationship with the file from which you are linking. This is an important distinction - but not the subject of this article. For the moment, all we need say is that each time you define a one-to-many link a new Data Group is created - the first one-to-many link from group G01 creates Group G02 etc. Each new Data Group will comprise all the fields from the one-to-many link, plus all the fields from any other DBF which is linked to it in a one-to-one relationship (directly, or indirectly via an intermediate one-to-one link). All fields in a given Data Group have a one-to-one relationship to each other. When you create a calculation within a Jacana report, it will be placed into the correct data group based upon the fields used by the condition(s) and expression(s) that form the calculation. If a calculation uses no fields, Jacana will place it into the CTL group. Each print line defined with your report layout is also allocated to a Data Group. Once again, the fields used on the print line will determine which group the print line should belong to. In report execution, the report writer builds each Data Group and then processes it. Each Data Group is processed in its pre-defined sequence. The Subset Data Groups control the sequence and method of processing for each field and for each line of the layout. This is the case when reading data from the i-series during the initial extract pass, and also during the final (output) pass over the extracted data. |