Éditer les expressions expression

L’édition d’une expression consiste à saisir manuellement des conditions pour former une règle. Ce mode permet d’utiliser des fonctions avancées, vous permettant ainsi de manipuler les valeurs utilisées afin de réaliser des requêtes spécifiques : manipulation de dates, de chaînes, de champs numériques, tris, etc.

IMPORTANT
La section ci-dessous fournit des informations sur l’utilisation de l’éditeur d’expression pour créer des règles. Gardez à l’esprit que la syntaxe utilisée pour créer des règles diffère de celle utilisée pour ajouter de la personnalisation.

Utiliser l’éditeur d’expression edit

L’éditeur d’expression est disponible à partir du bouton Modifier une expression du concepteur de requête, disponible pour les champs Attribut et Valeur lors de la configuration d’une condition personnalisée.

Accéder depuis le champ Attribut
Accéder depuis le champ Valeur
{modal="regular"}
{modal="regular"}

L’éditeur d’expression fournit :

  • un champ de saisie (1), dans lequel l’expression est définie ;
  • la liste des champs (2) disponibles, utilisables dans l’expression et correspondant à la dimension de ciblage de la requête ;
  • des fonctions d’assistance (3), triées par catégorie.

Modifiez l’expression en saisissant une expression directement dans le champ de saisie. Pour ajouter un champ ou une fonction d’assistance, placez le curseur dans l’expression à l’endroit où vous souhaitez l’ajouter, puis cliquez sur le bouton +.

{modal="regular"}

Lorsque votre expression est prête, cliquez sur le bouton Confirmer. L’expression s’affiche dans le champ sélectionné. Pour la modifier, ouvrez l’éditeur d’expression et apportez les modifications souhaitées.

L’exemple ci-dessous présente une expression configurée pour le champ Valeur. Pour la modifier, vous devez ouvrir l’éditeur d’expression à l’aide du bouton Modifier une expression.

{modal="regular"}

Fonctions d’assistance

L’outil d’édition de requêtes permet d’utiliser des fonctions avancées pour réaliser un filtrage complexe en fonction des résultats souhaités et des types de données manipulées. Les fonctions suivantes sont disponibles :

Agrégat

Elles sont utilisées pour effectuer des calculs sur un ensemble de valeurs.

Nom
Description
Syntaxe
Avg
Renvoie la moyenne d'une colonne de type numérique
Avg(<valeur>)
Count
Compte les valeurs non nulles d'une colonne
Count(<valeur>)
CountAll
Compte les valeurs retournées (tous champs confondus)
CountAll()
Countdistinct
Compte les valeurs distinctes non nulles d'une colonne
Countdistinct(<valeur>)
Max
Renvoie la valeur maximum d'une colonne de type nombre, chaîne ou date
Max(<valeur>)
Min
Renvoie la valeur minimum d'une colonne de type nombre, chaîne ou date
Min(<valeur>)
StdDev
Renvoie l'écart type d'une colonne de type nombre
StdDev(<valeur>)
StringAgg
Renvoie la concaténation des valeurs d’une colonne de type chaîne, séparées par le caractère du deuxième argument
.
StringAgg(<Value>,<String>)
Sum
Renvoie la somme des valeurs d'une colonne de type nombre, chaîne ou date
Sum(<valeur>)

Date

Les fonctions de date sont utilisées pour manipuler des valeurs de date ou d'heure.

Nom
Description
Syntaxe
AddDays
Ajoute un nombre de jours à une date
AddDays(<date>, <nombre>)
AddHours
Ajoute un nombre d'heures à une date
AddHours(<date>, <nombre>)
AddMinutes
Ajoute un nombre de minutes à une date
AddMinutes(<date>, <nombre>)
AddMonths
Ajoute un nombre de mois à une date
AddMonths(<date>, <nombre>)
AddSeconds
Ajoute un nombre de secondes à une date
AddSeconds(<date>, <nombre>)
AddYears
Ajoute un nombre d'années à une date
AddYears(<date>, <nombre>)
ConvertNTZ
Convertit l’horodatage NTZ (horodatage sans fuseau horaire) en TZ (horodatage avec fuseau horaire) en application de la valeur TZ de session définie.
ConvertNTZ (<date+heure>)
DateCmp
Comparer deux dates
DateCmp(<date>,<date>)
DateOnly
Renvoie la date uniquement (avec heure à zéro)*
DateOnly(<date>)
Jour
Renvoie le nombre représentant le jour de la date
Day(<date>)
DayOfYear
Renvoie le numéro du jour dans l'année de la date
DayOfYear(<date>)
DaysAgo
Renvoie la date correspondant à la date courante moins n jours
DaysAgo(<nombre>)
DaysAgoInt
Renvoie la date (entier aaaammjj) correspondant à la date courante moins n jours
DaysAgoInt(<nombre>)
DaysDiff
Nombre de jours entre deux dates
DaysDiff(<date de fin>, <date de début>)
DaysOld
Renvoie l'ancienneté en jours d'une date
DaysOld(<date>)
GetDate
Renvoie la date système courante du serveur
GetDate()
Hour
Renvoie l'heure de la date
Hour(<date>)
HoursDiff
Renvoie le nombre d'heures entre deux dates
HoursDiff(<date de fin>, <date de début>)
Minute
Renvoie les minutes de la date
Minute(<date>)
MinutesDiff
Renvoie le nombre de minutes entre deux dates
MinutesDiff(<date de fin>, <date de début>)
Month
Renvoie le nombre représentant le mois de la date
Month(<date>)
MonthsAgo
Renvoie la date correspondant à la date courante moins n mois
MonthsAgo(<nombre>)
MonthsDiff
Renvoie le nombre de mois entre deux dates
MonthsDiff(<date de fin>, <date de début>)
MonthsOld
Renvoie l'ancienneté en mois d'une date
MonthsOld(<date>)
Oldest
Renvoie la date la plus ancienne d’une plage.
Oldest (<date, date>)
Second
Renvoie les secondes de la date
Second(<date>)
SecondsDiff
Renvoie le nombre de secondes entre deux dates
SecondsDiff(<date de fin>, <date de début>)
SubDays
Enlève un nombre de jours à une date
SubDays(<date>, <nombre>)
SubHours
Enlève un nombre d'heures à une date
SubHours(<date>, <nombre>)
SubMinutes
Enlève un nombre de minutes à une date
SubMinutes(<date>, <nombre>)
SubMonths
Enlève un nombre de mois à une date
SubMonths(<date>, <nombre>)
SubSeconds
Enlève un nombre de secondes à une date
SubSeconds(<date>, <nombre>)
SubYears
Enlève un nombre d'années à une date
SubYears(<date>, <nombre>)
ToDate
Convertit une date + heure en date seule
ToDate(<date + heure>)
ToDateTime
Convertit une chaîne en date + heure
ToDateTime(<chaîne>)
ToTimestamp
Convertir une chaîne en date et heure
ToTimestamp(<string>)
ToTimeZone
Convertir une date et une heure en fuseau horaire
ToTimeZone(<date>,<time zone>)
TruncDate
Arrondit une date + heure à la seconde
TruncDate(@lastModified, <nombre de secondes>)
TruncDateTZ
Arrondit une date + heure à la seconde près
TruncDateTZ(<date>, <nombre de secondes>, <fuseau horaire>)
TruncQuarter
Arrondit une date au trimestre
TruncQuarter(<date>)
TruncTime
Arrondit la partie heure à la seconde
TruncTim(e<date>, <nombre de secondes>)
TruncWeek
Arrondit une date à la semaine
TruncWeek(<date>)
TruncYear
Arrondit une date + heure au premier janvier de l'année
TruncYear(<date>)
WeekDay
Renvoie le numéro du jour dans la semaine de la date (0=lundi, 6=dimanche).
WeekDay(<date>)
Year
Renvoie le nombre représentant l'année de la date
Year(<date>)
YearAnd Month
Renvoie le nombre représentant l'année et le mois de la date
YearAndMonth(<date>)
YearsAgo
Renvoie le nombre d’années entre une date donnée et la date actuelle
YearsAgo(<date>)
YearsDiff
Renvoie le nombre d'années entre deux dates
YearsDiff(<date de fin>, <date de début>)
YearsOld
Renvoie l'ancienneté en années d'une date
YearsOld(<date>)
NOTE
Notez que la fonction Dateonly prend uniquement le fuseau horaire du serveur, et non celui de l'opérateur.

Géomarketing

Les fonctions de géomarketing sont utilisées pour manipuler des valeurs géographiques.

Nom
Description
Syntaxe
Distance
Renvoie la distance entre deux points donnés par leur longitude et leur latitude, exprimées en degrés.
Distance(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>)

Numérique

Les fonctions numériques sont utilisées pour convertir du texte en nombres.

Nom
Description
Syntaxe
Abs
Renvoie la valeur absolue d'un nombre
Abs(<nombre>)
Ceil
Renvoie le plus petit entier supérieur ou égal à un nombre
Ceil(<nombre>)
Floor
Renvoie le plus grand entier supérieur ou égal à un nombre
Floor(<nombre>)
Greatest
Renvoie le plus grand de deux nombres
Greatest(<nombre 1>, <nombre 2>)
Least
Renvoie le plus petit de deux nombres
Least(<nombre 1>, <nombre 2>)
Mod
Renvoie le reste de la division entiers de n1 par n2
Mod(<nombre 1>, <nombre 2>)
Percent
Renvoie la proportion en pourcentage entre deux nombres
Percent(<nombre 1>, <nombre 2>)
Random
Renvoie une valeur aléatoire
Random()
Round
Arrondit un nombre à n décimales près
Round(<nombre>, <nombre de décimales>)
Sign
Renvoie le signe du nombre
Sign(<nombre>)
ToDouble
Convertit un entier en réel
ToDouble(<nombre>)
ToInt64
Convertit un réel en entier 64 bits
ToInt64(<nombre>)
ToInteger
Convertit un réel en entier
ToInteger(<nombre>)
Trunc
Tronque n1 à n2 décimales
Trunc(<n1>, <n2>)

Autres

Ce tableau contient les autres fonctions disponibles.

Nom
Description
Syntaxe
AESEncrypt
Chiffrer la chaîne fournie dans l’argument
AESEncrypt(<value>)
Case
Renvoie la valeur 1 si la condition est vérifiée. Sinon, renvoie la valeur 2.
Case(When(<condition>, <valeur 1>), Else(<valeur 2>))
ClearBit
Efface le Flag dans la valeur
ClearBit(<identifiant>, <flag>)
Coalesce
Renvoie la valeur 2 si la valeur 1 est nulle ou vide (null), sinon renvoie la valeur 1
Coalesce(<valeur 1>, <valeur 2>)
Decode
Renvoie la valeur 3 si la valeur 1 = la valeur 2. Sinon, renvoie la valeur 4.
Decode(<valeur 1>, <valeur 2>, <valeur 3>, <valeur 4>)
Else
Renvoie la valeur 1 (ne peut être utilisée qu'en paramètre de la fonction Case)
Else(<valeur 1>, <valeur 2>)
GetEmailDomain
Extrait le domaine d'une adresse e-mail
GetEmailDomain(<valeur>)
GetMirrorURL
Récupère l'URL du serveur de page miroir
GetMirrorURL(<valeur>)
Iif
Renvoie la valeur 1 si l’expression est vraie. Sinon, renvoie la valeur 2.
Iif(<condition>, <valeur 1>, <valeur 2>)
IsBitSet
Indique si le Flag est présent dans la valeur
IsBitSet(<identifiant>, <flag>)
IsEmptyString
Renvoie la valeur 2 si la chaîne 1 est vide, sinon renvoie la valeur 3
IsEmptyString(<valeur 1>, <valeur 2>, <valeur 3>)
NewUUID
Renvoie un ID unique
NewUUID()
NoNull
Renvoie la chaîne vide si l'argument n'a pas de valeur (null)
NoNull(<valeur>)
RowId
Renvoie le numéro de la ligne
RowId
SetBit
Force le Flag dans la valeur
SetBit(<identifiant>, <flag>)
ToBoolean
Convertit un nombre en booléen
ToBoolean(<nombre>)
When
Renvoie la valeur 1 si l’expression est vraie. Sinon, renvoie la valeur 2 (ne peut être utilisée qu’en paramètre de la fonction Case).
When(<condition>, <valeur 1>)

Chaîne

Les fonctions de chaîne sont utilisées pour manipuler un ensemble de chaînes.

Nom
Description
Syntaxe
AllNonNull2
Indique si tous les paramètres sont non nuls et non vides
AllNonNull2(<chaîne>, <chaîne>)
AllNonNull3
Indique si tous les paramètres sont non nuls et non vides
AllNonNull3(<chaîne>, <chaîne>, <chaîne>)
Ascii
Renvoie la valeur ascii du premier caractère de la chaîne.
Ascii(<chaîne>)
Char
Renvoie le caractère de code ascii n
Char(<nombre>)
Charindex
Retourne la position de la chaîne 2 dans la chaîne 1.
Charindex(<chaîne>, <chaîne>)
dataLength
Renvoie la taille de la chaîne en octets
dataLength(<string>)
GetLine
Renvoie la nième (de 1 à n) ligne de la chaîne
GetLine(<chaîne>)
IfEquals
Renvoie le troisième paramètre si les deux premiers paramètres sont égaux. Sinon, renvoie le dernier paramètre.
IfEquals(<chaîne>, <chaîne>, <chaîne>, <chaîne>)
IsMemoNull
Indique si le memo passé en paramètre est nul
IsMemoNull(<memo>)
JuxtWords
Concatène les chaînes passées en paramètres. Ajoute des espaces entre les chaînes si nécessaire.
JuxtWords(<chaîne>, <chaîne>)
JuxtWords3
Concatène les chaînes passées en paramètres. Ajoute des espaces entre les chaînes si nécessaire.
JuxtWords3(<string>, <string>, <string>)
Left
Renvoie les n premiers caractères de la chaîne
Left(<chaîne>, <nombre>)
Length
Renvoie la longueur de la chaîne
Length(<chaîne>)
Line
Extraire la ligne n de la chaîne
Line(<string>,<number>)
Lower
Renvoie la chaîne en minuscules
Lower(<chaîne>)
LPad
Renvoie la chaîne complétée à gauche
LPad (<String>, <Number>, <Char>)
Ltrim
Ote les espaces à gauche de la chaîne
Ltrim(<chaîne>)
Md5Digest
Renvoie une représentation hexadécimale de la clé MD5 d'une chaîne
Md5Digest(<chaîne>)
MemoContains
Indique si le mémo contient la chaîne passée en paramètre
MemoContains(<memo>, <chaîne>)
NodeValue
Extrait la valeur d’un champ XML de son XPath et des données de champ
NodeValue (<String>, <String>)
Replace
Remplace toutes les occurrences d’une valeur de chaîne spécifiée par une autre valeur de chaîne.
Replace(<String>,<String>,<String>)
Right
Renvoie les n derniers caractères de la chaîne
Right(<chaîne>)
RPad
Renvoie la chaîne complétée à droite
RPad(<chaîne>, <nombre>, <caractère>)
Rtrim
Ote les espaces à droite de la chaîne
Rtrim(<chaîne>)
Sha256Digest
Représentation hexadécimale de la clé SHA256 d’une chaîne.
Sha256Digest (<String>)
Sha512Digest
Représentation hexadécimale de la clé SHA512 d’une chaîne.
Sha512Digest (<String>)
Smart
Renvoie la chaîne avec la première lettre de chaque mot en majuscule
Smart(<chaîne>)
Substring
Extrait la sous-chaîne débutant au caractère n1 de la chaîne et de longueur n2
Substring(<chaîne>, <départ>, <longueur>)
ToString
Convertit le nombre en chaîne
ToString(<nombre>, <nombre>)
Upper
Renvoie la chaîne en majuscules
Upper(<chaîne>)
VirtualLink
Renvoie la clé étrangère d'un lien passée en premier paramètre, si les deux autres paramètres sont égaux
VirtualLink(<nombre>, <nombre>, <nombre>)
VirtualLinkStr
Renvoie la clé étrangère (texte) d'un lien passée en premier paramètre, si les deux autres paramètres sont égaux
VirtualLinkStr(<chaîne>, <nombre>, <nombre>)

Fenêtre

Nom
Description
Syntaxe
_Over__
Exécutez l’appel de fonction SQL saisi en tant que 1er paramètre, sur Partition ou Trier selon les champs saisis en tant que 2e paramètre.
_Over_ (<Value>, <Value>)
Desc
Applique un tri descendant
Desc(<valeur 1>)
OrderBy
Trie le résultat au sein de la partition
OrderBy(<valeur 1>)
PartitionBy
Partitionne le résultat d'une requête sur une table
PartitionBy(<valeur 1>)
RowNum
Génère un numéro de ligne en fonction de la partition de la table et d'un ordre de tri.
RowNum(PartitionBy(<valeur 1>), OrderBy(<valeur 1>))
recommendation-more-help
c39c2d00-ba9a-424b-adf9-66af58a0c34b