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()