SUN Report Builder/Functions

From Apache OpenOffice Wiki
< SUN Report Builder
Revision as of 16:24, 11 October 2007 by Fpe (Talk | contribs)

Jump to: navigation, search


The Sun Report Builder supplies the following functions:


Rounding

Function Name Description Example
INT Returns a number down to the nearest integer


Information

Function Name Description Example
CHOOSE Uses an index to return a value from a list of values.
HASCHANGED Checks, whether the columns specified by the given names has changed.
ISBLANK Checks, whether the value is undefined (null).
ISERR Tells if the parameter is of error type but returns false if the error is of type NA.
ISERROR Tells if the parameter is of error type but returns false.
ISEVEN Checks whatever the value is an even number.
ISLOGICAL Checks whatever the value is of type Logical.
ISNA Tells if the parameter is of error type NA.
ISNONTEXT Checks whatever the value is not of type Text.
ISNUMBER Checks whatever the value is of type Number.
ISODD Checks whatever the value is an odd number.
ISREF Checks whatever the value is a reference.
ISTEXT Checks whatever the value is of type Text.
NA Returns the constant error NA.


Date/Time

Function Name Description Example
DATE Returns the number of days since 01.01.1900
Parameter Name Parameter Description
Month Month
Day Day
DATEDIF Returns the number of years, months, or days between two dates.
Parameter Name Parameter Description
Date2 Second date.
Format Format code.
DATEVALUE Returns date serial number from given text.
DAY Returns the day of a date
HOUR Returns the hour (0 through 23) from a time.
MONTH Returns the month of a date
NOW Returns the current time
TIME Returns the time
Parameter Name Parameter Description
Minute. Minutes
Second Seconds
TODAY Returns the current date
WEEKDAY Returns the day of week from a date.
Parameter Name Parameter Description
Type The result type (from 1 to 3)
YEAR Returns the year of a date


Text

Function Name Description Example
EXACT Reports if two text values are exactly equal using a case-sensitive comparison.
Parameter Name Parameter Description
Text2 The second text.
FIND Returns the starting position of a given text.
Parameter Name Parameter Description
Text The text source.
Index The index to start from.
LEFT Returns a selected number of text characters from the left.
Parameter Name Parameter Description
Length The length.
LEN Returns the lengh in characters of the given value.
LOWER Returns the given text in lower case.
MID Returns extracted text, given an original text, starting position, and length.
Parameter Name Parameter Description
Start The start index.
Length The length.
REPLACE Returns text where an old text is substituted with a new text within the start index and length range.
Parameter Name Parameter Description
Start The start index.
Len The length.
New The new text.
REPT Returns text repeated Count times..
Parameter Name Parameter Description
Count The count.
RIGHT Returns a selected number of text characters from the right.
Parameter Name Parameter Description
Count The count.
SUBSTITUTE Returns text where an old text is substituted with a new text. If which is specified, only this occurrance will be replaced otherwise every occurrance will be replaced.
Parameter Name Parameter Description
Old The old text.
New The new text.
Which The occurrance number.
T Returns the given text value or a zero lenght string for non text type.
TEXT Returns the given value as text.
LOWER Returns the given text free of leading and trailing spaces. Internal multiple spaces are replaced by one.
UPPER Returns the given text in upper case.
URLENCODE Applies URL-Encoding to a text given in the first parameter using the encoding specified in the second parameter. If no encoding is given, ISO-8859-1 is assumed.
Parameter Name Parameter Description
Encoding The Encoding to be used.


Mathematical

Function Name Description Example
ABS Returns the absolute (nonnegative) of the value.
AVERAGE Average a list of numeric values.
Even Returns the rounding a number up to the nearest even integer.
MAX Returns the maximum from a set of numbers.
MIN Returns the minimum from a set of numbers.
MOD Returns the remainder when one number is divided by another number.
Parameter Name Parameter Description
Divisor A divisor value.
ODD Returns the rounding a number up to the nearest odd integer.
SUM Sum a list of numeric values.


Logical

Function Name Description Example
AND Logical AND
FALSE Logical FALSE
IF Conditional execution
Parameter Name Parameter Description
A term that is evaluated if the condition evaluates to true. True-Term
A term that is evaluated if the condition evaluates to false. False-Term
AND Logical AND
OR Logical OR
TRUE Logical TRUE
XOR Logical XOR


Code to get the function form the libformula jar file [java] import java.util.Locale; import org.jfree.formula.DefaultFormulaContext;

/*

* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

import org.jfree.formula.function.FunctionCategory; import org.jfree.formula.function.FunctionDescription; import org.jfree.formula.function.FunctionRegistry;

/**

*
* @author Ocke Janssen
*/

public class NewMain {

   /**
    * @param args the command line arguments
    */
   public static void main(String[] args) {
       DefaultFormulaContext obj = new DefaultFormulaContext();
       FunctionRegistry func = obj.getFunctionRegistry();
       FunctionCategory[] categories = func.getCategories();
       for ( int i = 0 ; i < categories.length;++i)
       {
           String display = categories[i].getDisplayName(Locale.ENGLISH);
           System.out.println( "" + display +"
"); System.out.println( "{| class=\"prettytable\" cellpadding=\"10\" border=\"1\""); System.out.println( "| Function Name"); System.out.println( "| Description "); System.out.println( "| Example "); String[] functions = func.getFunctionNamesByCategory(categories[i]); for(int j= 0; j < functions.length;++j) { FunctionDescription desc = func.getMetaData(functions[j]); System.out.println( ""); System.out.println( "|-"); System.out.println("| "+ desc.getDisplayName(Locale.ENGLISH)); System.out.println("| "+ desc.getDescription(Locale.ENGLISH)); int count = desc.getParameterCount(); if ( count > 1 ){ System.out.println( "{| class=\"prettytable\" cellpadding=\"10\" border=\"1\""); System.out.println( "| Parameter Name "); System.out.println( "| Parameter Description "); System.out.println( ""); } for(int k= 1;k < count;++k){ try{ System.out.println( "|-"); System.out.println("| " + desc.getParameterDisplayName(k,Locale.ENGLISH) ); System.out.println("| " + desc.getParameterDescription(k,Locale.ENGLISH) ); } catch(Exception e){ } } if ( count > 1 ){ System.out.println("|}"); System.out.println(""); } System.out.println("| "); } System.out.println("|}"); System.out.println("
"); } }

}

Personal tools