Formules DataChain
HandleData
GenericsData
Datachain permet de traiter et croiser les données à différents niveau stratégiques de la chaîne de valeur : Entités Métier, DataBlocks et sources de données HandleData.
Ces formules font appel à des fonctions caractérisées par un type de valeurs en entrée (argument) et en sortie (retour).
DataChain propose plus de 250 fonctions unitaires pour l’élaboration de formules détaillés dans cette page.
Générateur de formules
Le générateur de formules permet d’implémenter une formule personnalisée en utilisant les fonctions disponibles combinées aux données traitées et à des constantes, éditées manuellement ou non.
Écran de génération de formules
Liste des formules existantes dans le contexte de travail. Noter que la notion de contexte correspond à l’origine de l’appel de la boite de dialogue de gestion des formules. Par exemple, si la boite de dialogue "Formules" est sollicitée depuis une étape d’un DataBlock, les formules présentées dans la liste sont celles de l’étape en cours.
Bouton d'activation ou de désactivation d’une formule. Si une formule est désactivée, alors la colonne est toujours présente dans le tableau des valeurs mais les valeurs sont valorisées à Null.
Icône permettant d’éditer la formule.
Icône permettant de dupliquer la formule.
Icône permettant de supprimer la formule.
Zone de saisie du libellé d’une formule (Obligatoire)
Zone de saisie permettant de décrire une formule
Zone de saisie de la formule
Icône permettant de copier la formule
Icône permettant de coller la formule
Icône permettant l’accès au catalogue de formule
Icône permettant l’ajout de la formule en cours dans le catalogue de formule
Permet de changer l’affichage de la formule (mode arbre)
Bouton permettant de créer une formule
Supprime toutes les formules du DataBlock (une boite de dialogue demande la confirmation)
Quitte la boite de dialogue de saisie des formules
Saisie d’une formule
Noter que les fonctions unitaires sont organisées en package
-
str. pour opérations sur les strings (chaînes de caractères)
-
num. pour opérations sur les numériques
-
date. pour les opérations sur les dates
-
bool. pour les opérations sur les booléens
-
url. pour les opérations sur les urls
-
geo. pour les opérations géographiques
-
list. pour les opérations sur les listes
-
dc.,words., bin., file., http. pour les fonctions spécifiques à DataChain
-
La saisie d’une formule se réalise dans la zone
-
Une formule peut-être constituée d’une ou n fonctions unitaires.
-
Une formule est constituée de n attributs.
-
Un attribut est
-
soit une saisie d’information directe
-
soit une colonne disponible de la source
-
soit une formule existante
-
soit une autre formule unitaire
-
soit une valeur choisie dans une liste fermée, proposée par DataChain
-
-
Pour certains attributs, seul un type spécifique est accepté (exemple : num.sinus(argument) où argument est obligatoirement de type numérique (Integer, BigInteger, Décimal…).
-
En sortie, une formule présente un type prédéfini des données qu’elle met à disposition.
-
Une formule renvoie null si une incohérence de type dans les arguments est constatée.
Zone de saisie d’une formule
Zone de recherche d’une formule
Liste des formules disponibles
A noter que la liste des éléments peut dépendre du type de l’attribut. Par exemple si l’attribut est de type Integer, alors des éléments de type Integer seront proposés
Accès au catalogue de formule
A noter que les formules proposées dans le catalogue peuvent dépendre du type de l’attribut. Par exemple si l’attribut est de type
Integer, alors seules les formules étant de type Integer seront proposées
Valide la formule et ferme la popup
Vide la zone de saisie de formule
Annule la formule en cours
Pour commencer la saisie d’une formule
-
Cliquer sur le bouton Nouvelle Formule
-
Saisir un libellé
-
Puis cliquer sur la zone de choix d’une fonction. La liste des fonctions unitaires est proposée.
-
Choisir une fonction
-
Compléter et préciser chaque argument.
Le principe est de choisir une fonction, puis, en cliquant au niveau de chaque attribut, préciser les attributs en entrée qui seront consommés. Éléments d’affichage :
Nom de la fonction (Dans l’exemple de la fonction str.split, 2 arguments sont exigés)
Une valeur à traiter (Dans l’exemple, la colonne COMMUNE).
Le séparateur (dans l’exemple il s’agit d’un - )
Zone de vue arbre de la formule.
Zone affichant les arguments attendus par la formule sélectionnée.
Lorsque la formule est terminée, cliquer sur le bouton Valider
A noter qu’un bouton Vider permet de réinitialiser l’ensemble des éléments (libellé, fonction, description,…) de la formule.
Catalogue de formule
Le gestionnaire de formules permet de générer des formules type et de les intégrer dans un catalogue. La formule ainsi intégrée peut-être utilisée par la suite à la demande.
Lors de l’intégration d’une formule dans le catalogue à partir d’une formule en cours, les références de colonne du Datablock en cours sont remplacées par un joker (/?/). Les valeurs des autres attributs ne faisant pas références à une colonne du bloc de données en cours sont conservées.
A noter qu’une formule du catalogue peut-être (ou non) partagée avec les autres utilisateurs. Le créateur de la formule peut décider à tout moment du statut de ce partage
Gestion du catalogue de formule
Pour ajouter une formule au catalogue, la sélectionner puis cliquer sur
Pour accéder au catalogue, cliquer sur
Enregistrer une formule dans le catalogue de formule
L’écran d’enregistrement d’une formule dans le catalogue permet de
-
préciser un libellé (Obligatoire)
-
spécifier un ou des Tags
-
préciser une description
-
choisir le statut de partage de la formule avec les autres utilisateurs
Affiche le détail de la formule
Enregistre et ferme la popup
Annule et ferme la popup
Affecter une formule présente dans le catalogue de formule
Cas 1 - Affecter une formule du catalogue lors de la création d’une nouvelle formule
Dans la popup Gestionnaire de formule, cliquer sur puis sur l’icône
pour ouvrir la popup de catalogue de formule
-
Sélectionner pour afficher uniquement les formules de l’utilisateur en cours
-
Sélectionner la formule
-
Zone indiquant la formule sélectionnée
-
Cliquer sur Affecter pour fermer la popup et retourner sur la page de création de formule
-
Fermer la popup sans affecter de formule
-
L’utilisateur peut changer le partage de ses formules
-
Supprimer la formule du catalogue
Cas 2 - Affecter une formule du catalogue dans un attribut d’une formule en cours
Dans ce cas, se positionner au niveau de l’attribut de la fonction en cours et cliquer sur
Formules unitaires pour les numériques de type Décimal
dec.abs
Objectif : Donne la valeur absolue d’un nombre, c’est-à-dire un nombre sans son signe.
-
1 Argument : Nombre : donnée dont vous voulez obtenir la valeur absolue.
Retours : Renvoie une valeur de type Nombre décimal. Renvoie la valeur Null si la valeur n’est pas un numérique.
* *dec.abs*(-2.23344) RENVOIE 2.23344 * *dec.abs*(2.23344) RENVOIE 2.23344 * *dec.abs*(MARTIN) RENVOIE Null
dec.round
Objectif : Arrondit une valeur numérique au nombre de décimales indiqué.
-
2 Arguments : Valeur Numérique : Nombre décimal à arrondir Niveau de l’arrondi : Nombre de chiffres définissant l’arrondi
Retours : Renvoie une valeur de type Décimal Renvoie la valeur null si l’argument à arrondir n’est pas numérique Renvoie la valeur null si l’argument Niveau de l’arrondi n’est pas un nombre Integer
dec.round(-2.23344,2) RENVOIE -2.23 |
dec.round(2.23344,3) RENVOIE 2.233 |
dec.round(MARTIN,3) RENVOIE Null |
dec.is_numeric
Objectif : Renvoie le booléen "True" si la valeur est numérique, "False" sinon
-
1 Argument : Valeur à traiter : Valeur à analyser
Retour : Renvoie une valeur de type Booléen
dec.is_numeric(123) RENVOIE True |
dec.is_numeric(12.3) RENVOIE True |
dec.is_numeric(1212.3) RENVOIE True |
dec.is_numeric(1 112,3) RENVOIE False |
dec.is_numeric(12/01/2018) RENVOIE False |
dec.is_numeric(12,4) RENVOIE False |
dec.is_numeric(TOTO) RENVOIE False |
dec.cosinus
Objectif : Donne le Cosinus d’une valeur décimale en radians
-
1 Argument : Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.cosinus(12) RENVOIE 0.8438539587324921 |
dec.cosinus_invers (arc Cosinus)
Objectif : Donne la valeur de l’inverse du Cosinus (ArcCosinus) d’une valeur décimale en radians
-
1 Argument : Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.cosinus_invers(0.9) RENVOIE. 0.4510268118 |
dec.cosinus_hyperb
Objectif : Donne le Cosinus Hyperbolique d’une valeur décimale en radians
-
1 Argument : Valeur décimale à traiter
Retours : Renvoie une valeur de type décimal
dec.cosinus_hyperb(0.9) RENVOIE 1.4330863854487745 |
dec.nan_to_null
Objectif : Transforme les valeurs NaN en null
-
1 Argument : Colonne de type décimale à traiter
Retour : Renvoie la valeur null
dec.nan_to_null(colonne) RENVOIE null |
dec.sinus
Objectif : Donne le Sinus d’une valeur décimale en radians
-
1 Argument : Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.sinus(0.9) RENVOIE 0.7833269096274834 |
dec.sinus_invers (arc Sinus)
Objectif : Donne la valeur de l’inverse du Sinus (ArcSinus) d’une valeur décimale en radians
-
1 Argument : Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.sinus_invers(0.9) RENVOIE 1.1197695149986342 |
dec.sinus_hyperb
Objectif : Donne le Sinus Hyperbolique d’une valeur décimale en radians
-
1 Argument : Valeur décimale à traiter
Retours : Renvoie une valeur de type décimal
dec.sinus_hyperb(0.9) RENVOIE 1.0265167257081753 |
dec.tangent
Objectif : Donne la tangente d’une valeur décimale
-
1 Argument : Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.tangent(0.9) RENVOIE 1.2601582175503392 |
dec.tangent_invers
Objectif : Donne la valeur de l’inverse de la tangente (ArcTangente) d’une valeur décimale
-
1 Argument : Valeur décimale à traiter
Retours : Renvoie une valeur de type Décimal
dec.tangent_invers(0.9) RENVOIE 0.7328151017865066 |
dec.tangent_hyperb
Objectif : Donne la Tangente Hyperbolique d’une valeur décimale
-
1 Argument : Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.tangent_hyperb(0.9) RENVOIE 0.7162978701990245 |
dec.degree_to_rad
Objectif : Transforme une valeur exprimée en degrés en une valeur exprimée en radians
-
1 Argument : Valeur décimale à traiter
Retour : Renvoie une valeur de type Décimal
dec.degree_to_rad(0.9) RENVOIE 0.015707963267948967 |
dec.rad_to_degree
Objectif : Transforme une valeur exprimée en radians en une valeur exprimée en degrés
-
1 Argument :
Valeur numérique à traiter
Retour : Renvoie une valeur de type décimal
dec.rad_to_degree(0.9) RENVOIE 51.56620156177409 |
dec.exponentiel
Objectif : Donne l’Exponentielle d’une valeur décimale
-
1 Argument :
Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.exponentiel(0.23) RENVOIE 1.2586000099294778 |
dec.factorial
Objectif : Donne le Factoriel d’une valeur décimale
-
1 Argument : Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.factoriel(15) RENVOIE 1307674368000 |
dec.hexa
Objectif : Donne la valeur Hexadécimale d’une valeur décimale
-
1 Argument :
Valeur décimale à traiter
Retour : Renvoie une valeur de type string
dec.hexa(123.34) RENVOIE 7B |
dec.log
Objectif : Donne le Logarithme Népérien d’une valeur décimale
-
1 Argument :
Valeur décimale à traiter
Retours : Renvoie une valeur de type décimal
dec.log(0.23) RENVOIE -1.4696759700589417 |
dec.log_10
Objectif : Donne le logarithme de base 10 d’une valeur décimale
-
1 Argument :
Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.log_10(0.23) RENVOIE -0.638272163982407 |
dec.log2
Objectif : Calcule le LOG de base 2 d’une valeur numérique
-
1 Argument :
Valeur décimale à traiter
Retour : Renvoie une valeur de type décimal
dec.log_2(0.23) RENVOIE -2.1202942337177118 |
dec.square
Objectif : Donne la racine carrée d’une valeur numérique
-
1 Argument :
Valeur numérique à traiter
Retour : Renvoie une valeur de type décimal
dec.square(12) RENVOIE 3.4641016151377544 |
dec.cube
Objectif : Donne la racine cubique d’une valeur numérique
-
1 Argument :
Valeur numérique à traiter
Retour : Renvoie une valeur de type décimal
dec.cube(12) RENVOIE 2.2894284851066637 |
dec.sign
Objectif : Retourne la valeur 0 si la valeur à analyser est égale à 0, 1.0 si la valeur est supérieure à 0, -1.0 si la valeur est inférieure à 0.
-
1 Argument :
Valeur numérique à analyser
Retour : Renvoie une valeur de type décimal
dec.sign(-1245.2) RENVOIE -1 |
dec.sign(1245.2) RENVOIE 1 |
dec.sign(Null) RENVOIE Null |
dec.to_int
Objectif : Transforme une valeur de type décimal en une valeur de type integer
-
1 Argument :
Valeur numérique à traiter
Retour : Renvoie une valeur de type integer
dec.to_bigint
Objectif : Transforme une valeur de type décimal en une valeur de type BigInteger
-
1 Argument :
Valeur décimale à traiter
Retour : Renvoie une valeur de type BigInteger
dec.operator
Objectif : Opérations numériques sur une liste de valeurs (Somme, Produit, division, soustraction, moyenne, minimum, maximum)
-
n Arguments :
Opérateur : choix de l’opérateur dans une liste (somme, produit, division, différence, moyenne, minimum, maximum) Liste de valeurs : précise la liste de valeurs sur laquelle l’opérateur va être appliqué
Retour : Renvoie une valeur de type numérique décimal
dec.operator(somme, ARGS(2, 3, 4, 2)) RENVOIE 11 |
dec.operator(différence, ARGS(2, 3, 4, 2)) RENVOIE -7 |
dec.fix
Objectif : Donne la partie entière d’un nombre Décimal
-
1 Argument : Nombre décimal à traiter
Retour : Renvoie une valeur de type integer
dec.fix(123.3) RENVOIE 123 |
dec.replace_null
Objectif : Remplace la valeur Null d’une cellule de type numérique par une valeur précisée
-
2 Arguments :
Valeur 1 : Chaîne de caractères à traiter Valeur 2 : Valeur par défaut si la valeur 1 est Null
Retour : Renvoie une valeur de type Décimal
dec.replace_null(Null, -1) RENVOIE -1 |
dec.replace_null(234.3, -1) RENVOIE 234.3 |
dec.rate_variation
Objectif : Retourne un taux de variation
-
4 Arguments :
Valeur décimale Initiale : Première valeur Valeur décimale finale : Deuxième valeur nb de décimales : Nombre de décimales après la virgule Format du résultat : Ratio ou pourcentage
Retour : Renvoie une valeur décimale
dec.to_str
Objectif : Transforme une valeur de type décimal en une valeur de type String
-
1 Argument :
Valeur décimale à traiter
Retour : Renvoie une valeur de type String
dec.generate
Objectif : Génération d’une liste de décimaux
3 arguments :
Valeur 1 : Incrément : Valeur de l’incrément de type Décimal Valeur 2 : Valeur début : Décimal Valeur 3 : Valeur fin : Décimal
Renvoi : Renvoie une liste de décimaux
dec.generate(0.5,4, 6) RENVOIE [4, 4.5, 5, 5.5, 6] |
dec.list.contains
Objectif : Teste la présence dans la liste d’un décimal
2 arguments :
Valeur 1 : Liste de décimaux (Type Liste) Valeur 2 : Valeur décimale à rechercher
Renvoi : Renvoie un booléen True ou False
dec.list.contains([12.23,23,3,2.1,25], 12.23) RENVOIE True |
dec.list.contains([12.23,23,3,2.1,25], 17.31) RENVOIE False |
dec.list.create
Objectif : Réalise la création d’une liste de décimaux à partir d"une chaîne de caractères
1 argument :
Valeur 1 : Chaîne de caractères de type string
Renvoi : Renvoie une liste de type décimal
dec.list.create([12.23,23,3,2.1,25]) RENVOIE [12.23,23,3,2.1,25] |
dec.list.min
Objectif : Renvoie la valeur décimale la plus petite dans une liste de décimaux
1 argument :
Valeur 1 : Liste de décimaux (type Liste)
Renvoi : Renvoie une valeur décimale
dec.list.min([12.23,23,3,2.1,25]) RENVOIE 2,1 |
dec.list.max
Objectif : Renvoie la valeur décimale la plus grande dans une liste de décimaux
1 argument :
Valeur 1 : Liste de décimaux (type Liste)
Renvoi : Renvoie une valeur décimale
dec.list.max([12.23,23,3,2.1,25]) RENVOIE 25 |
dec.list.median
Objectif : Renvoie la médiane d’une liste de décimaux
1 argument :
Valeur 1 : Liste de décimaux (type Liste)
Renvoi : Renvoie une valeur décimale
dec.list.median([123.34,1234.23,123.05,-123.05] ) RENVOIE 123.195 |
dec.list_mean
Objectif : Renvoie la moyenne d’une liste de décimaux
1 argument :
Valeur 1 : Liste de décimaux (type Liste)
Renvoi : Renvoie une valeur décimale
dec.list.mean([123.34,1234.23,123.05,-123.05] ) RENVOIE 339.3925 |
dec.list.percentile
Objectif : Renvoie le percentile d’une liste de décimaux
2 arguments :
Valeur 1 : Liste de décimaux (type Liste) Valeur 2 : Percentile calculé
Renvoi : Renvoie une valeur décimale
dec.list.percentile([123.34,1234.23,123.05,-123.05, 50] ) RENVOIE 678.785 |
dec.list.sum
Objectif : Renvoie la somme d’une liste de décimaux
1 argument :
Valeur 1 : Liste de décimaux (type Liste)
Renvoi : Renvoie une valeur décimale
dec.list.sum([123.34,1234.23,123.05,-123.05] ) RENVOIE 1357.57 |
dec.list.sort
Objectif : Renvoie une liste de décimaux triée de manière ascendante
1 argument :
Valeur 1 : Liste de décimaux (type Liste)
Renvoi : Renvoie une liste de décimaux
dec.list.sort([12.23,23,3,2.1,25]) RENVOIE [2.1, 3, 12.23, 23, 25] |
dec.list.get
Objectif : Renvoie une valeur décimale comprise dans une liste en fonction de son index dans la liste
2 arguments :
Valeur 1 : Liste de décimaux (type Liste) Valeur 2 : Index (type integer)
Renvoi : Renvoie un décimal
dec.list.get([123.34,1234.23,123.05,-123.05,, 1] ) RENVOIE 1234.23 |
dec.list.intersect
Objectif : Renvoie une liste des valeurs décimales en commun entre deux listes de type Décimal
2 arguments :
Valeur 1 : Liste de décimaux (type Liste) Valeur 2 : Liste de décimaux (type Liste)
Renvoi : Renvoie une liste de décimaux
dec.list.union
Objectif : Renvoie une liste contenant l’ensemble des valeurs décimales de deux listes de type Décimal
2 arguments :
Valeur 1 : Liste de décimaux (type Liste) Valeur 2 : Liste de décimaux (type Liste)
Renvoi : Renvoie une liste de décimaux
dec.list.diff
Objectif : Renvoie une liste contenant l’ensemble des valeurs décimales différentes entre deux listes de type Décimal
2 arguments :
Valeur 1 : Liste de décimaux (type Liste) Valeur 2 : Liste de décimaux (type Liste)
Renvoi : Renvoie une liste de décimal
dec.list.max_occur
Objectif : Renvoie le décimal (ou les décimaux) le plus fréquent dans une liste de décimaux
1 argument :
Valeur 1 : Liste de décimaux (Type liste)
Renvoi : Renvoie un type Liste de décimaux
Formules unitaires pour les numériques de type Integer
int.to_dec
Objectif : Transforme une valeur de type integer en une valeur de type décimal
-
1 Argument :
Valeur numérique à traiter
Retour : Renvoie une valeur de type décimal
int.to_bigint
Objectif : Transforme une valeur de type integer en une valeur de type BigInteger
-
1 Argument :
_Valeur integer à traiter
Retour : Renvoie une valeur de type BigInteger
int.replace_null
Objectif : Remplace la valeur Null d’une cellule de type numérique Integer par une valeur précisée
-
2 Arguments :
Valeur 1 : Chaîne de caractères à traiter Valeur 2 : Valeur par défaut si la valeur 1 est Null
Retour : Renvoie une valeur de type integer
int.replace_null(Null, -1) RENVOIE -1 |
int.replace_null(2343, -1) RENVOIE 2343 |
int.is_odd
Objectif : Renvoie le booléen "True" si la valeur est impaire, "False" sinon
-
1 Argument : Valeur à traiter : Valeur à analyser
Retour : Renvoie une valeur de type Booléen
int.is_odd(123) RENVOIE True |
int.is_odd(100) RENVOIE False |
int.is_odd(TOTO) RENVOIE False |
int.is_even
Objectif : Renvoie le booléen "True" si la valeur est paire, "False" sinon
-
1 Argument : Valeur à traiter : Valeur à analyser
Retour : Renvoie une valeur de type Booléen
int.id_even(123) RENVOIE False |
int.id_even(100) RENVOIE True |
int.id_even(TOTO) RENVOIE False |
int.list.get
Objectif : Renvoie une valeur Entière comprise dans une liste en fonction de son index dans la liste
2 arguments :
Valeur 1 : Liste de nombres integer (type Liste) Valeur 2 : Index (type integer)
Renvoi : Renvoie un integer
int.list.get([123,1234,124,-125,, 1] ) RENVOIE 1234 |
int.list.sort
Objectif : Réalise le tri ascendant d’une liste d’entiers (nombres de type integer)
1 argument :
Valeur 1 : Liste de nombres entiers (type Liste)
Renvoi : Renvoie une liste de nombres entiers
int.list.sort([12,23,3,2,25]) RENVOIE [2, 3, 12, 23, 25] |
int.list.create
Objectif : Réalise la création d’une liste de nombre integer à partir d’une suite de nombres entiers
1 argument :
Valeur 1 : Suite de nombres entiers
Renvoi : Renvoie une liste de type integer
int.list.create([12,23,3,2,25]) RENVOIE [12,23,3,2,25] |
int.list.intersect
Objectif : Renvoie une liste des valeurs Integer en commun entre deux listes de type Integer
2 arguments :
Valeur 1 : Listes de nombres entiers (type Liste) Valeur 2 : Listes de nombres entiers (type Liste)
Renvoi : Renvoie une liste de nombres entiers
int.list.union
Objectif : Renvoie une liste contenant l’ensemble des valeurs Integer des deux listes de type Integer
2 arguments :
Valeur 1 : Listes de nombres entiers (type Liste) Valeur 2 : Listes de nombres entiers (type Liste)
Renvoi : Renvoie une liste de nombres entiers
int.list.diff
Objectif : Renvoie une liste contenant l’ensemble des valeurs Integer différentes entre deux listes de type Integer
2 arguments :
Valeur 1 : Listes de nombres entiers (type Liste) Valeur 2 : Listes de nombres entiers (type Liste)
Renvoi : Renvoie une liste de nombres entiers
int.to_str
Objectif : Transforme une valeur de type Integer en une valeur de type String
-
1 Argument :
Valeur Integer à traiter
Retour : Renvoie une valeur de type String
int.to_date
Objectif : Transforme une valeur de type Integer en une valeur de type Date
-
1 Argument :
Valeur Integer à traiter
Retour : Renvoie une valeur de type date
int.to_bool
Objectif : Transforme une valeur de type Integer en une valeur de type Booléen
-
1 Argument :
Valeur Integer à traiter
Retour : Renvoie une valeur de type Booléen
int.list.max
Objectif : Donne le nombre integer le plus grand dans une liste de nombres entiers
1 argument :
Valeur 1 : Listes de nombres entiers
Retour : Renvoie une valeur type integer
int.list.min
Objectif : Donne le nombre integer le plus petit dans une liste de nombres entiers
1 argument :
Valeur 1 : Listes de nombres entiers
Retour : Renvoie une valeur de type integer
int.list.max_occur
Objectif : Renvoie le nombre entier (ou les nombres entiers) le plus fréquent dans une liste de nombres entiers
1 argument :
Valeur 1 : Liste de nombres Integer (Type liste)
Renvoi : Renvoie une Liste de nombres entiers
Formules unitaires pour les numériques de type BigInteger*
bigint.replace_null
Objectif : Remplace la valeur Null d’une cellule de type numérique BigInteger par une valeur précisée
-
2 Arguments :
Valeur 1 : BigInteger à traiter Valeur 2 : Valeur par défaut si la valeur 1 est Null
Retour : Renvoie une valeur de type BigInteger
bigint.replace_null(Null, -1) RENVOIE -1 |
bigint.replace_null(45678456776545678765, -1) RENVOIE 45678456776545678765 |
bigint.to_int
Objectif : Transforme une valeur de type BigInteger en une valeur de type integer
-
1 Argument :
Valeur BigInteger à traiter
Retour : Renvoie une valeur de type integer
bigint.to_dec
Objectif : Transforme une valeur de type BigInteger en une valeur de type décimal
-
1 Argument :
Valeur BigInteger à traiter
Retour : Renvoie une valeur de type décimal
bigint.to_str
Objectif : Transforme une valeur de type BigInteger en une valeur de type string
-
1 Argument :
Valeur BigInt à traiter
Retour : Renvoie une valeur de type string
bigint.to_date
Objectif : Transforme une valeur de type BigInt en une valeur de type Date
-
1 Argument :
Valeur BigInteger à traiter
Retour : Renvoie une valeur de type Date
bigint.to_bool
Objectif : Transforme une valeur de type BigInteger en une valeur de type Booléen
-
1 Argument :
Valeur BigInteger à traiter
Retour : Renvoie une valeur de type Booléen
bigint.list.sort
Objectif : Renvoie une liste de type BigInteger triée de manière ascendante
1 argument :
Valeur 1 : Liste de type BigInteger (type Liste)
Renvoi : Renvoie une liste de type BigInteger
bigint.list.sort([12.23,23,3,2.1,25]) RENVOIE [2.1, 3, 12.23, 23, 25] |
bigint.list.create
Objectif : Réalise la création d’une liste de type BigInteger à partir d’une suite de grands nombres entiers
1 argument :
Valeur 1 : Suite de BigInteger
Renvoi : Renvoie une liste de type BigInteger
bigint.list.create([3456789,4567890]) RENVOIE [3456789,4567890] |
bigint.list.max
Objectif : Donne le nombre de type BigInteger le plus grand dans une liste de type BigInteger
1 argument :
Valeur 1 : Liste de nombres de type BigInteger
Retour : Renvoie une valeur de type BigInteger
bigint.list.min
Objectif : Donne le nombre de type BigInteger le plus petit dans une liste de type BigInteger
1 argument :
Valeur 1 : Liste de nombres de type BigInteger
Retour : Renvoie une valeur de type BigInteger
bigint.list.contains
Objectif : Teste la présence dans la liste d’un nombre de type BigInteger
2 arguments :
Valeur 1 : Liste de nombres de type BigInteger Valeur 2 : Valeur de type BigInteger à rechercher
Renvoi : Renvoie un booléen True ou False
bigint.list.intersect
Objectif : Renvoie une liste des valeurs BigInteger en commun entre deux listes de type BigInteger
2 arguments :
Valeur 1 : Liste de type BigInteger Valeur 2 : Liste de type BigInteger
Renvoi : Renvoie une liste de type BigInteger
bigint.list.union
Objectif : Renvoie une liste contenant l’ensemble des valeurs BigInteger de deux listes de type BigInteger
2 arguments :
Valeur 1 : Liste de type BigInteger Valeur 2 : Liste de type BigInteger
Renvoi : Renvoie une liste de BigInteger
bigint.list.diff
Objectif : Renvoie une liste contenant l’ensemble des valeurs BigInteger différentes entre deux listes de type BigInteger
2 arguments :
Valeur 1 : Liste de type BigInteger Valeur 2 : Liste de type BigInteger
Renvoi : Renvoie une liste de BigInteger
bigint.list.get
Objectif : Renvoie une valeur BigInteger comprise dans une liste en fonction de son index dans la liste
2 arguments :
Valeur 1 : Liste de type BigInteger Valeur 2 : Index (type Integer)
Renvoi : Renvoie un BigInteger
bigint.list.get([23456,34567,34567656,65567876678765,6567898765678765] ) RENVOIE 34567 |
bigint.list.max_occur
Objectif : Renvoie le nombre de type BigInteger (ou les nombres de type BigInteger) le plus fréquent dans une liste de nombres de type BigInteger
1 argument :
Valeur 1 : Liste de nombres de type BigInteger
Renvoi : Renvoie une Liste de nombres de type BigInteger
Formules unitaires pour le type Chaîne de caractère*
str.transform_to_num
Objectif : Transforme une chaîne de caractères en nombre décimal valide. Enlève les caractères non numériques et positionne le bon caractère de séparation du décimal.
-
2 Arguments :
Valeur 1 : Chaîne de caractères à traiter (type String) Valeur 2 : Caractère décimal : . ou ,
Retour : Renvoie une valeur de type décimal
str.transform_to_num(1 2342,2, . ) RENVOIE 12342.2 |
str.if_absent
Objectif : Ajoute un préfixe ou un suffixe à une chaîne de caractères dans le cas où il est absent
-
3 Arguments :
Valeur à traiter : Chaîne de caractères à traiter Affixe à ajouter : Choix de la Chaîne de caractères à ajouter en préfixe ou suffixe Liste des affixes à chercher : Liste des caractères à rechercher
Retour : Renvoie une valeur de type String
str.if_absent(Marque,'-NEW',ARGS('-ROMEO')) : Ajoute "-NEW" si "ROMEO" est absent |
str.if_absent(ALPHA-ROMEO,'-NEW',ARGS('-ROMEO')) RENVOIE ALPHA-ROMEO |
str.if_absent(CITROEN,'-NEW',ARGS('-ROMEO')) RENVOIE CITROEN-NEW |
str.if_absent(RENAULT,'-NEW',ARGS('-ROMEO')) RENVOIE RENAULT-NEW |
str.find
Objectif : Recherche si AU MOINS une valeur (ou au moins une valeur d’une liste de valeurs) est présente dans une chaîne de caractères
-
2 Arguments :
Valeur à traiter : Chaîne de caractères à traiter Liste de valeurs à chercher : ARGS (caractère 1, caractère 2, caractère n)
Retour : Renvoie une valeur de type Booléen
str.find(VOLVO, ARGS(V,E)) RENVOIE True |
str.find(VOLVO, ARGS(X,E)) RENVOIE False |
str.find_case
Objectif : Recherche la cohérence de la casse
-
3 Arguments :
Valeur à traiter : Chaîne de caractères à traiter (type String) Casse : Précise la casse Majuscule ou Minuscule Type de recherche : Précise si la casse à vérifier est totale ou partielle
Retour : Renvoie une valeur de type Booléen Renvoie la valeur Null si la chaine de caractères à traiter n’a pas de casse
str.find_case(VOLVO, Minuscule,Tout) RENVOIE False |
str.find_case(VOLVO, Majuscule,Tout) RENVOIE True |
str.find_case(VOLVO, Majuscule,partielle) RENVOIE False |
str.find_case(VOLVO-10, Majuscule, Tout) RENVOIE False |
str.encrypt
Objectif : Chiffre une chaîne de caractères pour anonymisation
-
1 Argument :
Valeur à traiter : Chaîne de caractères à traiter (type String)
Retour : Renvoie une valeur de type String
str.encrypt(159 2.0 JTDm (136ch)) RENVOIE 49342454756235006f16dd175d76f9aa |
str.complete
Objectif : Permet de compléter une valeur par des caractères
-
4 Arguments :
Valeur à traiter : Valeur à traiter Caractère à compléter : Caractères utilisés pour compléter la valeur à traiter jusqu’à la longueur définie Longueur finale : Longueur finale de la chaîne une fois complétée par les caractères Type de complément : Sens du complément (Gauche ou Droite)
Retour : Renvoie une valeur de type String
str.complete(50, 0, 10, Gauche) RENVOIE 0000000050 |
str.complete(2350, 0, 10, Gauche) RENVOIE 0000002350 |
str.complete(1000002350, 0, 10, Gauche) RENVOIE 1000002350 |
str.complete(ABCD, -, 10, Droite) RENVOIE ABCD------ |
str.concat
Objectif : Concatène un ensemble de valeurs
-
n Arguments : Val 1 à Val n : Ensemble des valeurs à concaténer
Retour : Renvoie une valeur de type String
str.concat(ARGS(il,fait,beau) RENVOIE ilfaitbeau |
str.concat(ARGS(il, ,fait, ,beau) RENVOIE il fait beau |
str.contains_only
Objectif : Vérifie si TOUS les caractères précisés sont présents dans une chaîne de caractères traitée
-
2 Arguments : Valeur 1 : Valeur à traiter Valeur 2 : Caractères recherchés
Retour : Renvoie une valeur de type Booléen
str.contains_only(AUDI, IUDA) RENVOIE True |
str.contains_only(AUDI, I UDA) RENVOIE False |
str.contains_only(AUDI, IUD) RENVOIE False |
Attention, le caractère "espace" est bien considéré comme un caractère.
str.diff
Objectif : Compare deux chaines de caractères en renvoyant la partie où elles diffèrent
-
2 Arguments : Valeur 1 : Première valeur Valeur 2 : Deuxième valeur
Retour : Renvoie une valeur de type String
str.diff(VOLVO, VOLCO) RENVOIE CO |
str.diff(VOITURE, VOITURIER) RENVOIE IER |
str.framing
Objectif : Permet d’encadrer une valeur avec un ou des caractères à gauche et à droite
-
2 Arguments : Valeur 1 : Valeur à traiter Valeur 2 : Caractère ou groupe de caractères qui encadreront la valeur à traiter
Retour : Renvoie une valeur de type String
str.framing(MaValeur, @) RENVOIE @MaValeur@ |
str.framing_if_absent
Objectif : Encadre une valeur avec un ou des caractères à gauche et à droite uniquement si cette valeur est absente
-
2 Arguments :
Valeur 1 : Valeur à traiter Valeur 2 : Caractère ou groupe de caractères qui encadreront la valeur à traiter
Retour : Renvoie une valeur de type String
str.framing_if_absent(MaValeur, @) RENVOIE @MaValeur@ |
str.framing_if_absent(@MaValeur, @) RENVOIE @MaValeur@ |
str.remove
Objectif : Enlève un ou un groupe de caractères d’une chaîne de caractères
-
2 Arguments :
Valeur 1 : Valeur à traiter Valeur 2 : Caractère ou groupe de caractères à enlever
Retour : Renvoie une valeur de type String
str.remove(VOLVO, O) RENVOIE VLV |
str.remove(MARTIN, AR) RENVOIE MTIN |
str.remove_extend
Objectif : Enlève un ou les caractères d’une chaîne de caractères
-
2 Arguments :
Valeur 1 : Valeur à traiter Valeur 2 : Caractère ou liste de caractères à enlever
Retour : Renvoie une valeur de type String
str.remove_extend(VOLVO, O) RENVOIE VLV |
str.remove_extend("le chien /est parti : il est revenu, hier", ARG(;,:,/)) RENVOIE "le chien est parti il est revenu, hier" |
str.remove_start
Objectif : Supprime une sous-chaîne uniquement si elle se trouve au début d’une chaîne source, sinon renvoie la chaîne source
-
2 Arguments :
Valeur 1 : Valeur à traiter Valeur 2 : Caractère ou groupe de caractères à enlever s’il se trouve au début de la valeur à traiter
Retour : Renvoie une valeur de type String
str.remove_start(VOLVO, VOL) RENVOIE VO |
str.remove_start(MARTIN, VOL) RENVOIE MARTIN |
str.remove_linebreak
Objectif : Supprime le retour à la ligne s’il est présent en fin de chaîne de caractères
-
1 Argument : Valeur 1 : Valeur à traiter
Retour : Renvoie une valeur de type String
str.remove_linebreak(VOLVO) RENVOIE VOLVO |
str.extract
Objectif : Extrait un nombre de caractères à droite ou à gauche d’une valeur à traiter
-
3 Arguments :
Valeur à traiter : Valeur sur laquelle l’extraction doit être réalisée Sens de l’extraction : Sens de l’extraction (droite ou gauche) Nb de caractère à extraire : Nombre entier permettant d’indiquer le nombre de caractères à extraire
Retour : Renvoie une valeur de type String
str.extract(ST-ETIENNE, gauche, 3) RENVOIE ST- |
str.extract(ST-ETIENNE, droite, 3) RENVOIE NNE |
str.extract_middle
Objectif : Extrait un nombre de caractères au milieu d’une chaîne de caractères
-
3 Arguments :
Valeur à traiter : Valeur sur laquelle l’extraction doit être réalisée Position du début de l’extraction : Position du début d’extraction dans la valeur Nb de caractère à extraire : Nombre integer permettant d’indiquer le nombre de caractères à extraire à partir de la position de début
Retour : Renvoie une valeur de type String
str.extract_middle(ST-ETIENNE, 3, 3) RENVOIE ETI |
str.extract_by_str
Objectif : Extrait un des caractères au milieu d’une chaîne de caractères par rapport à la position d’un caractère de référence
-
3 Arguments : Valeur à traiter : Valeur sur laquelle l’extraction doit être réalisée Caractère à rechercher : Détermine le caractère de référence pour trouver la position de l’extraction _Sens de l’extraction : Droite ou Gauche
Retour : Renvoie une valeur de type String
str.extract_by_str(ST ETIENNE, T, Gauche) RENVOIE S |
str.extract_by_str(ST ETIENNE, T, Droite) RENVOIE IENN |
str.extract_by_index
Objectif : Renvoie l’extraction d’un groupe de caractères en précisant la position de début et la position de fin dans la chaîne de caractères.
-
3 Arguments :
Valeur 1 : Chaîne de caractères à traiter Valeur 2 : Position de début (integer) Valeur 3 : Position de fin (integer)
Retour : Renvoie une valeur de type String
str.extract_by_index(MON CHIEN, 4, 6) RENVOIE CH |
str.extract_by_regex
Objectif : Extrait un caractère ou un groupe de caractères d’une chaîne de caractères via une expression régulière REGEX
-
2 Arguments :
Valeur à traiter : Valeur sur laquelle l’extraction doit être réalisée Caractères à extraire : Expression Régulière précisant le ou les caractères à extraire.
Retour : Renvoie une valeur de type Objet String
str.extract_by_regex(ANDRE, \R) RENVOIE ["R"] |
str.frequency
Objectif : Donne la fréquence d’un caractère ou d’un groupe de caractères dans une chaine
-
2 Arguments :
Valeur à traiter : Valeur sur laquelle le comptage doit être réalisé Caractère à rechercher : Caractère(s) à compter
Retour : Renvoie une valeur de type integer
str.frequency(ST ETIENNE, E) RENVOIE 3 |
str.frequency(ST ETIENNE, T) RENVOIE 2 |
str.abrev
Objectif : Construit une abréviation à partir d’une chaîne de caractères
-
3 Arguments : Valeur à traiter : Représente la valeur à traiter Début : Position de la valeur à traiter qui constituera le début de l’abréviation. Doit être obligatoirement supérieure ou égale à 4 Longueur : Longueur totale de l’abréviation retournée (y compris les "…" systématiquement ajoutés au début et à la fin) Doit être obligatoirement supérieure ou égale à 4.
Retour : Renvoie une valeur de type Chaîne de caractères ou JsonString
str.abrev(Le chien est parti depuis 3 jours, 5,10) RENVOIE …ien … |
str.abrev(Le chien est parti depuis 3 jours, 5, 20) RENVOIE …ien est parti … |
str.capitalize
Objectif : Transforme en majuscule le premier caractère d’une valeur de type Chaîne de caractères
-
1 Argument : Valeur à traiter : Représente la valeur à traiter
Retour : Renvoie une valeur de type Chaîne de caractères
str.capitalize(pierre) RENVOIE Pierre |
str.list.join
Objectif : Réalise l’union de tous les éléments d’une liste dans une chaîne de caractères, en utilisant un séparateur donné
Liste à traiter : Représente la liste de chaîne de caractères à traiter Séparateur : Précise le séparateur qui va être utilisé pour séparer les chaînes de caractères
Retour : Renvoie une valeur de type chaîne de caractères
str.invers
Objectif : Donne l’inverse d’une valeur de type Chaîne de caractères
-
1 Argument : Valeur à traiter : Représente la valeur à traiter
Retour : Renvoie une valeur de type Chaîne de caractères
str.invers(MARTIN) RENVOIE NITRAM |
str.join
Objectif : Joint une liste de valeurs avec un caractère spécifique
-
2 Arguments :
Valeur 1 à Valeur n : Liste des valeurs à joindre Caractère de jointure : Caractère reliant les valeurs de la liste
Retour : Renvoie une valeur de type chaîne de caractères
str.join(ARGS(UN, DE, 3, QU, 5, 6), @) RENVOIE UN@DE@3@QU@5@6 |
str.size
Objectif : Donne la longueur d’une chaîne de caractères
-
1 Argument :
Valeur 1 : Chaîne de caractères à traiter
Retour : Renvoie une valeur de type Integer
str.size(MARTIN) RENVOIE 6 |
str.not_contains
Objectif : Renvoie True si le caractère recherché n’est pas dans la valeur analysée
-
2 Arguments :
Valeur 1 : Valeur à analyser Valeur 2 : Caractère à rechercher
Retour : Renvoie une valeur de type Booléen
str.not_contains(AUDI,D) RENVOIE False |
str.not_contains(VOLVO,D) RENVOIE True |
str.remove_space
Objectif : Enlève tout ou partie des caractères blancs dans une chaîne de caractères
-
2 Arguments :
Valeur 1 : Chaîne de caractères à traiter Type : Type d’action sur les caractères blancs. À gauche, À droite, Tous les blancs, Garder uniquement un blanc entre chaque mot
Retour : Renvoie une valeur de type chaîne de caractères
str.remove.space (Le chien est parti, garder uniquement un blanc entre chaque mot) RENVOIE Le chien est parti |
str.remove.space ( Le chien est parti , À gauche) RENVOIE Le chien est parti |
str.remove.space ( Le chien est parti , À droite) RENVOIE Le chien est parti |
str.remove.space ( Le chien est parti , Tous les Blancs) RENVOIE Lechienestparti |
str.diff_position
Objectif : Donne la position de la première différence entre deux valeurs de type chaîne de caractères en partant de la gauche vers la droite
-
2 Arguments :
Valeur 1 : Valeur 1 à traiter Valeur 2 : Valeur 2 à traiter
Retour : Renvoie une valeur de type integer
str.diff_position(MALINE, MALINOI) RENVOIE 5 |
str.replace
Objectif : Remplace des caractères par d’autres caractères dans une valeur de type chaîne de caractères
-
3 Arguments :
Valeur : Valeur à traiter Caractère à rechercher : Caractères à rechercher dans la valeur à traiter Caractère à remplacer : Caractères à remplacer dans la valeur à traiter
Retour : Renvoie une valeur de type String
str.replace(ST ETIENNE, ST , SAINT) RENVOIE SAINT ETIENNE |
str.replace_regex
Objectif : Remplace des caractères selon une expression régulière par d’autres caractères dans une valeur de type Objet-chaine-de-caractères
-
3 Arguments :
Valeur : Valeur à traiter Caractère à rechercher : Expression Régulière précisant le ou les caractères à rechercher. Caractère à remplacer : Caractères de remplacement
Retour : Renvoie une valeur de type String
str.replace_regex(1234.23, \\., ,) RENVOIE 1234,23 |
str.replace_null
Objectif : Remplace la valeur Null d’une cellule de type chaîne de caractères par une valeur précisée
-
2 Arguments :
Valeur 1 : Chaîne de caractères à traiter Valeur 2 : Valeur par défaut si la Valeur 1 est Null
Retour : Renvoie une valeur de type String
str.replace_null(Null, Non Renseigné) RENVOIE Non Renseigné |
str.replace_null(VELO, -1) RENVOIE VELO |
str.remove_accent
Objectif : Remplace les caractères accentués d’une chaîne de caractères par des caractères non accentués.
Enlève les caractères accentués dans une chaîne de caractères
-
1 Argument : Valeur : Valeur à traiter
Retour : Renvoie une valeur de type chaîne de caractères
str.remove_accent(manière coracoïde) RENVOIE maniere coracoide |
str.split_from_regex
Objectif : Effectue la séparation d’une chaîne de caractères via une expression régulière REGEX
-
2 Arguments : Valeur : Valeur à traiter Caractère à rechercher : Expression Régulière précisant la règle de découpage de la valeur à traiter
Retour : Renvoie une valeur de type Objet-chaine-de-caractères
Découpage d’une chaîne de caractères selon la présence de la lettre A TIP: str.split_from_regex(MARIE, \A) RENVOIE ["M","RIE"]
str.split
Objectif : Divise une chaîne de caractères en précisant un séparateur.
2 arguments :
Valeur 1 : Chaîne de caractères à traiter Valeur 2 : Caractère utilisé pour réaliser le découpage
Retour : Génère une liste de string
str.split(“hdh_login=TEST ; hdh_token=RRYYTTTY ; hdh_id=222222”, ;) RENVOIE [“hdh_login=TEST”, “hdh_token=RRYYTTTY”,”hdh_id=222222”] |
str.split_and_concat
Objectif : Découpe puis concatène une chaîne de caractères
-
1 Argument :
Valeur 1 : Chaîne de caractères à découper Valeur 2 : Caractère utilisé pour réaliser le découpage Valeur 3 : Chaîne de caractères à concaténer Valeur 3 : Position de la concaténation (au début ou à la fin de la chaine de caractères à découper)
Retour : Renvoie une valeur de type string
str.split_and_concat("mai;son" , ";" ,"née", Fin) RENVOIE maisonnée |
str.create
Objectif : Permet de saisir une valeur de type chaîne de caractères
-
1 Argument : Valeur 1 : Valeur Saisie
Retour : Renvoie une valeur de type chaîne de caractères
str.create("Bonjour") RENVOIE Bonjour |
str.to_object
Objectif : Construit un objet à partir d’une clé et d’une valeur
-
2 Arguments : Clé à traiter : Caractères de la clé Valeur à traiter : Caractères de la valeur
Retour : Renvoie un objet de type string
str.to_object(A;123.34) RENVOIE {"A":"123.34"} |
str.to_bigint
Objectif : Transforme une valeur de type chaîne de caractères en une valeur de type BigInteger
-
1 Argument :
Valeur 1 : Valeur à traiter de type chaîne de caractères
Retour : Renvoie une valeur de type BigInteger
str.to_bigint("5676567865678657865765") RENVOIE 5676567865678657865765 |
str.to_date
Objectif : Transforme une valeur de type chaîne de caractères en une valeur de type Date
-
2 Arguments :
Valeur 1 : Valeur à traiter de type chaîne de caractères Masque : Précise le format de lecture de la valeur à traiter
Retour : Renvoie une valeur de type Date
str.to_date("12/01/2012", jj/mm/aaaa) RENVOIE 12/01/2012 |
str.to_dec
Objectif : Transforme une chaîne de caractères en une valeur de type décimal
-
2 Arguments :
Valeur 1 : Chaîne de caractères à traiter de type chaîne de caractères Masque : Précise le format de lecture de la chaîne de caractères à traiter
Retour : Renvoie une valeur de type décimal
str.to_dec("12.21",.) RENVOIE 12.21 |
str.to_dec("12",.) RENVOIE 12.0 |
str.to_integer
Objectif : Transforme une chaîne de caractères en une valeur de type Integer
-
1 Argument : Valeur 1 : Valeur à traiter de type chaîne de caractères
Retour : Renvoie une valeur de type Integer
str.to_integer("12") RENVOIE 12 |
str.to_list
Objectif : Transforme une chaine de caractères en une liste de chaines de caractères.
-
1 Argument :
Valeur 1 : Chaîne de caractères à traiter
Retour : Renvoie une valeur de type Liste de chaînes de caractères
str.to_list(["45","12","12","14","23"]) RENVOIE ["45","12","12","14","23"] |
str.to_list_by_step
Objectif : Renvoie une liste de valeurs en découpant une chaîne de caractères par une valeur fixe de découpage.
-
2 Arguments :
Valeur 1 : Chaîne de caractères à traiter Valeur 2 : Valeur du découpage en nombre de caractères
Retour : Renvoie une valeur de type Liste de chaîne de caractères
str.to_list_by_step('K210J230M234L203I103, 4) RENVOIE ["K210","J230","M234","L203","I103"] |
str.to_words
Objectif : Réalise la transformation d’une chaîne de caractères en objet de type Mots
-
1 Argument :
Valeur 1 : Chaîne de caractères à transformer
Retour : Renvoie une valeur de type Objet Mots
str.to_words(Il fait beau ce jour. C’est très bien.) RENVOIE un Objet Mots exploitable par les règles sémantiques de HandleData et GenericsData Cf. Documentation Gestion sémantique) |
str.transform_case
Objectif : Transforme en Minuscule ou Majuscule une Valeur de type chaîne de caractères
-
2 Arguments :
Valeur : Valeur à traiter Traitement à appliquer
Retour : Renvoie une valeur de type chaîne de caractères
str.transform_case(test de transformation, Majuscule) RENVOIE TEST DE TRANSFORMATION |
str.extract_num
Objectif : Extrait d’une valeur uniquement les chiffres
-
2 Arguments : Valeur : Valeur à traiter
Retour : Renvoie une valeur de type chaîne de caractères
str.extract_num(BRERA 1750 TBI (200ch)) RENVOIE 1750200 |
str.extract_num(1 232,2 ) RENVOIE 2322 |
str.extract_num(A) RENVOIE Vide |
str.extract_num(1 451.2) RENVOIE 14512 |
str.extract_num(22,1) RENVOIE 221 |
str.extract_num(2) RENVOIE 1 |
str.extract_num(23.2) RENVOIE 232 |
str.position
Objectif : Renvoie la position d’un caractère ou d’un groupe de caractères dans une chaîne de caractères en précisant une position de début.
-
3 Arguments :
Valeur 1 : Chaîne de caractères à traiter Valeur 2 : Chaîne de caractères à rechercher Valeur 3 : Position de début de la recherche
Retour : Renvoie une valeur de type Integer
str.position(MULT@IMULET, UL, 1) RENVOIE 1 |
str.position(MULT@IMULET, UL, 6) RENVOIE 7 |
str.levenshtein
Objectif : Similarité - Renvoie la valeur du test de similarité LEVENSHTEIN. La distance de Levenshtein est une distance, au sens mathématique du terme, donnant une mesure de la différence entre deux chaînes de caractères. Elle est égale au nombre minimal de caractères qu’il faut supprimer, insérer ou remplacer pour passer d’une chaîne de caractères à l’autre.
-
1 Argument : Valeur : Chaîne de caractères à traiter
Retour : Renvoie une valeur de type Integer
str.lenvenshtein(REYMOND, REMOND) RENVOIE 1 |
str.soundex
Objectif : Retourne le SOUNDEX d’une chaîne de caractères
-
1 Argument : Valeur à traiter : Représente la valeur à traiter
Retour : Renvoie une valeur de type chaîne de caractères
str.soundex(ALPHA-ROMEO) RENVOIE A416 |
str.extract_key_value
Objectif : Réalise l’extraction à partir d’une liste de clé-valeur, de la valeur d’une clé
4 arguments
Valeur 1 : Chaine de caractères à traiter Valeur 2 : Caractère séparant les couples clé-valeur Valeur 3 : Caractère séparant clé et valeur Valeur 4 : Null ou préciser une clé Valeur 5 : Liste fermée choix entre "aucune", "clé" ou "valeur".
Retour : Génère une valeur de type chaîne de caractères
str.extract_key_value(a!1;b!2;c!3,;,!,null(),Aucune) RENVOIE {a:1,b:2,c:3} |
str.extract_key_value(a!1;b!2;c!3,;,!,'b',Valeur) RENVOIE 2 |
str.extract_key_value(a!1;b!2;c!3,;,!,'2',Clé) RENVOIE b |
str.to_bool
Objectif : Transforme une valeur de type chaine de caractères en une valeur de type Booléen
-
1 Argument :
Valeur string à traiter
Retour : Renvoie une valeur de type Booléen
str.list.contains
Objectif : Teste la présence dans une liste, d’une chaîne de caractères
2 arguments :
Valeur 1 : Liste de chaîne de caractères (Type Liste) Valeur 2 : Valeur chaîne de caractères à rechercher
Renvoi : Renvoie un booléen True ou False
str.list.contains(["Pierre", "André", "Paul"], "Pierre") RENVOIE True |
str.list.contains(["Pierre", "André", "Paul"], "Marcel") RENVOIE False |
str.list.create
Objectif : Réalise la création d’une liste de chaînes de caractères à partir d’une chaîne de caractères
1 argument :
Valeur 1 : Chaîne de caractères de type chaîne de caractères
Retour : Renvoie une liste de type string
str.list.create([Pierre, André, Paul] RENVOIE ["Pierre", "André", "Paul"] |
str.list.max
Objectif : Donne la chaîne de caractères la plus grande en valeur ASCII dans une liste de chaînes de caractères
1 argument :
Valeur 1 : Liste de chaîne de caractères de type String
Retour : Renvoie une valeur type String
str.list.max([Pierre, André, Paul] RENVOIE Pierre |
str.list.min
Objectif : Donne la chaîne de caractères la plus petite en valeur ASCII dans une liste de chaînes de caractères
1 argument :
Valeur 1 : Liste de Chaîne de caractères de type String
Retour : Renvoie une valeur type String
str.list.sort
Objectif : Réalise le tri ascendant d’une liste de chaînes de caractères
1 argument :
Valeur 1 : Liste de chaîne de caractères de type String
Retour : Renvoie une liste de type String
str.list.sort(["Pierre", "André", "Paul"]) RENVOIE ["André", "Paul", "Pierre"] |
str.list.get
Objectif : Renvoie une chaîne de caractères comprise dans une liste en fonction de son index dans la liste
2 arguments :
Valeur 1 : Liste de chaîne de caractères (type Liste) Valeur 2 : Index (type Integer)
Retour : Renvoie une chaîne de caractères
str.list.get(["Pierre", "André", "Paul"], 2) RENVOIE "Paul" |
str.list.intersect
Objectif : Renvoie une liste des valeurs String en commun entre deux listes de type String
2 arguments :
Valeur 1 : Liste de type String Valeur 2 : Liste de type String
Renvoi : Renvoie une liste de String
str.list.union
Objectif : Renvoie une liste contenant l’ensemble des valeurs de type String de deux listes de type String
2 arguments :
Valeur 1 : Liste de type String Valeur 2 : Liste de type String
Renvoi : Renvoie une liste de String
str.list.diff
Objectif : Renvoie une liste contenant l’ensemble des valeurs de type String différentes entre deux listes de type String
2 arguments :
Valeur 1 : Liste de type String Valeur 2 : Liste de type String
Renvoi : Renvoie une liste de String
str.list.exist_str
Objectif : Recherche dans une chaîne de caractères l’existence ou la non-existence d’une liste de chaînes de caractères
3 arguments :
Valeur 1 : Chaîne de caractère à analyser Valeur 2 : Liste de chaînes de caractères Valeur 3 : Permet de définir le type de recherche : soit "Existe", soit "N’existe pas"
Renvoi : Booléen
str.list.as_str
Objectif : Transforme une liste de chaînes de caractère en chaîne de caractères séparés par le caractère virgule (",")
1 argument :
Valeur 1 : Liste de chaînes de caractères
Renvoi : Renvoie une chaîne de caractères
Formules unitaires pour le type Date*
date.to_bigint
Objectif : Transforme* une valeur de type date en une valeur de type BigInteger
1 Argument :
Valeur 1 : date à traiter
Retour : Renvoie une valeur de type BigInteger
date.add
Objectif : Ajoute à une date un nombre de type Integer avec un type d’incrément spécifique
-
3 Arguments :
Nombre d’incréments : Nombre de type Integer Type de l’ajout : Choix du type d’incrément contenu dans la liste suivante :
-
Semestres
-
Trimestres
-
Mois
-
Semaines
-
Jours
-
Heures
-
Minutes
-
Secondes
-
Millisecondes
Valeur de la date : Précise la date sur laquelle l’opération est effectuée
Retour : Renvoie une valeur de type Integer
date.add(3, mois, 12/01/2017) RENVOIE 12/04/2017 |
date.add(3, mois, MARTIN) RENVOIE Null |
date.add(TEST, mois, 12/01/2017) RENVOIE Null |
date.to_str
Objectif : Transforme une valeur de type date en chaîne de caractères
-
2 Arguments :
Date à transformer : Valeur de type Date à traiter Masque : Masque de la date une fois transformée en String à choisir dans une liste
Retour : Renvoie une valeur de type chaîne de caractères
date.to_str(2017-01-12 00:00:00, 'Nom du jour de la semaine + année') RENVOIE jeudi - 2017 |
date.diff
Objectif : Réalise la différence entre deux dates (Première date - Deuxième date) en précisant une unité de calcul
-
3 Arguments :
Unité de calcul : Type d’unité utilisé pour réaliser la différence de date Première date : Valeur de la première date Deuxième date : Valeur de la deuxième date
Retour : Renvoie une valeur numérique
date.diff("Jours", 22/01/2010,2010-01-10) RENVOIE 12 |
date.is_date
Objectif : Retourne un booléen si la valeur est une date
-
2 Arguments :
Valeur à traiter : Valeur à analyser Masque de lecture : Précise le mode de lecture de la valeur à analyser
Retour : Renvoie une valeur de type booléen (true ou false)
date.is_date(12/01/1956,’jj/mm/aaaa’) RENVOIE True |
date.is_date(98/01/1956,’jj/mm/aaaa’) RENVOIE False |
date.is_date(12/01/1956,’jj-mm-aaaa’) RENVOIE False |
date.is_date(MARTIN,’jj-mm-aaaa’) RENVOIE False |
Attention, la formule ne fonctionne que si la valeur à analyser est contenue dans une colonne de type date.
date.transform
Objectif : Transforme le format d’une date dans un autre format de date
-
3 Arguments :
Valeur : Date à transformer Format de lecture : masque de lecture de la valeur à traiter Format de sortie : masque de sortie de la valeur à traiter
Retour : Renvoie une valeur de type chaîne de caractères
date.transform(2012-01-12, aaaa-mm-jj, mois - année ) RENVOIE janvier - 2017 |
date.from_timestamp
Objectif : Donne la Date correspondant à une heure Posix (nombre de secondes écoulées depuis le 1er janvier 1970 00:00:00 UTC jusqu’à l’événement à dater)
-
1 Argument :
Valeur : Valeur BigInteger à traiter
Retour : Renvoie une valeur de type Date
date.from_timestamp(1544519129738) RENVOIE 12/01/2023 12:22:21 |
date.deducted
Objectif : Déduit une date à partir d’une autre date en précisant une fonction pré-définie
2 arguments :
Valeur 1 : Date Valide Valeur 2 : Fonction pré-définie
Type possible Début Mois Fin Mois Début Semaine Fin Semaine Début Trimestre Fin Trimestre Début Semestre Fin Semestre Début Année Fin Année
Retour Renvoie une valeur de type Date
date.deducted(12/02/2020, Fin Mois). RENVOIE 29/02/2020 |
date.generate
Objectif : Génération d’une liste de type DateTime en fonction d’un incrément et d’un type d’incrément
3 arguments :
Valeur 1 : Type_Incrément dans une liste fermée (année, mois, jours, minutes, seconde) Valeur 2 : Valeur de l’incrément de type Numérique ou Integer. Valeur 3 : Valeur : Date / Heure Valide.
Retour : Renvoie une valeur de type liste de Date
date.generate(Jours,4, 01/01/2020) RENVOIE [01/01/2020, 02/01/2020, 03/01/2020, 04/01/2020] |
date.list.as_str
Objectif : Transforme une liste de dates en une chaîne de caractères où les dates de la liste sont séparées par le caractère virgule (",")
1 argument :
Valeur 1 : Liste de dates
Retour : Renvoie une valeur de type chaîne de caractères
date.list.max_occur
Objectif : Renvoie la date (ou les dates) la plus fréquente dans une liste de dates
1 argument :
Valeur 1 : Liste de dates
Retour : Renvoie une liste de dates
date.list.min_occur
Objectif : Renvoie la date (ou les dates) la moins fréquente dans une liste de date
1 argument
Valeur 1 : Liste de date (Type liste)
Retour : Renvoie une liste de dates
date.list.contains
Objectif : Teste la présence d’une date dans une liste de dates
2 arguments :
Valeur 1 : Liste de dates à traiter Valeur 2 : Date à rechercher dans la liste de dates
Retour : Renvoie un booléen True ou False
date.list.contains(["12/01/2019", "13/02/2020", "15/01/2020"], 13/02/2020) RENVOIE True |
date.list.contains(["12/01/2019", "13/02/2020", "15/01/2020"], 20/02/2020) RENVOIE False |
date.list.create
Objectif : Réalise la création d’une liste de dates à partir d’une suite de dates
1 argument :
Valeur 1 : Suite de dates
Retour : Renvoie une liste de type date
date.list.create([12/01/2019, 13/02/2020, 15/01/2020]) RENVOIE ["12/01/2019", "13/02/2020", "15/01/2020"] |
date.list.max
Objectif : Donne la date la plus grande dans une liste de dates
1 argument :
Valeur 1 : Liste de dates
Retour : Renvoie une valeur type date
date.list.max(["12/01/2020", "19/01/2020", "15/01/2020"]) RENVOIE 19/01/2020 |
date.list.min
Objectif : Donne la date la plus petite dans une liste de dates
1 argument :
Valeur 1 : Liste de dates
Retour : Renvoie une valeur type date
date.list.min(["12/01/2020", "19/01/2020", "15/01/2020"]) RENVOIE 12/01/2020 |
date.list.sort
Objectif : Réalise le tri ascendant d’une liste de dates
1 argument :
Valeur 1 : Liste de dates
Retour : Renvoie une liste de type Date
date.list.sort(["12/01/2020", "19/01/2020", "15/01/2020"]) RENVOIE [12/01/2020, 15/01/2020, 19/01/2020] |
date.list.get
Objectif : Renvoie une valeur date comprise dans une liste en fonction de son index dans la liste
2 arguments :
Valeur 1 : Liste de dates Valeur 2 : Index (type Integer)
Retour : Renvoie une valeur de type Date
date.list.get(["12/01/2020", "19/01/2020", "15/01/2020"], 2) RENVOIE 15/01/2020 |
date.list.intersect
Objectif : Renvoie une liste des valeurs Date en commun entre deux listes de type Date
2 arguments :
Valeur 1 : Liste de type Date Valeur 2 : Liste de type Date
Renvoi : Renvoie une liste de dates
Formules unitaires pour le type Booléen*
bool.not
Objectif : Inverse le résultat d’un booléen
-
1 Argument : Valeur de type booléen : Booléen à inverser
Retour : Renvoie une valeur de type Booléen
bool.not(True) RENVOIE False |
bool.not(False) RENVOIE True |
bool.not(MARTIN) RENVOIE Null |
bool.replace_bool_null
Objectif : Remplace la valeur Null d’une cellule de type Booléen par la valeur indiquée
-
2 Arguments :
Valeur 1 : Chaîne de caractères à traiter Valeur 2 : Valeur par défaut si la valeur 1 est Null
Retour : Renvoie une valeur de type String
bool.replace_bool_null(Null, False) RENVOIE False |
bool.replace_bool_null(True, -1) RENVOIE True |
Formules unitaires pour les fonctions Géométrie*
geo.distance
Objectif : Calcule la distance directe (à vol d’oiseau) entre deux points géocodés
-
5 Arguments : Latitude départ : Latitude du point de départ Longitude départ : Longitude du point de départ Latitude arrivée : Latitude du point d’arrivée Longitude arrivée : Longitude du point d’arrivée Unité : Kilomètre, Nœud maritime, Mile
Noter que si le point 1 est inférieur au point 2 le résultat sera Négatif
Retour : Renvoie une valeur de type décimal
geo.distance(45.3456, 2.3456, 46.345,3.456, kilomètre) RENVOIE 140.514478462 |
geo.google.geocode
Objectif : Géocode une adresse
-
1 Argument : Valeur à traiter : Représente une adresse postale valide
Retour : Renvoie une valeur de type Json String
geo.google.geocode(55 Rue du Faubourg Saint-Honoré, 75008 Paris). RENVOIE { "lat" : 48.87060109999999, "lng" : 2.3169533} |
geo.contains
Objectif : Indique si un shape au format Json est contenu dans un autre shape au format Json
-
2 Arguments : Json 1 : String au format Json contenant une description de Shape Json 2 : String au format Json contenant une description de Shape
Retour : Renvoie une valeur de type Booléen
Exemple :
Json 1 {"type":"Polygon","coordinates":[[[0.87890625,46.195042108660154],[2.724609375,46.195042108660154],[2.724609375,47.18971246448421],[0.87890625,47.18971246448421],[0.87890625,46.195042108660154]]]}
Json 2
{"type":"Polygon","coordinates":[[[1.47491455078125,46.51540570001737],[2.2247314453125,46.51540570001737],[2.2247314453125,46.91837932415156],[1.47491455078125,46.91837932415156],[1.47491455078125,46.51540570001737]]]}
geo.contains(Json 1, Json 2) RENVOIE False |
geo.contains_point
Objectif : Renvoie Vrai si des points définis en Latitude-Longitude sont contenus dans une shape JSON
-
3 Arguments : Json 1 : String au format Json contenant une description de Shape Latitude : Latitude Longitude : Longitude
Retour : Renvoie une valeur de type Booléen
True si le point se trouve compris dans le Shape au format Json valide False si le point ne se trouve pas compris dans le Shape au format Json valide
json 1 {"type":"Polygon","coordinates":[[[1.47491455078125,46.51540570001737],[2.2247314453125,46.51540570001737],[2.2247314453125,46.91837932415156],[1.47491455078125,46.91837932415156],[1.47491455078125,46.51540570001737]]]}
Latitude : 46.80334963091315
Longitude : 1.6925811767578125
geo.contains_point(Json 1, Latitude, Longitude) RENVOIE True |
geo.intersect
Objectif : Indique si un shape au format Json est en intersection avec un autre shape au format Json
-
2 Arguments : Json 1 : String au format Json contenant une description de Shape Json 2 : String au format Json contenant une description de Shape
Retour : Renvoie une valeur de type Booléen
Exemple Json 1 {"type":"Polygon","coordinates":[[[-4.932861328124999,41.66470503009207],[-3.328857421875,41.66470503009207],[-3.328857421875,42.52069952914966],[-4.932861328124999,42.52069952914966],[-4.932861328124999,41.66470503009207]]]}
Exemple Json 2 {"type":"Polygon","coordinates":[[[-5.2459716796875,41.549700145132725],[-4.7515869140625,41.549700145132725],[-4.7515869140625,41.92271616673922],[-5.2459716796875,41.92271616673922],[-5.2459716796875,41.549700145132725]]]}
geo.intersect(Json 1, Json 2) RENVOIE True |
geo.google.way_value
Objectif : Calcule le trajet entre deux points avec un mode de transport spécifique
-
5 Arguments : Longitude 1 : Longitude du Point 1 Latitude 1 : Latitude du Point 1 Longitude 2 : Longitude du Point 2 Latitude 2 : Latitude du Point 2 Mode de transport : Choix du mode transport pour le calcul du trajet. En voiture, À pied, À Vélo, En Transport en commun.
Retour : Renvoie une valeur de type Integer (mètres)
geo.google.way_value(45.02452388545682, 5.6256866455078125, 45.15686396890044, 5.6256866455078125, En voiture ) RENVOIE 2300 |
geo.google.traject_distance_value
Objectif : Calcule le trajet entre deux points avec un mode de transport spécifique. Utilise l’API Google de calcul de trajet.
-
5 Arguments : Longitude 1 : Longitude du Point 1 Latitude 1 : Latitude du Point 1 Longitude 2 : Longitude du Point 2 Latitude 2 : Latitude du Point 2 Mode de transport : Choix du mode transport pour le calcul du trajet. En voiture, À pied, À Vélo, En Transport en commun.
Retour : Renvoie une valeur de type Integer (mètres)
geo.google.traject_distance_value(45.02452388545682, 5.6256866455078125, 46.02452388545682, 5.8256866455078125, En voiture ) RENVOIE 147881 |
geo.google.traject_distance_object
Objectif : Calcule le trajet entre deux adresses valides avec un mode de transport spécifique. Utilise API Google de calcul de trajet
-
3 Arguments : Adresse 1 : Adresse Valide en chaîne de caractères Adresse 2 : Adresse 2 Valide en chaîne de caractères Mode de transport : Choix du mode transport pour le calcul du trajet. En voiture, À pied, À Vélo, En Transport en commun.
Retour : Renvoie une valeur de type Integer (mètres)
geo.google.traject_distance_object(56 rue du four 38330 Saint Ismier, 305 rue Aristide bergès 38330 Montbonnot-saint-martin, En voiture ) RENVOIE 4664 |
geo.google.way_object
Objectif : Retourne la réponse complète de l’API Google sous forme Json
-
3 Arguments : Adresse 1 : Adresse Valide en chaîne de caractères Adresse 2 : Adresse 2 Valide en chaîne de caractères Mode de transport : Choix du mode transport pour le calcul du trajet. En voiture, À pied, À Vélo, En Transport en commun.
Retour : Renvoie une valeur de type Json-chaine-de-caractères
RENVOIE
{ "request" : { "origin" : { "location_adr" : "45 rue du Four 38330 Saint ismier" }, "destination" : { "location_adr" : "305 rue Aristide bergès 38330 Montbonnot Saint Martin" }, "travel_mode" : "DRIVING" }, "result" : { "geocoded_waypoints" : [ { "geocoder_status" : "OK", "partial_match" : true, "place_id" : "ChIJ3VDekZNYikcRgGu-5CqrCAQ", "types" : [ "LOCALITY", "POLITICAL" ] }, { "geocoder_status" : "OK", "partial_match" : false, "place_id" : "ChIJj-tVJExfikcRnf-9P45Sf4c", "types" : [ "PREMISE" ] } ], "routes" : [ { "summary" : "D11B", "legs" : [ { "steps" : [ { "html_instructions" : "Prendre la direction <b>nord-ouest</b> sur <b>Montée des Tilleuls</b> vers <b>Chemin du Rozat</b>", "distance" : { "in_meters" : 37, "human_readable" : "37 m" }, "duration" : { "in_seconds" : 9, "human_readable" : "1 minute" }, "start_location" : { "lat" : 45.2484512, "lng" : 5.8276394 }, "end_location" : { "lat" : 45.2487269, "lng" : 5.8273833 }, "polyline" : { "encoded_path" : "yqdsGweqb@MDQLEBEFKR" }, "travel_mode" : "DRIVING" }, { "html_instructions" : "Prendre <b>à gauche</b> sur <b>Chemin du Rozat</b>", "distance" : { "in_meters" : 90, "human_readable" : "90 m" }, "maneuver" : "turn-left", "duration" : { "in_seconds" : 43, "human_readable" : "1 minute" }, "start_location" : { "lat" : 45.2487269, "lng" : 5.8273833 }, "end_location" : { "lat" : 45.2483116, "lng" : 5.8264078 }, "polyline" : { "encoded_path" : "qsdsGcdqb@FHFHBH~@bD" }, "travel_mode" : "DRIVING" }, { "html_instructions" : "Continuer sur <b>Chemin du Charmant Som</b>", "distance" : { "in_meters" : 231, "human_readable" : "0,2 km" }, "duration" : { "in_seconds" : 50, "human_readable" : "1 minute" }, "start_location" : { "lat" : 45.2483116, "lng" : 5.8264078 }, "end_location" : { "lat" : 45.2471763, "lng" : 5.8239934 }, "polyline" : { "encoded_path" : "}pdsGa~pb@@V@J@PBV@LFLZn@JNdAdCZp@d@bA\\|@" }, "travel_mode" : "DRIVING" }, { "html_instructions" : "Prendre <b>à gauche</b> sur <b>Chemin de Ray Buisson</b>", "distance" : { "in_meters" : 423, "human_readable" : "0,4 km" }, "maneuver" : "turn-left", "duration" : { "in_seconds" : 60, "human_readable" : "1 minute" }, "start_location" : { "lat" : 45.2471763, "lng" : 5.8239934 }, "end_location" : { "lat" : 45.2443276, "lng" : 5.8274246 }, "polyline" : { "encoded_path" : "{idsG}npb@j@i@v@u@XYFMZu@j@iB@CHYJOPWfAeBBGVUn@e@XWn@c@XYPQh@a@LK" }, "travel_mode" : "DRIVING" }, { "html_instructions" : "<b>Chemin de Ray Buisson</b> tourne légèrement <b>à droite</b> et devient <b>Route du Rivet</b>/<b>D11B</b><div style=\"font-size:0.9em\">Continuer de suivre D11B</div>", "distance" : { "in_meters" : 2837, "human_readable" : "2,8 km" }, "duration" : { "in_seconds" : 199, "human_readable" : "3 minutes" }, "start_location" : { "lat" : 45.2443276, "lng" : 5.8274246 }, "end_location" : { "lat" : 45.22451419999999, "lng" : 5.8199369 }, "polyline" : { "encoded_path" : "axcsGkdqb@B@B?BA\\UPG`@QLG`@[ZYHOdAqAb@q@dAeB^a@^a@T_@DKv@sA\\g@^a@x@aAJI^]Z_@l@s@l@s@j@o@l@k@\\U\\Q\\M^KTCFA\\C`@?b@?\\B\\F^JPHLFn@b@^\\\\^NTHLZf@Xn@Vl@d @fAl@~Ab@fA`@~@DHTj@`@bAjAtC`@bA`@dATp@FPr@dBz@pBh@nAd@dAh@dAr@pAf@v@HLRZt@|@d@f@b@`@?@`@VVPVJ^LZJ`@Hp@Fr@@r@GXEl@Mj@U`@Sd@YXWVS`As@z@a@r@Sv@Gh@Hj@Th @X`@d@\\b@\\p@lArCBHdAhCl@lAx@nAd@d@DPJJXVf@Zd@Pp@P`@Hf@H`@HJFJL" }, "travel_mode" : "DRIVING" }, { "html_instructions" : "Au rond-point, prendre la <b>1re</b> sortie sur <b>Route de la Doux</b>/<b>D11</b>", "distance" : { "in_meters" : 92, "human_readable" : "92 m" }, "maneuver" : "roundabout-right", "duration" : { "in_seconds" : 12, "human_readable" : "1 minute" }, "start_location" : { "lat" : 45.22451419999999, "lng" : 5.8199369 }, "end_location" : { "lat" : 45.2239935, "lng" : 5.8190593 }, "polyline" : { "encoded_path" : "e|_sGsuob@@F@DBDBBBBDBBBD@LLHLJTNb@Rr@" }, "travel_mode" : "DRIVING" }, { "html_instructions" : "Tourner à <b>gauche</b> à <b>Chemin du Moulin</b>", "distance" : { "in_meters" : 273, "human_readable" : "0,3 km" }, "maneuver" : "turn-left", "duration" : { "in_seconds" : 95, "human_readable" : "2 minutes" }, "start_location" : { "lat" : 45.2239935, "lng" : 5.8190593 }, "end_location" : { "lat" : 45.222679, "lng" : 5.819291499999999 }, "polyline" : { "encoded_path" : "}x_sGcpob@JGZIRKJOJQBGHWDKDKBEFKDMDMBKDMBM@M@K@IBI@IBK@IFEF?PFDFT`ABJ@NFXBLBP@N@N?T@FDL" }, "travel_mode" : "DRIVING" }, { "html_instructions" : "Prendre <b>à droite</b> sur <b>Rue Aristide Berges</b>", "distance" : { "in_meters" : 125, "human_readable" : "0,1 km" }, "maneuver" : "turn-right", "duration" : { "in_seconds" : 28, "human_readable" : "1 minute" }, "start_location" : { "lat" : 45.222679, "lng" : 5.819291499999999 }, "end_location" : { "lat" : 45.2225971, "lng" : 5.8180214 }, "polyline" : { "encoded_path" : "wp_sGqqob@OZQ\\ELCL?LBHFJHHRJFFDFDN?VAt@" }, "travel_mode" : "DRIVING" }, { "html_instructions" : "Tourner à <b>gauche</b> pour rester sur <b>Rue Aristide Berges</b><div style=\"fontsize:0.9em\">Votre destination se trouvera sur la gauche.</div>", "distance" : { "in_meters" : 18, "human_readable" : "18 m" }, "maneuver" : "turn-left", "duration" : { "in_seconds" : 3, "human_readable" :"1 minute" }, "start_location" : { "lat" : 45.2225971, "lng" : 5.8180214 }, "end_location" : { "lat" : 45.2224677, "lng" : 5.817895 }, "polyline" : { "encoded_path" : "gp_sGsiob@LJHH@@" }, "travel_mode" : "DRIVING" } ], "distance" : { "in_meters" : 4126, "human_readable" : "4,1 km" }, "duration" : { "in_seconds" : 499, "human_readable" : "8 minutes" }, "start_location" : { "lat" : 45.2484512, "lng" : 5.8276394 }, "end_location" : { "lat" : 45.2224677, "lng" : 5.817895 }, "start_address" : "38330 Saint-Ismier, France", "end_address" : "305 Rue Aristide Berges, 38330 Montbonnot-Saint-Martin, France" }], "waypoint_order" : [ ], "overview_polyline" : { "encoded_path" : "yqdsGweqb@_@RKJKRFHJR~@bD@VB\\Dd@b@|@rCjG\\|@j@i@pAoAb@cAl@mBHYJOxA}BZ]hA}@n@c@XYz@s@LKB@FAn@]n@Y|@u@nAaBhBwC~@cApBgDxAcBj@g@bDwDl@k@\\Uz@_@t@Od@Ed A?z@Jp@T|@j@|@|@Xb@t@vA|@tBxBpFdDhIrBnFdB`EnAjCzAhC\\h@zAdBb@b@x@h@v@X|@Tp@Fr@@lAMl@Mj@UfAm@p@k@`As@z@a@r@Sv@Gh@Hj@Th@X`@d@z@tApA|CrBvEx@nAd@d@P\\`Ar@vAb @hAR`@HJFLTLR\\VTb@b@vAf@QRKJONYNc@Vk@Ru@Hm@DUHOXFZhAPbAFfAFTa@x@IZBVPTZRJVAlAXV" }, "bounds" : { "northeast" : { "lat" : 45.2487269, "lng" : 5.8326233 }, "southwest" : { "lat" : 45.2224677, "lng" : 5.817895 } }, "copyrights" : "Données cartographiques ©2018 Google", "warnings" : [ ] } ] }}
geo.google.traject_duration_value
Objectif : Calcule le temps de trajet entre deux points avec un mode de transport spécifique. Utilise l'API Google de calcul de temps de trajet.
-
5 Arguments : Longitude 1 : Longitude du Point 1 Latitude 1 : Latitude du Point 1 Longitude 2 : Longitude du Point 2 Latitude 2 : Latitude du Point 2 Mode de transport : Choix du mode transport pour le calcul du trajet. En voiture, À pied, À Vélo, En Transport en commun.
Retour : Renvoie une valeur de type Integer (mètres)
geo.google.traject_duration_value(45.02452388545682, 5.6256866455078125, 45.15686396890044, 5.6256866455078125, En voiture ) RENVOIE 3501 |
geo.google.traject_duration_object
Objectif : Calcule le temps de trajet entre deux adresses valides avec un mode de transport spécifique. Utilise l'API Google de calcul de temps de trajet.
-
3 Arguments : Adresse 1 : Adresse Valide en chaîne de caractères Adresse 2 : Adresse 2 Valide en chaîne de caractères Mode de transport : Choix du mode transport pour le calcul du trajet. En voiture, À pied, À Vélo, En Transport en commun.
Retour : Renvoie une valeur de type Integer (mètres)
geo.google.traject_duration_object(45 allée du Four 38330 Saint ismier, 305 Rue Aristide Berges 38330 Montbonnot Saint Martin, En voiture ) RENVOIE 588 |
geo.st_area
Objectif : Retourne la zone d’une géométrie
-
1 Argument
Géométrie : Géométrie à analyser (Type Géométrie)
Retour : Valeur de type Décimal
geo.st_as_geojson
Objectif : Retourne le GeoJSON d’une géométrie
-
1 Argument
Géométrie : Géométrie à analyser (Type Géométrie)
Retour : Chaîne de caractères au format GeoJson
geo.st_as_text
Objectif : Retourne le WKT d’une géométrie
-
1 Argument
Géométrie : Géométrie à analyser (Type géométrie)
Retour : Chaîne de caractères au format WKT
geo.st_buffer
Objectif : Retourne une géométrie / géographie qui représente tous les points dont la distance par rapport à cette géométrie / géographie est inférieure ou égale à une distance donnée.
-
1 Argument
Géométrie : Géométrie à analyser (Type Géométrie)
Retour : Géométrie
geo.st_centroid :
Objectif : Retourne le point centroïde d’une géométrie
-
1 Argument
Géométrie : Géométrie à analyser (Type géométrie)
Retour : Géométrie
geo.st_contains
Objectif : Retourne vrai si la géométrie 1 contient entièrement la géométrie 2
-
2 Arguments
Géométrie 1 : Première géométrie à comparer Géométrie 2 : Deuxième géométrie à comparer
Retour : Booléen
geo.st_convex_hull
Objectif : Retourne l’enveloppe convexe d’une géométrie
-
1 Argument
Géométrie : Géométrie à analyser (Type géométrie)
Retour : Géométrie
geo.st_crosses
Objectif : Retourne vrai si la géométrie 1 croise la géométrie 2
-
2 Arguments
Géométrie 1 : Première géométrie à comparer Géométrie 2 : Deuxième géométrie à comparer
Retour : Booléen
geo.st_distance
Objectif : Calcule la distance euclidienne entre deux points
-
2 Arguments
Géométrie 1 : Première géométrie Géométrie 2 : Deuxième géométrie
Retour : Décimal
geo.st_envelope
Objectif : Retourne l’enveloppe d’une géométrie
-
1 Argument
Géométrie : Géométrie à analyser (Type géométrie)
Retour : Géométrie
geo.st_equals :
Objectif : Retourne vrai si la géométrie 1 est égale à la géométrie 2
-
2 Arguments
Géométrie 1 : Première géométrie à comparer Géométrie 2 : Deuxième géométrie à comparer
Retour : Booléen
geo.st_geom_from_geojson
Objectif : Construit une géométrie à partir d’un GeoJson
-
1 Argument
GeoJson : Chaîne de caractères au format GeoJson (Type String)
Retour : Géométrie
geo.st_geom_from_wkb
Objectif : Construit une géométrie à partir d’un format WKB
-
1 Argument
WKB : Chaîne de caractères au format WKB (Type String)
Retour : Géométrie
geo.st_geom_from_wkt
Objectif : Construit une géométrie à partir d’un format WKT
-
1 Argument
WKT : Chaîne de caractères au format WKT (Type String)
Retour : Géométrie
geo.st_geometry_type
Objectif : Retourne le type d’une géométrie
-
1 Argument
_Géométrie : Géométrie à analyser (Type Géométrie)
Retour : Chaîne de caractères
geo.st_intersection
Objectif : Retourne l’intersection entre deux géométries
-
2 Arguments
Géométrie 1 : Première géométrie à comparer Géométrie 2 : Deuxième géométrie à comparer
Retour : Géométrie
geo.st_intersects
Objectif : Vérifie si deux géométries sont en intersection
-
2 Arguments
Géométrie 1 : Première géométrie à comparer Géométrie 2 : Deuxième géométrie à comparer
Retour : Booléen
geo.st_is_simple
Objectif : Teste si les seules auto-intersections de la géométrie sont aux points limites
-
1 Argument
Géométrie : Géométrie à analyser
Retour : Booléen
geo.st_is_valid
Objectif : Teste si une géométrie est valide
-
1 Argument
Géométrie : Géométrie à analyser
Retour : Booléen
geo.st_length
Objectif : Retourne le périmètre d’une géométrie
-
1 Argument
Géométrie : Géométrie à analyser
Retour : Décimal
geo.st_line_string_from_text
Objectif : Construit une ligne géométrique à partir d’une chaîne de caractères
-
2 Arguments
Argument 1 : Chaîne de caractères à analyser Séparateur : Préciser le séparateur
Retour : Géométrie
geo.st_make_valid
Objectif : Crée une représentation valide d’une géométrie (Polygone ou Multipolygone) non valide
-
2 Arguments
Géométrie : Géométrie à analyser Supprimer les trous : Préciser si les trous doivent être supprimés (Booléen)
Retour : Géométrie
geo.st_n_points
Objectif : Retourne les points d’une géométrie
-
1 Argument
Géométrie : Géométrie à analyser
Retour : Integer
geo.st_overlaps :
Objectif : Retourne vrai si la géométrie 1 chevauche la géométrie 2
-
2 Arguments
Géométrie 1 : Première Géométrie à comparer Géométrie 2 : Première Géométrie à comparer
Retour : Booléen
geo.st_point
Objectif : Construit un point géométrique
-
2 Arguments
Première valeur : Valeur du premier point (Latitude) Deuxième valeur : Valeur du premier point (Longitude)
Retour : Géométrie
geo.st_point_from_text
Objectif : Construit un point géométrique à partir d’une chaîne de caractères
-
2 Arguments
Chaîne de caractères : Précise la chaîne de caractères à traiter Séparateur : Précise le caractère séparateur
Retour : Géométrie
geo.st_polygon_from_envelope
Objectif :
Construit un polygone géométrique à partir d’une enveloppe
-
4 Arguments
Argument 1 : Précise le Minimum X Argument 2 : Précise le Minimum Y Argument 3 : Précise le Maximum X Argument 4 : Précise le Maximum Y
Retour : Géométrie
geo.st_polygon_from_text
Objectif : Construit un Polygone géométrique à partir d’une chaîne de caractères
-
2 Arguments
Chaîne de caractère : Précise la chaîne de caractères à traiter Séparateur : Précise le caractère séparateur
Retour : Géométrie
geo.st_precision_reduce
Objectif : Réduit la précision des décimaux dans les coordonnées de la géométrie. La dernière décimale sera arrondie
-
2 Arguments
Géométrie : Précise la géométrie à traiter Valeur numérique : Nombre de décimaux
Retour : Géométrie
geo.st_simplify_preserve_topology
Objectif : Simplifie une géométrie
-
2 Arguments
Géométrie : Précise la géométrie à traiter Valeur numérique : Tolérance de distance
Retour : Géométrie
geo.st_touches
Objectif : Retourne vrai si la géométrie 1 touche la géométrie 2
-
2 Arguments
Géométrie 1 : Première Géométrie à comparer Géométrie 2 : Première Géométrie à comparer
Retour : Booléen
Les fonctions sur les URL*
url.extract_params
Objectif : Réalise l’extraction des paramètres d’une URL.
-
1 Argument : Valeur : Donner ici une URL Valide à traiter
Retour : Renvoie une valeur de type Objet chaîne de caractères
url.extract_params(https://www.google.com/search?q=wikipedia+GRENOBLE&rlz=1C5CHFA_enFR864FR864&oq=wikipedia+GRENOBLE&aqs=chrome..69i57j0l7.4545j0j7&sourceid=chrome&ie=UTF-8) RENVOIE {"sourceid":"chrome","q":"wikipedia+GRENOBLE","rlz":"1C5CHFA_enFR864FR864","oq":"wikipedia+GRENOBLE","aqs":"chrome..69i57j0l7.4545j0j7","ie":"UTF-8"} |
url.extract_uri
Objectif :
Réalise l’extraction de l’URI d’une URL.
-
1 Argument : Valeur : Donner ici une URL Valide à traiter
Retour : Renvoie une valeur de type chaîne de caractères
url.encode_url
Objectif : Réalise un encodage de l’URL
-
1 Argument : Valeur 1 : Url à encoder
Retour : Renvoie une valeur de type chaîne de caractères
url.encode_url(https://fr.wikipedia.org/wiki/24 Heures du Mans) RENVOIE https://fr.wikipedia.org/wiki/24%20Heures%20du%20Mans |
Les Fonctions Spécifiques DataChain
dc.ranking
Objectif : Applique un classement DataChain sur une chaîne de caractères (consomme un classement généré dans la fonction classement de HandleData de DataChain).
-
2 Arguments :
Valeur à traiter : Chaîne de caractères à classer (le type de la valeur dépend du type du classement) Classement DataChain à appliquer : Précise le Classement DataChain qui est consommé
Un classement de type Integer classe des valeurs de type Integer Un classement de type Décimal classe des Décimaux Un classement de type Date classe des Dates Un classement de type Chaîne de caractères classe des Chaines de caractères
Retour : Renvoie la valeur Null si le type de classement ne correspond pas au type de la valeur à traiter
Exemple : dc.ranking(Age,Classement Age) |
dc.to_str
Objectif : Transforme une valeur en chaîne de caractères
-
1 Argument : Valeur 1 : Chaîne de caractères à traiter
Retour : Renvoie une valeur de type Chaîne de caractères
dc.to_str(123.23) RENVOIE 123.23 |
dc.extract_json
Objectif : Renvoie une chaîne de caractères issue d’une expression au format JSON valide via la définition d’un chemin (JSON Path)
-
2 Arguments : Valeur à traiter : Expression au format Json valide à traiter Json Path : Chemin JsonPath conduisant à la valeur à extraire
Retour : Renvoie une valeur de type Chaîne de caractères ou JsonChaineDeCaractères
dc.extract_json({ "lat" : 48.87060109999999, "lng" : 2.3169533},$.lat) RENVOIE 48.87060109999999 |
word.to_str
Objectif : Réalise la transformation d’un objet de type Mots en Json contenant un découpage par mot, associé à des informations caractérisant chaque mot
-
1 Argument : Valeur 1 : Objet Mot
Retour : Renvoie une valeur de type JsonChaineDeCaractères
word.to_str(str.to_words(Il fait beau ce jour. C’est très bien.) RENVOIE [{"term":"Il","term_length":2,"term_number_in_text":1,"term_number_in_paragraph":1,"term_number_in_sentence":1,"sentence_number_in_text":1,"sentence_number_in_paragraph":1,"paragraph_number_in_text":1},{"term":"fait","term_length":4,"term_number_in_text":2,"term_number_in_paragraph":2,"term_number_in_sentence":2,"sentence_number_in_text":1,"sentence_number_in_paragraph":1,"paragraph_number_in_text":1},{"term":"beau","term_length":4,"term_number_in_text":3,"term_number_in_paragraph":3,"term_number_in_sentence":3,"sentence_number_in_text":1,"sentence_number_in_paragraph":1,"paragraph_number_in_text":1},{"term":"ce","term_length":2,"term_number_in_text":4,"term_number_in_paragraph":4,"term_number_in_sentence":4,"sentence_number_in_text":1,"sentence_number_in_paragraph":1,"paragraph_number_in_text":1},{"term":"jour.","term_length":5,"term_number_in_text":5,"term_number_in_paragraph":5,"term_number_in_sentence":5,"sentence_number_in_text":1,"sentence_number_in_paragraph":1,"paragraph_number_in_text":1},{"term":"C'","term_length":2,"term_number_in_text":6,"term_number_in_paragraph":6,"term_number_in_sentence":1,"sentence_number_in_text":2,"sentence_number_in_paragraph":2,"paragraph_number_in_text":1},{"term":"est","term_length":3,"term_number_in_text":7,"term_number_in_paragraph":7,"term_number_in_sentence":2,"sentence_number_in_text":2,"sentence_number_in_paragraph":2,"paragraph_number_in_text":1},{"term":"très","term_length":4,"term_number_in_text":8,"term_number_in_paragraph":8,"term_number_in_sentence":3,"sentence_number_in_text":2,"sentence_number_in_paragraph":2,"paragraph_number_in_text":1},{"term":"bien.","term_length":5,"term_number_in_text":9,"term_number_in_paragraph":9,"term_number_in_sentence":4,"sentence_number_in_text":2,"sentence_number_in_paragraph":2,"paragraph_number_in_text":1}] |
dc.if
Objectif : Vérifie si la condition est respectée et renvoie une valeur si le résultat d’une condition que vous avez spécifiée est VRAI et une autre valeur si le résultat est FAUX.
-
5 Arguments : Valeur 1 : Chaîne de caractères à traiter Opérateur : Choix de l’opérateur appliqué pour le test Valeur Test 1 : Première Valeur test (Non obligatoire dans le cas des opérateurs de type EstNull ou EstVide) Valeur si Vrai : Renvoie cette chaîne de caractères si la règle est Vraie Valeur si Faux : Renvoie cette chaîne de caractères si la règle est Fausse
Retour : Renvoie une valeur de type Chaîne de caractères
dc.if(AUDI A3 couleur Noir, contient, Noir, Sombre, Clair) RENVOIE Sombre |
dc.compare
Objectif : Permet de comparer des valeurs entre elles en utilisant un opérateur
-
3 Arguments :
Valeur 1 : Première valeur à comparer Opérateur : Opérateur servant à la comparaison Valeur 2 : Deuxième valeur à comparer Valeur 3_ : Troisième valeur à comparer (cette valeur n’est utilisée que pour les opérateurs nécessitant cette valeur comme comprise dans l’intervalle, à l’extérieur de l’intervalle, …)
Retour : Renvoie une valeur de type Booléen
dc.compare(12, dans l’interval,10,15) RENVOIE True |
dc.compare(17, dans l’interval,10,15) RENVOIE False |
dc.rule
Objectif : Cette formule permet de générer des règles complexes paramétrées grâce au QueryBuilder de la solution DataChain
Retour : Renvoie une valeur de type Chaîne de caractères
La formule dc.rule attend 3 arguments
Argument 1 : Règle construite avec le QueryBuider de DataChain
Argument 2 : Valeur renvoyée par la formule si la règle renvoie Vrai
Argument 3 : Valeur renvoyée par la formule si la règle renvoie Faux
Bloc contenant les informations relatives à la formule en cours
Étapes de création :
Cliquer pour afficher la liste des arguments possibles
Choisir Règle pour ouvrir la popup des règles
Choisir une colonne à comparer (ici Espèces), un opérateur (ici Égale) et un autre item à comparer (ici il s’agit d’une autre colonne Nom retenu)
Note : pour chercher dans une colonne, utiliser l’icône
Cliquer sur valider pour fermer la popup
Préciser la Chaîne de caractères à retourner si la règle renvoie VRAI
Préciser la Chaîne de caractères à retourner si la règle renvoie FAUX
dc.advanced_position
Objectif : Donne la position d’une valeur dans une chaîne de caractères selon un sens de lecture (début ou fin) en précisant le N-ième index du caractère recherché.
-
4 Arguments :
Argument 1 : Chaîne de caractères à traiter Argument 2 : Caractère à rechercher Argument 3 : Sens de lecture de la chaîne de caractères - Début ou Fin Argument 4 : N-ième Index du caractère recherché. Les index commencent à 0.
dc.advanced_position('recherche d’un caractère d’une chaîne',''',Début,0) RENVOIE 11 |
Dans la chaîne de caractères, le caractère ' ayant l’index 0 (soit le premier) est en position 11 à partir du début
dc.advanced_position('recherche d@un caractère d@une chaîne','@',Début,1) RENVOIE 26 |
Dans la chaîne de caractères, le caractère @ ayant l’index 1 (soit le deuxième) est en position 26 à partir du début
file.extension
Objectif : Renvoie l’extension d’un nom de fichier
-
1 Argument :
Valeur 1 : Chaîne de caractères à traiter
Retour : Renvoie une valeur de type String
file.extension(Monfichier.pdf) RENVOIE pdf |
http.post
Objectif : Permet de réaliser un appel de service avec la méthode POST via protocole HTTP en passant une URL et un Body en option.
-
2 Arguments : Valeur 1 : Chaîne de caractères au format URL à traiter Valeur 2 : Chaîne de caractère (Option)
Retour : Le contenu du retour est propre au service exécuté
http.get
Objectif : Permet de réaliser un appel de service avec la méthode GET via protocole HTTP
-
1 Argument : Valeur 1 : Url à exécuter
Retour : Le retour dépend du service exécuté
bin.content_object
Objectif : Transforme un binaire en objet
-
1 Argument : Valeur : Binaire
Retour : Renvoie une valeur de type Object
bin.content_str
Objectif : Renvoie le contenu d’un binaire
-
1 Argument : Valeur : Chaîne de caractères
Retour : Renvoie une valeur de type Chaîne de caractères
bin.content_words
Objectif : Transforme un type Binaire en un type Word (DataChain)
-
1 Argument : Valeur 1 : Type de fichier Valeur 2 : Fichier
dc.free_list
Objectif : Permet de saisir une formule en utilisant les fonctions SparkSql valides. Renvoie d’une valeur de type Liste.
-
1 Argument : Valeur : Chaîne de caractères au format SparkSql valide. Utilisation des codes des colonnes
Retour : Renvoie une valeur de type Liste