# DataGroup

Represents the behavior common data properties for groups.

### Description

An element can be divided into a number of groups. Groups often have subtotals. For example, a sales report may show totals per sales rep and region.

A data group is defined by a group key. The key is a column from the query. If the group key is a time field then user often want to group on an interval such as month or quarter.

### See Also

## groupName

Optional name of the group.

### Description

Optional name of the group. The group name must be unique within the list or table. The name is used to identify the group in aggregates as explained in the scripting specification.

### See Also

## keyExpr

The expression for the group key.

### Description

Gives the group key as an expression. The group key says when to cause a group break listing. For example, if the group is by state, then the group key might be "`row.state`". A level break occurs each time the key changes. At each level break, the current group is ended, and a new group started. The expression most often is just a column, but can be a computed value.

### See Also

## intervalBase

In conjunction with Interval and IntervalRange, determines how data is divided into groups.

### Description

In conjunction with Interval and IntervalRange, determines how data is divided into groups.

## interval

When creating intervals, this property allows grouping on a range of contiguous values.

### Choices

- none: Group on individual values.
- prefix: Group on a string prefix
- year: Group on a range of years.
- quarter: Group on a range of quarters.
- month: Group on a range of months.
- week: Group on a range of weeks.
- day: Group on a range of days.
- hour: Group on a range of hours.
- minute: Group on a range of minutes.
- second: Group on a range of seconds.
- interval: Group on a numeric interval.

### Description

This property allows the group to include a range of contiguous values. For example, a monthly sales report may want to summarize a list of individual transactions, each of which has a transaction date. Using the Month interval, BIRT will cause a break to occur each time the transaction dates move into a different calendar month.

Use this property with the `intervalRange` property to select a set of contiguous values. For example, a bi-monthly report would use the Month `interval` with an `intervalRange` of 2.

### See Also

`intervalRange` Property

## intervalRange

Number of contiguous groups to merge to create a single group.

### Description

When creating intervals, this attribute allows grouping on a range of contiguous values. For example, to show data over the span of three hours, set the grouping interval to hours and the range to 3. The user enters the interval range here.

The following shows the meaning of the range for each interval type.

Interval | Meaning of Range
None | Ignored
Prefix | The number of characters in the prefix.
Date/Time | The number of the units.
Interval | The numeric interval

### See Also

`interval` Property

## sortDirection

The sort direction for the groups at this level.

### Choices

- asc: Sort values from lowest to highest.
- desc: Sort values from highest to lowest.

### Description

The sort direction applies only if the List does not have a custom sort defined using the `sort` property. The default group sort key is the group key.

### See Also

`sort` Property

## filter

A filter to apply to the each group as a whole.

### Description

A filter to apply to the each group as a whole. The filter conditions should apply to values that are constant for each group. This means that the filter expressions should be functionally dependent on the group key, or should be defined on aggregates computed over the group. For example, display only customers with non-zero sales totals, or display only the top 10 customers as determined by sales.

### See Also

## sort

Custom sort criteria to apply to the groups as a whole.

### Description

Custom sort criteria to apply to the groups as a whole. For example, the report may group customers by customer ID, but sort the customers by total sales or by customer name.

### See Also

`sortDirection` property

## sortType

Sort type property

### Description

Sort type

### See Also