Cross-Table Custom Groupings |
Top Previous Next |
The Edit Custom Grouping Definition dialog is invoked from the Add or Edit Custom Group button in the Edit Cross-Table Axis/Groupings dialog. This dialog has a Group Heading field (the row or column heading text) and a large window to edit the Grouping Expression. It also has buttons to Insert Elements and Test/Edit the expression, which work like the Expression Creator dialog.
You can add any number of custom group definitions to a cross-table grouping definition. Each one is simply a column heading and an expression. A list of any already defined is shown on the Cross-Table Query editing dialog with the typical buttons for adding, editing, moving, copying and deleting them. The order of the definitions in the list determines the order in the Query, and any defined as custom groups will appear "after" any default groups as defined by the Grouping Type -- e.g. they will be the bottom-most rows or the right-most columns (not including Totals). Of course if "Custom Groups only" is selected as the grouping type, then only these custom groups will be shown in the Query.
A typical use of custom groups is to include a "(none)" group when the normal grouping is by Sites, How Heard, Discount, etc. where there might be records with no value for this information. For instance to include a no-site grouping, add a custom grouping with the expression Site() = NullRecord(). They also allow adding special columns to transaction reports like Previous and All-Time, or create any type of special groupings you can come up with, providing complete flexibility in the creation of summary reports.
The custom group expressions should have a boolean result, just like the Group Conditional Expressions -- that is, the expression should return True if the record should be included in the custom group, and False if not. Each custom group expression is executed for each record in the Query's base table, just like the Group Conditional Expressions. However the only context information available besides the general query information is the base table record (ThisRecord) and the custom group's heading text.
Additional Topics:
Advanced Customizations Overview & other topics