( Documentation avancée du moteur HSQLdb (en anglais) sur : Built-in_functions_and_Stored_Procedures )
Le Sun Report Builder intègre les fonctions suivantes:
Arrondir
Nom de la Fonction
|
Description
|
Exemple
|
INT
|
Cette fonction renvoie une valeur correspondant à l'entier inférieur le plus proche
|
|
Informations
Nom de la Fonction
|
Description
|
Exemple
|
CHOOSE
|
Cette fonction utilise un indexe pour renvoyer une valeur à partir d'une liste de valeurs.
|
|
HASCHANGED
|
Cette fonction vérifie si les colonnes spécifiées par le nom donné ont changé.
|
|
ISBLANK
|
Cette fonction vérifie si la valeur est indéfinie (null).
|
|
ISERR
|
Cette fonction vérifie si le paramètre est du type "Erreur", mais renvoie "Faux" si l'erreur est du type "NA".
|
|
ISERROR
|
Cette fonction vérifie si le paramètre est du type "Erreur" et renvoie "Faux".
|
|
ISEVEN
|
Cette fonction vérifie s'il s'agit d'une valeur qui est un nombre pair.
|
|
ISLOGICAL
|
Cette fonction vérifie s'il s'agit d'une valeur de type "Logique".
|
|
ISNA
|
Cette fonction vérifie s'il s'agit d'une erreur de type "NA".
|
|
ISNONTEXT
|
Cette fonction vérifie s'il s'agit d'une valeur qui n'est pas du type "Texte".
|
|
ISNUMBER
|
Cette fonction vérifie s'il s'agit d'une valeur qui n'est pas du type "Nombre".
|
|
ISODD
|
Cette fonction vérifie s'il s'agit d'une valeur qui est un nombre impair.
|
|
ISREF
|
Cette fonction vérifie s'il s'agit d'une valeur qui est une référence.
|
|
ISTEXT
|
Cette fonction vérifie s'il s'agit d'une valeur est du type "Texte".
|
|
NA
|
Cette fonction renvoie la constante d'erreur NA.
|
|
Date/Temps
Nom de la Fonction
|
Description
|
Exemple
|
DATE
|
Cette fonction renvoie le nombre de jours écoulé depuis le 01.01.1900
Nom du Paramètre
|
Description du Paramètre
|
Month
|
Mois
|
Day
|
Jour
|
|
|
DATEDIF
|
Cette fonction renvoie le nombre de jours entre une première date et une deuxième date.
Nom du Paramètre
|
Description du Paramètre
|
Date2
|
Deuxième date.
|
Format
|
Code de Formatage.
|
|
|
DATEVALUE
|
Cette fonction renvoie un numéro de série correspondant à une date à partir d'un texte donné.
|
|
DAY
|
Cette fonction renvoie le jour d'une date donnée
|
|
HOUR
|
Cette fonction renvoie l'heure (de 0 jusqu'à 23) à partir d'une heure donnée.
|
|
MONTH
|
Cette fonction renvoie le mois d'une date donnée
|
|
NOW
|
Cette fonction renvoie la date et l'heure actuelle
|
|
TIME
|
Cette fonction renvoie l'heure
Nom du Paramètre
|
Description du Paramètre
|
Minute.
|
Minutes
|
Second
|
Secondes
|
|
|
TODAY
|
Cette fonction renvoie la date actuelle
|
|
WEEKDAY
|
Cette fonction renvoie le jour de la semaine à partir d'une date.
Nom du Paramètre
|
Description du Paramètre
|
Type
|
Cette fonction définit le type de résultat (de 1 à 3)
|
|
|
YEAR
|
Cette fonction renvoie l'année à partir d'une date donnée
|
|
Text
Nom de la Fonction
|
Description
|
Exemple
|
EXACT
|
Cette fonction indique si deux valeurs de texte sont identiques en effectuant une comparaison sensible à la casse.
Nom du Paramètre
|
Description du Paramètre
|
Text2
|
Le deuxième texte.
|
|
|
FIND
|
Returns the starting position of a given text.
Nom du Paramètre
|
Description du Paramètre
|
Text
|
Le texte d'origine.
|
Index
|
L'indexe de départ.
|
|
|
LEFT
|
Cette fonction renvoie une chaîne de caractères en partant du caractère numéro "n" vers la gauche, où "n" est la position du caractère à partir duquel s'applique la fonction.
Nom du Paramètre
|
Description du Paramètre
|
Length
|
Cette fonction renvoie la longueur d'une chaîne de caractères.
|
|
|
LEN
|
Cette fonction renvoie la longueur de la chaîne de caractères qui lui est passée.
|
|
LOWER
|
Cette fonction renvoie la chaîne en minuscules.
|
|
MID
|
Cette fonction renvoie une chaîne de caractère, à partir d'une chaîne initiale, de la position de départ, et de la longueur de la chaîne.
Nom du Paramètre
|
Description du Paramètre
|
Start
|
L'indexe de départ.
|
Length
|
La longueur de la chaîne.
|
|
|
REPLACE
|
Remplace une chaîne de caractères d'origine par une autre chaîne passé en paramètre, et dans l'indexe de départ et la fourchette de longueur.
Nom du Paramètre
|
Description du Paramètre
|
Start
|
L'indexe de départ.
|
Len
|
La longueur.
|
New
|
La nouvelle chaîne à insérer.
|
|
|
REPT
|
Cette fonction renvoie un texte répété un nombre de fois défini par "Count".
Nom du Paramètre
|
Description du Paramètre
|
Count
|
Le nombre de fois à répéter le texte.
|
|
|
RIGHT
|
Cette fonction renvoie une chaîne de caractères en partant du caractère "Count" vers la droite, où "Count" est la position du caractère à partir duquel s'applique la fonction.
Nom du Paramètre
|
Description du Paramètre
|
Count
|
Le numéro de la position du caractère de départ.
|
|
|
SUBSTITUTE
|
Remplace une chaîne de texte par une nouvelle chaîne. Par défaut chaque fois que la chaîne est rencontrée, elle sera remplacée par la nouvelle chaîne. Autrement, on peut préciser le nombre de remplacements par le paramètre "Which".
Nom du Paramètre
|
Description du Paramètre
|
Old
|
La chaîne de caractères à remplacer.
|
New
|
La chaîne de caractères à insérer.
|
Which
|
Le nombre de fois que la chaîne à remplacer doit être recherchée.
|
|
|
T
|
Cette fonction renvoie la valeur du texte recherché ou bien une chaîne de longueur zéro pour des valeurs qui ne sont pas des chaînes de caractères de type "Texte".
|
|
TEXT
|
Renvoie la valeur passée en tant que texte.
|
|
TRIM
|
Renvoie la chaîne de caractères passée en enlevant tous les espaces devant et après la chaîne. Des espaces multiples sont remplacés par une seule espace.
|
|
UPPER
|
Renvoie la chaîne de caractères passée en majuscules.
|
|
URLENCODE
|
Applique l'encodage URL à une chaîne de caractères passée en premier paramètre en utilisant l'encodage indiqué en deuxième paramètre. Si aucun encodage n'est précisé, ISO-8859-1 est appliqué.
Nom du Paramètre
|
Description du Paramètre
|
Encoding
|
L'encodage à utiliser.
|
|
|
Mathematical
Nom de la Fonction
|
Description
|
Exemple
|
ABS
|
Renvoie la valeur absolue (non négative) de la valeur à laquelle est appliquée la fonction.
|
|
AVERAGE
|
Renvoie la moyenne d'une liste de valeurs numériques.
|
|
Even
|
Renvoie une valeur arrondie au nombre entier pair supérieur.
|
|
MAX
|
Renvoie la valeur maximale à partir d'un ensemble de valeurs.
|
|
MIN
|
Renvoie la valeur minimale à partir d'un ensemble de valeurs.
|
|
MOD
|
Renvoie le modulo lorsqu'un nombre est divisé par un autre.
Nom du Paramètre
|
Description du Paramètre
|
Divisor
|
Le diviseur.
|
|
|
ODD
|
Renvoie une valeur arrondie au nombre entier impair supérieur.
|
|
SUM
|
Faire la somme d'une liste de valeurs.
|
|
Logical
Nom de la Fonction
|
Description
|
Exemple
|
AND
|
ET logique
|
|
FALSE
|
FAUX logique
|
|
IF
|
Exécution Conditionnelle
Nom du Paramètre
|
Description du Paramètre
|
Une expression qui est évaluée si la condition est remplie.
|
True-Term
|
Une expression qui est évaluée si la condition n'est pas remplie.
|
False-Term
|
|
|
AND
|
ET logique
|
|
OR
|
OU logique
|
|
TRUE
|
VRAI logique
|
|
XOR
|
XOR logique
|
|
Code nécessaire pour obtenir la fonction à partir du fichier jar libformula import java.util.Locale;
import org.jfree.formula.DefaultFormulaContext;
/*
* Si vous voulez changer ce modèle, choisissez Outils | Modèles
* et ouvrez le modèle dans l'éditeur.
*/
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>");
}
}
}