Built-in Keys

Built-In Keys

A number of useful Data Keys are included by default. These tables lists the keys and provides a brief summary.

Built-In Report Data Keys

Key

Description

Gateway

Name of the Report's Ignition Gateway

Name

Name of the Report

Path

Path to the Report in the Project Browser

Timestamp

The Gateway's current timestamp

Built-In Data Keys

Key

Description

Date

The current date/time

Row

The current row number (only in tables)

Page

The current page

PageMax

The total number of pages in the generated report

PageBreak

The number of explicit page breaks encountered

PageBreakMax

The total number of explicit page breaks in generated report

PageBreakPage

The number of pages since last explicit page break

PageBreakPageMax

The total number of pages in current explicit page break

Row

Shows the current row number. Must be used in a table

The "total2" key

An aggregate calculation will result in null if any of the individual values are null (rather than return a value that is technically incorrect). You can work around this by implementing a derived method that returns a default value if the original attribute is null and aggregating using that key/method. Also, most of the aggregates contain a second version ( "total2" ) that assume that null is equal to zero.

The "count" and "countDeep" keys

The count keys tell us how many objects are in a given list or group. This is most commonly used for tables with one or more levels of grouping. If, for instance, you have a table of Movies grouped by their studio and you add the @count@ key to the studio details, it will display the number of movies for each studio. So it might make sense to have a text field with "@studio.name@ has released @count@ movies" (Warner Brothers has released 15 movies).

The count key only counts the next level of grouping. If you have multiple levels of grouping and want to count all the root entities use the countDeep key. Suppose you have movies grouped by their category and their studio, and want to display a top level summary. You could use: "@studio.name@ has released @countDeep@ movies in @count@ different categories" (Warner Brothers has released 36 movies in 7 categories).

Heritage Keys (Running Totals, percentage totals)

There is an additional set of keys in the Attributes Browser which are used to access upper level groups: Up, Running, Remaining. @Up.count@ would tell us how many objects are in the current level of grouping.

The text field "Row @Row@ of @Up.count@" might show "Row 1 of 5".

By doing some simple arithmetic and using the "Up" key, we can calculate a percentage total: "% Total: @revenue/Up.total.revenue@"

The running key references a virtual array containing all of the objects processed thus far in a lower level grouping. This is useful to get a running total. For example, in a ledger: "Credit/Debit: @amount@ Current balance: @Running.total.amount@"

The remaining key is conceptually the same, but results in a virtual array of remaining objects.For example: "Credit/Debit: @amount@ Remaining Activity: @Remaining.total.amount@"