Skip to main content Skip to complementary content

Working with levels

Levels provide an easy way to automate the creation of report elements for different subsets of data. In PixelPerfect reports, you add levels by creating specific data bindings and connecting them to DetailReport bands in your template.

Adding levels to bands allows flexibility to your template creation experience. You can add a level to certain bands to enhance reports with detail, and to automate the repetition of a particular structure. You can nest levels within other levels to create complex, detailed reports.

How levels work

A level is a field (specifically a dimension), or a chart, over which some or all of the report contents are repeated, filtering for a single unique value at a time.

For example, let's say you have a chart in your app showing sales totals by Product. You could add this chart to your report, and apply a level for a Continent field. When the report is generated, a separate chart is automatically created for each continent, showing the sales data for one continent in each chart.

Levels are applied by binding a level data binding to a band in the template.

Using levels allow you to present details and granularity in repeated format, without manually creating specific charts for individual field values.

Adding levels to your template

To learn how to add levels to your report template, see Using a level to loop over app data.

Levels and highly formatted tables

To create highly formatted PixelPerfect tables using the recommended workflow, it is mandatory that you apply a level. For more information, see Creating highly formatted tables.

Limitations

  • You can nest up to five levels deep in your report.

  • You cannot add a level to the default Detail1 band in the report. Instead, create a new DetailReport band if you need to add levels.

    Levels are also unavailable for other special types of bands, such as headers and footers.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!