Boîte de dialogue Définir la formule (Générateur de rapports version 3.0)
Utilisez la boîte de dialogue Définir la formule pour créer une formule ou un nouveau champ contenant une formule.
La boîte de dialogue comprend des onglets Champs et Fonctions.
Utilisez l'onglet Champs pour rechercher dans le modèle de rapport des champs à inclure dans la formule.
Utilisez l'onglet Fonctions pour sélectionner les fonctions à utiliser dans la formule.
Options de l'onglet Champs
Entités
Répertorie les entités. Cliquez sur une entité pour afficher ses champs dans la liste Champs.Champs
Répertorie les champs dans les entités. Vous pouvez faire glisser un champ dans la zone de texte Formule ou double-cliquer sur le champ pour l'ajouter à la zone de texte Formule.Nouveau champ
Cliquez pour ajouter un nouveau champ. La valeur Nouveau champ <nom_entité> s'affiche dans Nom du champ.Nom du champ
Entrez un nom pour le champ que vous êtes en train de créer.Formule
Permet d'écrire et de modifier la formule.Rechercher
Cliquez sur ce bouton pour ouvrir la boîte de dialogue Rechercher.Mode avancé
Cliquez pour afficher des relations supplémentaires entre les entités. Ces relations vous permettent de construire des requêtes complexes. Lorsque vous cliquez sur le bouton Mode avancé, trois types de rôles supplémentaires s'affichent :Rôles inversés. Les rôles inversés affichent la relation vers l'entité d'où vous venez.
Entités de recherche. Une entité de recherche est un rôle qui contient un seul champ d'intérêt.
Entités qui héritent des ancêtres directs de l'entité sélectionnée, mais qui ne sont pas un ancêtre direct de l'entité active.
Effectuer l'agrégation ici
Si vous double-cliquez sur le nom d'un champ affiché dans la zone de texte Formule, la relation entre l'entité primaire et l'entité du champ est affichée. Cliquez sur cette option pour appliquer une agrégation à l'expression à un endroit quelconque le long du chemin d'accès au modèle.Raccourcis des fonctions
Cliquez sur cette option pour ajouter un opérateur à la formule affichée dans la zone de texte Formule. La boîte de dialogue Définir la formule contient des raccourcis des fonctions les plus couramment utilisées ; toutefois, vous pouvez également sélectionner ces opérateurs à partir de l'onglet Fonctions. Les informations suivantes expliquent chaque raccourci.+ Permet d'ajouter deux valeurs ensemble.
- Permet de soustraire une valeur à une autre.
* Permet de multiplier deux valeurs.
/ Permet de diviser deux valeurs.
& Permet de concaténer deux valeurs.
( Permet de commencer un calcul.
) Permet de terminer un calcul.
Formule développée
Si vous double-cliquez sur le nom d'un champ affiché dans la zone de texte Formule, la relation entre l'entité primaire et l'entité du champ est affichée. Vous pouvez appliquer un filtre à l'expression en un point quelconque du chemin du modèle.Pour créer un nouveau filtre pour le champ, cliquez sur Aucun filtre appliqué, puis sur Créer un nouveau filtre.
Si le champ a déjà un filtre, cliquez sur le filtre, puis sur Modifier le filtre.
Pour supprimer un filtre existant, cliquez dessus, puis cliquez sur Supprimer.
Enregistrer cette formule en tant que nouveau champ <nom_entité>
Activez la case à cocher pour indiquer que vous souhaitez que la formule soit ajoutée en tant que champ.
Options de l'onglet Fonctions
Les informations suivantes décrivent chacune des fonctions de l'onglet Fonction de la boîte de dialogue Définir la formule.
Agrégation
Pour synthétiser une plage de valeurs numériques, utilisez les fonctions ci-dessous.
SUM
Retourne la somme de toutes les valeurs de l'expression.Syntaxe
SUM(agrégat)
SUM peut être utilisé avec des champs contenant des valeurs numériques uniquement. Les valeurs Null sont ignorées.
AVERAGE
Renvoie la moyenne (arithmétique) de toutes les valeurs non Null de l'expression.Syntaxe
AVERAGE(agrégat)
AVERAGE peut être utilisé avec des champs contenant des valeurs numériques uniquement. Les valeurs Null sont ignorées.
MAX
Retourne la valeur maximale de l'expression.Syntaxe
MAX(agrégat)
Pour les colonnes de type caractère, MAX recherche la valeur la plus élevée dans l'ordre de classement des caractères. Les valeurs Null sont ignorées.
MIN
Retourne la valeur minimale de l'expression.Syntaxe
MIN(agrégat)
Pour les colonnes de type caractère, MIN recherche la valeur la plus petite dans l'ordre de classement des caractères. Les valeurs Null sont ignorées.
COUNT
Retourne le nombre d'éléments non Null figurant dans un groupe.Syntaxe
COUNT(agrégat)
COUNT retourne toujours une valeur dont le type de données est Int.
COUNTDISTINCT
Retourne le nombre d'instances non Null d'un élément figurant dans un groupe.Syntaxe
COUNTDISTINCT(agrégat)
STDEV
Retourne l'écart type des valeurs non Null d'un élément.Syntaxe
STDEV(agrégat)
STDEVP
Retourne l'écart type de la population des valeurs non Null d'un élément.Syntaxe
STDEVP(agrégat)
VAR
Retourne la variance des valeurs non Null d'un élément.Syntaxe
VAR(agrégat)
VARP
Retourne la variance de la population des valeurs non Null d'un élément.Syntaxe
VARP(agrégat)
Conditions
Pour tester une condition, utilisez les fonctions ci-dessous.
IF
Retourne une valeur si vous spécifiez une condition qui donne TRUE et une autre valeur si la condition donne FALSE.Syntaxe
IF(condition, valeur_si_true, valeur_si_false)
La condition doit être une valeur ou une expression qui peut prendre la valeur TRUE ou FALSE. Valeur_si_true représente la valeur retournée si la condition est vraie. Valeur_si_false représente la valeur retournée si la condition est fausse.
IN
Détermine si un élément est membre d'un ensemble.Syntaxe
IN(item, set)
SWITCH
Évalue une liste d'expressions et retourne une valeur d'une expression associée à la première expression de la liste qui a pour valeur TRUE. Switch peut avoir une ou plusieurs paires conditions/valeur.Syntaxe
Switch(condition1, valeur1)
Conversion
Pour convertir une valeur d'un type de données à un autre type de données, utilisez les fonctions ci-dessous.
INT
Convertit une valeur en un entier.Syntaxe
INT(value)
DECIMAL
Convertit une valeur en un décimal.Syntaxe
DECIMAL(value)
FLOAT
Convertit une valeur en un type de données float.Syntaxe
FLOAT(value)
TEXT
Convertit une valeur numérique en texte.Syntaxe
TEXT(value)
Date et heure
Pour afficher la date ou l'heure, utilisez les fonctions ci-dessous
DATE
Retourne une valeur datetime à partir d'une année, d'un mois et d'un jour à 12:00:00.Syntaxe
DATE(année, mois, jour)
DATEONLY
Retourne l'année, le mois et le jour à partir d'une valeur datetime.Syntaxe
DATEONLY(datetime)
DATETIME
Retourne une valeur datetime d'après l'année, le mois, le jour, l'heure, la minute et la seconde.Syntaxe
DATETIME(année, mois, jour, heure, minute, seconde)
YEAR
Retourne une année à partir d'une valeur datetime.Syntaxe
YEAR(datetime)
QUARTER
Retourne le trimestre du calendrier (1-4) de la valeur datetime.Syntaxe
QUARTER(datetime)
MONTH
Retourne le mois à partir d'une valeur datetime.Syntaxe
MONTH(datetime)
DAY
Extrait le jour à partir d'une valeur datetime.Syntaxe
DAY(datetime)
HOUR
Extrait l'heure à partir d'une valeur datetime.Syntaxe
HOUR(datetime)
MINUTE
Extrait la minute à partir d'une valeur datetime.Syntaxe
MINUTE(datetime)
SECOND
Extrait la seconde à partir d'une valeur datetime.Syntaxe
SECOND(datetime)
WEEK
Retourne la valeur numérique de la semaine dans l'année civile.Syntaxe
WEEK(datetime)
DAYOFWEEK
Retourne le jour de la semaine, en commençant par lundi. Lundi = 1 et dimanche = 7.Syntaxe
DAYOFWEEK(datetime)
NOW
Retourne la date et l'heure actuelles.Syntaxe
NOW( )
TODAY
Retourne la date actuelle.Syntaxe
TODAY( )
DATEDIFF
Retourne la différence entre la valeur datetime de début et la valeur datetime de fin.Syntaxe
DATEDIFF(interval, datetime, datetime)
DATEADD
Retourne une valeur datetime qui est le résultat de l'ajout du nombre d'unités d'intervalles de temps spécifié à la valeur datetime d'origine.Syntaxe
DATEADD(interval, units, datetime)
Opérateurs logiques
Pour tester la logique d'une condition, utilisez les fonctions suivantes.
AND
Retourne TRUE si tous les arguments ont la valeur TRUE ; retourne FALSE si un ou plusieurs arguments ont la valeur FALSE.Syntaxe
AND(logical, logical)
Les arguments doivent donner des valeurs logiques telles que TRUE ou FALSE, ou appartenir à des tableaux ou références contenant des valeurs logiques. Si un argument de tableau ou de référence contient du texte ou des cellules vides, ces valeurs sont ignorées.
OR
Retourne TRUE si un argument quelconque a la valeur TRUE ; retourne FALSE si tous les arguments ont la valeur FALSE.Syntaxe
OR(logical, logical)
Les arguments doivent donner des valeurs logiques telles que TRUE ou FALSE, ou appartenir à des tableaux ou références contenant des valeurs logiques. Si un tableau ou une référence contient du texte ou des cellules vides, ces valeurs sont ignorées.
NOT
Inverse la valeur de son argument. Utilisez NOT lorsque vous souhaitez vous assurer qu'une clause n'est pas égale à une valeur particulière.Syntaxe
NOT(logical)
Si la valeur est FALSE, NOT retourne TRUE ; si la valeur est TRUE, NOT retourne FALSE.
Opérateurs mathématiques
Pour manipuler des valeurs numériques, utilisez les fonctions suivantes.
MOD
Retourne le reste une fois le nombre divisé par un diviseur. Le diviseur ne peut pas être 0.Syntaxe
MOD(number, divisor)
TRUNC
Tronque un nombre du nombre de chiffres spécifié. Si le nombre est positif, il est tronqué à droite de la décimale. Si le nombre est négatif, il est tronqué à gauche de la décimale.Syntaxe
TRUNC(number, digits)
ROUND
Arrondit un nombre à un nombre de chiffres spécifié.Syntaxe
ROUND(number, digits)
Si le nombre de chiffres est supérieur à 0 (zéro), le nombre est arrondi au nombre spécifié de décimales. Si le nombre de positions est égal à 0, le nombre est arrondi à l'entier le plus proche. Si le nombre de chiffres est inférieur à 0, le nombre est arrondi à gauche de la virgule décimale.
Opérateurs
Opérateurs arithmétiques
Pour réaliser des opérations mathématiques de base, telles que l'addition, la soustraction ou la multiplication, combiner des nombres et générer des résultats numériques, utilisez les opérateurs suivants. Raccourcis des fonctions contient les opérateurs arithmétiques le plus couramment utilisés.
+ Ajouter
Permet d'ajouter au moins deux éléments ensemble.Syntaxe
value + value
- Soustraire
Permet de déduire un élément d'un autre élément.Syntaxe
value - value
* Multiplier
Permet de multiplier des éléments.Syntaxe
value * value
/ Diviser
Permet de diviser des éléments. Le diviseur ne peut pas être 0.Syntaxe
value/divisor
- Inverser
Permet de changer le signe de la valeur.Syntaxe
-value
^ Élévation à la puissance
Utilisez cette fonction pour élever une valeur à une puissance donnée.Syntaxe
value^power
= Égal à
Utilisez cette fonction pour vérifier l'égalité de deux valeurs. Retourne TRUE lorsque value1 est égale à value2.Syntaxe
value1= value2
<> Différent de
Utilisez cette fonction pour indiquer que deux valeurs ne sont pas égales. La valeur est TRUE lorsque value1 n'est pas égale à value2.Syntaxe
value1 <> value2
> Supérieur à
Utilisez cette fonction pour indiquer qu'une valeur est supérieure à une autre valeur. La valeur est TRUE lorsque value1 est supérieure à value2.Syntaxe
value1 > value2
>= Supérieur ou égal à
Utilisez cette fonction pour indiquer qu'une valeur est supérieure ou égale à une autre valeur. La valeur est TRUE lorsque value1 est supérieure ou égale à value2.Syntaxe
value1 >= value2
< Inférieur à
Utilisez cette fonction pour indiquer qu'une valeur est inférieure à une autre valeur. La valeur est TRUE lorsque value1 est inférieure à value2.Syntaxe
value1 < value2
<= Inférieur ou égal à
Utilisez cette fonction pour indiquer qu'une valeur est inférieure ou égale à une autre valeur. Retourne TRUE lorsque value1 est inférieure ou égale à value2.Syntaxe
value1 <= value2
Texte
Pour manipuler du texte, utilisez les fonctions suivantes.
CONCAT (&)
Combine deux chaînes en une seule. La deuxième chaîne est ajoutée à la suite de la première.Syntaxe
string & string
FIND
Position de la première instance d'une chaîne.Syntaxe
FIND(string, substring)
LEFT
Retourne les caractères situés les plus à gauche d'une chaîne. Si vous spécifiez une valeur inférieure à zéro pour l'argument de longueur au sein de la fonction, le comportement est indéfini.Syntaxe
LEFT(string, length)
LENGTH
Retourne le nombre de caractères dans une chaîne.Syntaxe
LENGTH(string)
LOWER
Convertit les caractères majuscules d'une chaîne en minuscules.Syntaxe
LOWER(string)
LTRIM
Retourne une chaîne avec les espaces de début supprimés.Syntaxe
LTRIM(string)
REPLACE
Retourne une chaîne dans laquelle toutes les instances d'une sous-chaîne ont été remplacées par une autre sous-chaîne.Syntaxe
REPLACE(find, replace, string)
RIGHT
Retourne les caractères situés les plus à droite d'une chaîne. Si vous spécifiez une valeur inférieure à zéro pour l'argument de longueur au sein de la fonction, le comportement est indéfini.Syntaxe
RIGHT(string, length)
RTRIM
Retourne une chaîne avec les espaces de fin supprimés.Syntaxe
RTRIM(string)
TEXT
Convertit une valeur numérique en chaîne.Syntaxe
TEXT(value)
SUBSTRING
Retourne une sous-chaîne à partir d'une chaîne. Si vous spécifiez une valeur inférieure à zéro pour l'argument de longueur au sein de la fonction, le comportement est indéfini.Syntaxe
SUBSTRING(string, start, length)
UPPER
Convertit tous les caractères minuscules d'une chaîne en majuscules.Syntaxe
UPPER(string)
Informations
Pour retourner des informations globales sur les utilisateurs, recourez aux fonctions suivantes.
GETUSERID
Retourne l'ID que l'utilisateur a utilisé pour accéder aux données.Syntaxe
GETUSERID()
GETUSERCULTURE
Retourne les paramètres régionaux ou linguistiques de l'utilisateur.Syntax
GETUSERCULTURE()