Outils pour utilisateurs

Outils du site


doc:v3:acquisition:apprentissage:fonctionsspecifiques

Ceci est une ancienne révision du document !


Fonctions spécifiques

Comment utiliser l'interface et l'assistant ?

Fonctions disponibles

Concaténation d'éléments

@concat

Permet de concaténer les valeurs de chacun des paramètres qui lui sont fournis.

Il est également possible de spécifier un séparateur.

Elle vous permet de réaliser des opérations de concaténation directement dans votre champ de recherche variable sans passer par un second champ de type spécifique.

Options de capture

Deux syntaxes sont possibles.

Sans spécifier de séparateur:

@concat(valeur1,valeur2,...,valeurN)

En spécifiant un séparateur:

@concat('@sep:separateur',valeur1,valeur2,...,valeurN)

separateur peut être le caractère (ou chaîne de caractères) de votre choix à l'exception du caractère quote simple.

Chaque valeur peut être :

  • Une chaîne de caractères encadrée par des quotes simples.
  • Un numérique.
  • @self : une référence au champ lui-même.
  • @<groupname> : une référence à une capture dans le filtre de champ. (effectuée dans le filtre de champ).

Date d'échéance

@dateecheance(@fldX,jours)

une macro qui fait une chose bien pratique de façon simple.

Options de capture

@fldX La référence au champ date.

jours Le nombre de jours que l'on souhaite ajouter à la date

Concaténation de Date

@concatdate permet de concaténer les valeurs de chacun des paramètres qui lui sont fournis et en plus leur applique la macro @Smartdate.

@concatdate(valeur1,valeur2,...,valeurN)

ou

@concat('@sep:separateur',valeur1,valeur2,...,valeurN)

Pour plus de détails se référer à la macro @concat

Concaténation d'éléments et conversion en Date

@concatdate permet de concaténer les valeurs de chacun des paramètres qui lui sont fournis et en plus leur applique la macro @Smartdate.

@concatdate(valeur1,valeur2,...,valeurN)

ou

@concat('@sep:separateur',valeur1,valeur2,...,valeurN)

Pour plus de détails se référer à la macro @concat

Condition OU entre plusieurs champs

@or renvoi 1 (sous forme de chaîne de caractère) si les champs champ1 OU champ2 ont été retrouvés sur le document. Dans le cas contraire la chaîne vide sera renvoyée.

@or(champ1,champ2)

Où champ1 et champ2 sont des références de champs (@FLDX)

Condition évaluée

@condition(<expression>)

expression doit être une expression python valide. Elle peut contenir des références à des champs d'analyse COLD (@FLDxxx). @condition évalue l'expression python fournie en paramètre. Elle retourne 1 si l'expression est évaluée à vraie, et 0 si l'expression est évaluée à faux.

Avant évaluation les références @FLDxxx sont remplacées par leurs valeurs et sont encadrées par des simples quotes (sauf pour les valeurs 0, 1, True, False). Attention donc car un nombre devient une chaîne de caractère ! Il peut être alors nécessaire d'utiliser des fonctions de conversion (long(), int(), float())

Conversion du jour numérique en texte

@int2day est une macro qui traduit un jour exprimé sous forme numérique dans sa représentation littérale.

@int2day(nombre)

Où nombre peut prendre les valeurs suivantes: * Une chaîne de caractères encadrée par des quotes simples.

  • Un numérique.
  • @self : une référence au champ lui-même.
  • @<groupname> : une référence à une capture dans le filtre de champ.
@int2day(3) => mercredi
@int2day("7") => dimanche

En utilisant @self, si celui-ci vaut 5:

@int2day(@self) => vendredi

En utilisant une variable de capture <jour> qui vaut 1

@int2day(@<jour>) => lundi

Conversion du mois texte en mois numérique

@monthint(mois)

Où le paramètre mois est une chaîne de caractères qui représente l'écriture d'un mois sous sa forme littérale.

@monthint retourne le numéro (sur deux chiffres) du mois correspondant.

Ci dessous le tableau des correspondances entre un numéro et une représentation littérale du mois.

Numéro de mois en sortie Valeurs possibles en entrée
01 ja, jan, janv, janu, janvi, janua, janvie, janvier, januar, january
02 f, fe, fev, feb, fevr, febr, fevri, febru, fevrie, februa, fevrier, februar, february
03 mar, mars, marc, march, marz
04 av, ap, avr, apr, avri, apri, avril, april
05 mai, may
06 juin, jun, june, juni
07 jul, july, juil, juill, juille, juillet
08 au, ao, aug, aou, aout, augu, augus, august
09 s, se, sept, septe, septem, septemb, septembe, septembr, septembre, september
10 o, oc, oct, octo, octob, octobe, octobr, october, octobre, okt, oktober
11 n, no, nov, nove, novem, novemb, novembr, novembe, novembre, november
12 d, de, dec, dece, decem, decemb, decembr, decembe, decembre, december, dez, dezember

Conversion du mois numérique en texte

@int2month est une macro qui traduit un mois exprimé sous forme numérique dans sa représentation littérale.

Valeurs alternatives

@alternative renvoi la première valeur non vide parmi une liste de valeurs possibles.

@alternative(@FLD4,@FLD3,'Non renseignée')

La macro @alternative prend au minimum 2 paramètres.

Chaque paramètre alternatif peut être :

  • Une chaîne de caractère (encadrée ou non par des simples quotes ou des doubles quotes)
  • Une référence à un champ (@FLDxxx).

Exemple

ID Description du champ Valeur retrouvée
3 Adresse de facturation 2 Rue Pégoud, 90130 PETIT-CROIX
4 Recherche Adresse de livraison 1 Rue du Général de Gaulle, 90130 Montreux-Château

Nous avons deux champs. L'un nous retrouve l'adresse de facturation. Le second l'adresse de livraison. Nous voudrions, si l'adresse de livraison n'est pas spécifiée, choisir l'adresse de facturation.

Créons un champ supplémentaire de type spécifique et utilisons la macro @alternative

@alternative(@FLD4,@FLD3)

Le premier choix se porte sur le champ 4 (Recherche Adresse de livraison). S'il n'est pas trouvé on prendra la valeur du champ 3 (Adresse de facturation).

Et si aucun n'est trouvé et que l'on souhaite indexer une valeur par défaut :

@alternative(@FLD4,@FLD3,'Non renseignée')
doc/v3/acquisition/apprentissage/fonctionsspecifiques.1514541288.txt.gz · Dernière modification: 2023/03/17 09:56 (modification externe)