Les formules

Les traitements de données de type « formule » ne sont pas toujours évidents à comprendre et à utiliser. Pour une prise en main plus facile, nous vous présentons ici quelques exemples que vous pouvez facilement mettre en place.


image

Les chiffres

Arrondir les chiffres

  • Arrondir à l’entier: round({{champ}})
  • Arrondir à 2 décimales: round({{champ}},2)

Séparer les milliers / millions / milliards

Séparateur de 3 chiffres: REPLACE(‘ ‘ + {{champ}}, ‘/([0-9]{3})/g’, ‘ $1’)

Les formats date

Les formats de date de base sont souvent affichés sous 2 formats:

  • Format date ISO YYYY-MM-DDTHH:mm:ss.011Z (ex: 2018-02-19T10:46:37.950Z)
  • Format date timestamp XXXXXXXXXX (ex: 1519037225)

Quelques exemples avec moment

  • moment() = date courante (YYYY-MM-DDTHH:mm:ss.011Z)
  • moment().format("YYYY MM DD") = YYYY MM DD (ex: 2018 02 19)
  • moment().format("DD/MM HH:mm") = DD/MM HH:mm (ex: 19/02 11:40)

Convertir les formats date en nombre (en ms)

  • Maintenant en nombre: NUMBER(moment()) (ex: 1519036887 --> timestamp en ms)
  • {{champ}} en nombre: NUMBER(moment({{champ}}))

Renvoyer un booléen si la date est dépassée ou non :

Vous souhaitez filtrer un jeu de données pour récupérer, par exemple, uniquement des évènements à venir ?
Utiliser la formule moment().isAfter(moment({{votre champ}},« DD/MM/YYYY »)) ou moment().isBefore(moment({{votre champ}},« DD/MM/YYYY »)) afin de savoir si oui, ou non, votre date est dépassée.
Vous pourrez à partir de ce moment effectuer un filtre afin de récupérer uniquement les données nécessaires.

Calculer le temps passée depuis une date

moment().to(moment({{votreChamp}}, « DD/MM/YYYY »))

Autres formules

Réduire le nombre de caractères d’une donnée « texte »

  • Texte réduit à 350 caractères: SUBSTR({{champ}},0,350)
  • Ajout de points de suspension: length({{champ}})>200 && « … » || « »

Interaction éphémère (utile pour les interactivités avec redirection d’URL)

Limiter la durée d’interactivité à 5s: NUMBER({{timestamp}})+5000 >= NUMBER(moment())

Remplacer un caractère

Si mon caractère est � (caractère spécial) et que je souhaite le remplacer par un e: REPLACE({{champs}},"/�/g","e")

Récupérer les données à partir d’un mot

Récupérer les données à partir de demain : MATCH({{champs}}, '\Demain.*')