BIRT Data Analyzer API classes : Class actuate.xtabanalyzer.Filter

Class actuate.xtabanalyzer.Filter

Description

The Filter class creates a filter condition on a cross tab dimension level. The condition is expressed as value1 operator value2. The values can either be a single value, or an array of values, depending on the operator. For example, IN can be expressed as value1 IN value2 value3 ... valueN.

Constructor

Syntax

actuate.data.Filter(string levelName, string operator, string value)
actuate.data.Filter(string levelName, string operator, string value1, string value2)
actuate.data.Filter(string levelName, string operator, string[ ] values)

Constructs a cross tab filter object.

Parameters

levelName

String. The dimension level full name.

operator

String. The operator can be any operator. Table 5-8 lists the valid filter operators and the number of arguments to pass to the constructor or setValues( ).

Table 5-8  Filter operators 
Does not match any value in a set of values
Search for values that do not match a pattern

value

String. The value to compare to the column value.

value1

String. The first value to compare to the column value for the BETWEEN or NOT_BETWEEN operators.

value2

String. The second value to compare to the column value for the BETWEEN or NOT_BETWEEN operators.

values

array of Strings. The values to compare to the column value for the IN and NOT_IN operators.

Function summary

Table 5-9 lists actuate.xtabanalyzer.Filter functions.

actuate.xtabanalyzer.Filter.getLevelName

Syntax

string Filter.getLevelName( )

Returns the level name of a filter.

Returns

String. The level name.

Example

This example retrieves the filter level name for a filter.

function getLevel(filter){
  if(filter)  {
    return filter.getLevelName( );
  }
  else{
    return null;
  }
}

actuate.xtabanalyzer.Filter.getOperator

Syntax

string Filter.getOperator( )

Returns the filter operator.

Returns

String. The filter operator.

Example

This example retrieves the filter operator.

function getFilterOp(filter){
  if(filter){
    return filter.getOperator( );
  }else{
    return null;
  }
}

actuate.xtabanalyzer.Filter.getValues

Syntax

string[ ] Filter.getValues( )

Returns an array containing the values used within the filter.

Example

This example retrieves the filter level name for a filter.

function getFilterOp(filter){
  if(filter){
    return filter.getValues( );
  }else{
    return null;
  }
}

actuate.xtabanalyzer.Filter.setLevelName

Syntax

void Filter.setLevelName(string level)

Sets the level name to filter.

Parameters

level

String. The name of the level to filter.

Example

This example sets the filter name to levelName.

function filterLevel( ){
  var levelName = "levelName";
  var operator = "EQ";
  var filterValue = "2000";
  var filter = new actuate.xtabanalyzer.Filter(levelName,operator);
  filter.setValues(filterValue);
  crosstab.setFilters( filter );
  crosstab.submit( );
}

actuate.xtabanalyzer.Filter.setOperator

Syntax

void Filter.setOperator(string operator)

Sets the filter operator.

Parameters

operator

String. The filter operator.

Example

This example sets the filter operator to EQ.

function filterLevel( ){
  if(crosstab)  {
    var levelName = "levelName";
    var operator = "EQ";
    var filterValue = "2000";
    var filter = new actuate.xtabanalyzer.Filter(levelName,operator);
    filter.setValues(filterValue);
    crosstab.setFilters( filter );
    crosstab.submit( );
  }
}

actuate.xtabanalyzer.Filter.setValues

Syntax

void Filter.setValues(string[ ] value1, string[ ] value2)

Sets the values for the filter.

Parameters

value1

String, or array of strings representing the first value of the filter.

value2

String, or array of strings representing the second value of the filter.

Example

This example sets the filter values to 2000 and 2004.

function filterLevel( ){
  if(crosstab){
    var levelName = "levelName";
    var operator = "BETWEEN";
    var filterValue = "2000;2004";
    var filter = new actuate.xtabanalyzer.Filter(levelName,operator);
    filter.setValues(filterValue.split(";") );
    crosstab.setFilters( filter );
    crosstab.submit( );
  }
}

(c) Copyright Actuate Corporation 2011