General settings for the data group, including its name and comments, as well as the following:
An optional function that is executed before the data group is processed. If the value returned is anything other than “true”, processing of the data group is halted.
Whenever a DSD is executed fSeries looks at the the context (e.g. dashboard, template, abandon) and limits the data groups gathered to just those that are required for the context. Check this box to override the automatic limiter and always gather the data group (subject to the Execute If setting).
Sometimes you need a data group in a DSD to gather some data for the benefit of other data groups (e.g. to get a record Id), but the data group itself is not intended for use in outputs. Check this box in order to hide such a data group from other entity designers.
If a data group is expected to include only one row, check this box. It has an effect on how fDocs field lists are displayed as well as how fSheets and Xml Data are rendered.
If one data group should have its data be gathered once for every row in another data group (e.g. team and members, or person and family members) select the parent data group here. A child may only have one parent but a parent may have any number of children. Further, a child may itself have children, creating a hierarchy of data groups.
Note: it is only necessary to create a parent/child relationship where you expect the parent to have more than one row; it is not necessary for dependency as this may be handled elsewhere. For example if one data group is the subject person and another is their activities this does not require parent/child as both queries can use the same external input of the subject's id.
There are two ways in which data is gathered for a parent/child relationship:
For each row in the parent data group, the child data group is executed. Internally, each row in the child is related to a single parent row.
This is the most direct way to gather parent/child data groups.
An alternative is to gather all of the child rows in one execution of the child data group and then have the child rows matched up up to their respective parent row.
When you select a parent data group you have the option to select a field in each of the parent and row data groups which represent the connecting values. The child data group is executed once and then each row is linked up to its parent row.
This is a much quicker way to execute child data groups as they only require one execution, not one for every parent row. BUT, you MUST ensure that the child data group has one row for every parent/child combination, not just for each distinct child. For example, if the parent is teams and the child is members, some people may be in more than one team. In this case you must have a row in the child (members) data group for every team/member combination, with the team field in each being the linking fields.
An optional function that is executed for every row in the data group and only includes rows for which “true” is returned.
For some data groups (e.g. Sql) you can determine the content of the rows returned; but for others (e.g. APIs) you may not be able to. This option lets you filter out unwanted rows after they have been gathered.
An optional facility to group rows based on a common value. Only the first row in the data group that returns the same value from the function will be included. It effectively filters out duplicates based on a calculated value (which may be just a specific field's value).
Optional functions that specify how many rows to skip and how many thereafter to include. Useful when paginating rows in a list.