Le mode avancé vous permet de créer des règles plus élaborées pour les groupes intelligents ou les emplacements intelligents, avec des opérateurs logiques « et »/« ou », des opérations imbriquées et des fonctions supplémentaires de formatage des dates. Le mode avancé utilise un éditeur de texte pour créer des requêtes semblables à du code.
Syntaxe générale
Une règle simple ressemble à ceci :
user.firstname.in(“John”) où :
- user est un objet auquel il est fait référence
- firstname est sa propriété (un paramètre fictif pour les champs de profil des utilisateurs)
- est est l'opérateur que vous souhaitez appliquer à la propriété
- (“John”) est une liste de valeurs par rapport auxquelles vous souhaitez vérifier la propriété de l'objet
La règle générale de syntaxe est object.property.operator(values)
Pour les champs de profil de date, nous prenons également en charge le formatage. La syntaxe ressemblera à object.property.format(format).operator(values)
. Les détails du formatage des dates sont décrits ci-dessous.
Syntaxe des champs de profil déroulants
Les groupes intelligents et les emplacements intelligents prennent également en charge les champs de profil déroulants. Dans l'exemple ci-dessous, nous utilisons l'éditeur visuel pour sélectionner l'une des valeurs possibles pour le champ de profil déroulant Fonction.
Lorsque nous passons en mode avancé, nous constatons que l'option de sélection a été traduite en un nombre. Dans cet exemple, il s'agit de « 2 ».
Les numéros attribués aux options du champ de profil déroulant représentent le numéro de ligne dans lequel elles ont été créées. Ce numéro ne change pas si l'ordre des options est modifié. Vous pouvez revoir l'ordre actuel des champs de profil déroulant en naviguant vers Paramètres/Champs de profil et en modifiant le champ souhaité.
N'oubliez pas que les numéros d'option doivent être fournis sous forme de texte entre guillemets.
Syntaxe pour les champs de profil de date
Le mode avancé prend également en charge des opérations distinctes pour les champs de profil de date, telles que « à cette date ou avant », « à cette date ou après », « entre » et le formatage de la date.
Pour illustrer la différence entre les différentes opérations, nous prendrons l'exemple du champ de profil hire_date. Supposons que ce champ contienne des informations sur la date d'embauche d'un employé.
Gardez à l'esprit que lorsque vous utilisez le mode avancé, les dates sont affichées au format YYYY-MM-DD. Dans ce format, YYYY représente l'année, MM représente le mois et DD représente le jour. Le MM et le DD incluent un 0 en début de date lorsque cela est nécessaire. Par exemple, le 7 janvier 2025 s'écrira « 2025-01-07 ».
Est/N'est pas
La fonction est/n'est pas vérifie si la valeur d'un champ de profil de date correspond aux arguments fournis. Par exemple, user.hire_date.is(« 2025-03-31 », « 2024-12-01 ») inclura les utilisateurs dont la date d'embauche est précisément le 31 mars 2025 ou le 1er décembre 2024. Par contre, isNot exclura les utilisateurs embauchés à ces dates précises.
À cette date ou avant
La syntaxe user.hire_date.onOrBefore(« 2025-03-31 ») peut être utilisée pour capturer tous les utilisateurs dont la date d'embauche est antérieure ou identique à une date spécifique. Dans cet exemple, « hire_date » fait référence au champ du profil de date, “onOrBefore” est l'opération et « 2025-03-31 » est l'argument de la date. Cette fonction spécifique capturera tous les utilisateurs embauchés le ou avant le 31 mars 2025.
À cette date ou après
La syntaxe user.hire_date.onOrAfter(« 2025-03-31 ») peut être utilisée pour capturer tous les utilisateurs dont la date d'embauche est postérieure ou identique à une date spécifique. Dans cet exemple, « hire_date » fait référence au champ du profil de date, “onOrAfter” est l'opération et « 2025-03-31 » est l'argument de la date. Cette fonction spécifique capturera tous les utilisateurs embauchés le ou après le 31 mars 2025.
Entre
La syntaxe « user.hire_date.between( »2025-03-01« , »2025-03-31« ) » peut être utilisée pour rechercher tous les utilisateurs dont la valeur du champ du profil de date se trouve à l'intérieur d'une plage de dates spécifiée. Dans cet exemple, il s'agira de tous les utilisateurs dont la date d'embauche est comprise entre le 1er mars 2025 ou une date ultérieure et le 31 mars 2025 ou une date antérieure. Cette fonction permet de trouver tous les utilisateurs embauchés en mars 2025.
Formatage de la date
Le mode avancé permet un formatage flexible des dates, ce qui est particulièrement utile quand vous ne devez utiliser qu'un seul des composants du champ de date. Par exemple, la syntaxe user.hire_date.format("aaaa-MM").between("2025-01", "2025-03")
- format("yyyy-MM") spécifie le format du champ de profil hire_date
- between("2025-01", "2025-03") est une fonction qui prend 2 arguments qui doivent être fournis dans le même format que dans format("yyyy-MM")
Cette règle renverra tous les utilisateurs qui ont été embauchés entre janvier et mars 2025, quel que soit le jour d'embauche.
Les formats suivants sont disponibles pour chaque champ du profil de date :
- yyyy-MM-dd : La date complète comprenant l'année, le mois et le jour, avec des zéros en tête.
- yyyy : L'année.
- yyyy-MM : L'année et le mois.
- yyyy-ww : L'année et le numéro de semaine.
- ww : Le numéro de la semaine pour une date donnée, avec un 0 en tête.
- MM : Le numéro du mois, avec un 0 en tête.
- MM-dd : Le mois et le jour, avec des 0 en tête.
- dd : Le jour d'un champ de profil de date, avec un 0 en tête.
Le formatage de la date peut être utilisé avec toutes les opérations spécifiques à la date comme is, isNot, onOrBefore, onOrAfter et between.
Le motif ww représente le numéro de semaine ISO, qui suit la norme ISO-8601. Selon cette norme, une semaine commence le lundi :
- Une semaine commence le lundi
- La première semaine de l'année (semaine 01) est la semaine qui contient le premier jeudi de l'année
- Si le 1er janvier tombe un lundi, un mardi, un mercredi ou un jeudi, il appartient à la semaine 1 de la nouvelle année
- Si le 1er janvier tombe un vendredi, un samedi ou un dimanche, il appartient à la dernière semaine de l'année précédente.
Opérateurs supportés et imbrication
Lorsque vous souhaitez combiner des règles, ajoutez &&
(pour et (and)) ou ||
(pour ou (or)) entre les règles. Exemples :
-
user.firstname.in(“John”)
&&
user.lastname.in(“Doe”) s'applique à tous les utilisateurs dont le nom est John Doe -
user.firstname.in(“John”)
||
user.lastname.in(“Doe”) s'applique à tous les utilisateurs dont le prénom est John et à tous les utilisateurs dont le nom est Doe
Dans le mode avancé, vous pouvez également imbriquer des règles pour créer des règles plus avancées. Exemples :
-
user.firstname.in(“John”)
||
user.lastname.in(“Doe”) ) && user.department.in(“Sales”) s'applique à tous les utilisateurs dont le prénom est John et à tous les utilisateurs dont le nom est Doe qui travaillent au sein du pôle commercial de l'entreprise
Remarque : si vos règles avancées utilisent une syntaxe non prise en charge par la vue de base, vous ne pourrez pas revenir à l'éditeur visuel.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.