Difference between revisions of "SUN Report Builder/Functions"
From Apache OpenOffice Wiki
(→Date/Time) |
(→Logical) |
||
Line 505: | Line 505: | ||
<br> | <br> | ||
''Code to get the function form the libformula jar file | ''Code to get the function form the libformula jar file | ||
− | < | + | <source lang="java"> |
import java.util.Locale; | import java.util.Locale; | ||
import org.jfree.formula.DefaultFormulaContext; | import org.jfree.formula.DefaultFormulaContext; | ||
Line 575: | Line 575: | ||
} | } | ||
− | </ | + | </source> |
[[Category: Database]] | [[Category: Database]] | ||
[[Category: Base Documentation]] | [[Category: Base Documentation]] |
Revision as of 08:36, 17 June 2008
Contents
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
|
|||||||
DATEDIF | Returns the number of years, months, or days between two dates.
|
|||||||
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
|
|||||||
TODAY | Returns the current date | "Insert -> Date and Time" | ||||||
WEEKDAY | Returns the day of week from a date.
|
|||||||
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.
|
|||||||||
FIND | Returns the starting position of a given text.
|
|||||||||
LEFT | Returns a selected number of text characters from the left.
|
|||||||||
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.
|
|||||||||
REPLACE | Returns text where an old text is substituted with a new text within the start index and length range.
|
|||||||||
REPT | Returns text repeated Count times..
|
|||||||||
RIGHT | Returns a selected number of text characters from the right.
|
|||||||||
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.
|
|||||||||
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.
|
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.
|
|||||
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
|
|||||||
AND | Logical AND | |||||||
OR | Logical OR | |||||||
TRUE | Logical TRUE | |||||||
XOR | Logical XOR |
Code to get the function form the libformula jar file
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 +"'''<br>"); 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("<br>"); } } }