Report Writer Sections

Easily add report Sections to Advanced Reports. Sections can be static or dynamic, with the difference being the repetition of their cells:

  • Static - Do not repeat according to the report data. Static sections are best used for information that is not related to data rows. For example, defining column headers that describe the type of data in each field or a page number at the bottom of each page.
  • Dynamic - Repeat according to the data that is returned to the report. Dynamic sections are suitable for showing content related to that data. For example, cells in a Detail section repeat for every composite data row in the report.

Static sections

The following are considered static sections:

  • Report HeadersReport Footers
  • Page HeadersPage Footers

These sections do not repeat according to the data in the report, although, they may repeat by other means. These sections are best used for report metadata. They can also be useful for logos, copyright notices, titles, or disclaimers.

A typical report may have the following sections:

  • Report Header- Title of the report
  • Page Header - Labels for each column in the report
  • Page Footer - Page numbers (using the PageNumber() function or @pageNumber@ parameter)
  • Report Footer - Summary information of the report

Page Header & Page Footer

A report may only have one Page Header and one Page Footer section, but each section may consist of multiple rows:

  • Page Header - The rows in this section appear at the top of every page of a report. Typically used to designate column headers.
  • Page Footer - The rows in this section appear at the bottom of every page of a report. Typically used to display page numbers or confidentiality notices.

Even though Page Header and Page Footer sections repeat, they are not considered dynamic sections because their repetition does not directly depend on the data. Page Header and Page Footer sections should not be used for the following:

  • Performing calculations on data fields: A Page Header populated with a data field will only return the first line of data in that field, and a Page Footer will return only the last line of data.
  • Displaying data fields: There is no way of knowing ahead of time which data will appear on which page.
  • Summarizing data with aggregates or visualizations

Note: Excel and CSV export types have no pages. Page sections function the same as Report sections for these export types.

Note: Page breaks are usually caused when the data in dynamic sections overflows the length of the page, determined by the Page Size and Orientation settings in the report’s General Options. Manual page breaks may also be added.

Report Header & Report Footer

A report may only have one Report Header and one Report Footer section, but each section may consist of multiple rows:

  • Report Header - Appears once at the start of the report and is always below the Page Header. Used for introductory information, such as the report description.
  • Report Footer - Appears once at the end of the report. Used for summarizing all of the report data with aggregate formulas and visualizations.

Dynamic Sections

Dynamic sections are best used for displaying and grouping data from data fields, for example, through charts, maps, and gauge visualizations. Dynamic sections comprise the bulk of most tabular reports, and the key for knowing how to use dynamic sections is knowing how the data will repeat in relation to the rest of the report.

The following types of sections are dynamic, because they repeat according to the data in the report:

  • Detail
  • Groups (Group Header and Group Footer)

Detail

The rows in the Detail section repeat for each data row retrieved from the Data Object and is the main section of most reports. Detail sections are typically used for showing the actual data values. This is the main area of display for the bare report data. Aggregate formulas usually reference cells in the Detail section.

A report may only have one detail section, but it may consist of multiple rows. The number of rows that are displayed can be limited by using filters, duplicate suppression/hide repeating values, and advanced join logic.

Group Header & Group Footer

Groups are the primary way in which data is assembled into related categories that each share a unique attribute:

  • Group Header - These rows appear above the Detail section for each unique value of the sorted Data Field, or a formula. Typically, Group Header sections are used to display data as labels.
  • Group Footer - These rows appear below the Detail section for each unique value of the sorted Data Field. Typically, Group Footer sections are used to calculate subtotals.

Detail rows are arranged into the groups they belong to. The common attribute is defined by a sort. For each sort, the group can change on either the Data Object/Unique Key or the Sort Field:

  • Data Object - When grouping on a Data Object, the group breaks at each new instance of the data object’s unique key.
  • Soft Field - When grouping on a Sort Field, the group breaks at each new value of that field.

Example: Instead of grouping by each Product, you may want to instead group by product quantity, so that products that are low or out of stock are grouped together. First, add a sort on the Products.Quantity field, then group by that field.

There may be multiple group sections, to add additional levels of stratification to the report. Each group requires a corresponding sort.

Note: The order of the sorts has an effect on the way the data is arranged. Data is sorted by the first field, then any ambiguities are sorted by the second field, then any remaining ambiguities are sorted by the third, and so on. In general, order group headers by their associated sorts, and group footers in inverse order.

What's Next?