Lire::Group - Base class for implementation of the rangegroup aggregator use Lire::Rangegroup; 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.

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: This parameter is mandatory. It should be the name of the DLF field which will be used as key for this aggregator. This parameter is mandatory. This will be used as the size of each range group. The number at which the first range group starts. Defauls to 0. Value lower than this number will be sorted in the first range group. Value higher than this number will be sorted in the last range group. 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>, ...

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. Lire::ReportSpec(3pm), Lire::Group(3pm), Lire::ReportOperator(3pm), Lire::Aggregator(3pm) Francis J. Lacoste <flacoste@logreport.org> Wolfgang Sourdeau <wsourdeau@logreport.org> $Id: Rangegroup.pm,v 1.23 2006/07/23 13:16:29 vanbaal Exp $ 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.