---
name: "Lire::Rangegroup"
section: "3pm"
platform: "linux"
package: "lire"
version: "2.1.1-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Lire::Rangegroup"
---

# Lire::Rangegroup(3pm)

Base class for implementation of the rangegroup aggregator

## NAME

Lire::Group - Base class for implementation of the rangegroup aggregator

## SYNOPSIS

```
    use Lire::Rangegroup;
```

## DESCRIPTION

This module is the base class for implementation of the rangegroup aggregator. This aggregator will split the DLF records based on a numerical field. The so-called range groups creates numerical classes (e.g. 1-10, 11-20, etc.) and the DLF record will be grouped with other records which are in the same class.

## CONSTRUCTOR

### new( %params )

Creates a new instance of a group aggregator. In addition to the normal report operator parameters, the rangegroup aggregator can take several parameters:

- field

  This parameter is mandatory. It should be the name of the DLF field which will be used as key for this aggregator.

- range-size

  This parameter is mandatory. This will be used as the size of each range group.

- range-start

  The number at which the first range group starts. Defauls to 0.

- min-value

  Value lower than this number will be sorted in the first range group.

- max-value

  Value higher than this number will be sorted in the last range group.

- size-scale

  This parameter can be used to create a logarithmic scale. In this case, each new range group will be size-scale bigger than the one that comes before it. For example, setting range-size=5 and size-scale=2 will create ranges like \[0-5\>, \[5-15\>, \[15-35\>, ...

## METHODS

### field( \[$new\_field\] )

Returns the name of the DLF field which is used as grouping key.

If the `$new_field` parameter is set, it changes the grouping field. This must be the name of a quantity type field in the report specifications DLF schema.

### range\_start( \[$new\_start\] )

Returns the number which is the starting bound of the first range group.

If the `$new_start` parameter is set, it changes the starting bound of the first range group. This should either be a positive integer or the name of one of the report specification's parameter.

### range\_size( \[$new\_size\] )

Returns the width of each range group.

If the `$new_size` parameter is set, it changes the width of each range group. This should either be a positive integer or the name of one of the report specification's parameter.

### min\_value( \[$new\_min\] )

Returns the number below which no new range groups will be created.

If the `$new_min` is set, it changes the lower bound below which no new groups will be created. This should either be a number or the name of one of the report specification's parameter.

### max\_value( \[$new\_max\] )

Returns the number above which no new range groups will be created.

If the `$new_max` is set, it changes the upper bound above which no new groups will be created. This should either be a number or the name of one of the report specification's parameter.

### size\_scale( \[$new\_size\_scale\] )

Returns the multiplier that will be apply to each of the range group's width after the first one.

When this attribute is greater than 1, it creates a logarithmic scale where each new ranges is `$size_scale` wider than the precedent one.

If the `$new_size_scale` parameter is used, it changes the attribute to this new value. It should be a positive interger or can also be a parameter reference.

## SEE ALSO

```
 Lire::ReportSpec(3pm), Lire::Group(3pm), Lire::ReportOperator(3pm),
 Lire::Aggregator(3pm)
```

## AUTHORS

```
  Francis J. Lacoste <flacoste@logreport.org>
  Wolfgang Sourdeau <wsourdeau@logreport.org>
```

## VERSION

`$Id:` Rangegroup.pm,v 1.25 2006/07/30 10:50:17 vanbaal Exp $

## COPYRIGHT

Copyright (C) 2001-2004 Stichting LogReport Foundation LogReport@LogReport.org

This file is part of Lire.

Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html.
