Quello che segue è l'elenco delle funzioni disponibili per le operazioni del Field calculator.
Nome del campo | Funzione | Esempio |
---|---|---|
fn.datetostr(date, pattern) | Converte una data in un valore di tipo string |
fn.datetostr(contact.values.BIRTHDATE, 'dd/MM/yyyy') |
fn.datetostr_tz(date, pattern, timezone) | Converte una data in un valore di tipo string . Questa funzione è applicata utilizzando uno specifico fuso orario |
fn.datetostr_tz(contact.values.BIRTHDATE, 'dd/MM/yyyy', 'Europe/Rome') |
fn.strtodate(string, pattern) | Converte un valore di tipo string in una data |
fn.strtodate(contact.values.MYFIELD, 'dd/MM/yyyy HH:mm') |
fn.strtodate_tz(string, pattern, timezone) | Converte una stringa in un valore di tipo data . Questa funzione è applicata utilizzando uno specifico fuso orario |
fn.strtodate_tz(contact.values.MYFIELD, 'dd/MM/yyyy HH:mm', 'Europe/Rome') |
fn.now() | Restituisce data ed ora attuali | |
fn.today() | Restituisce la data odierna e l'ora impostata a 00:00:00 | |
fn.today_tz(timezone) | Restituisce la data odierna e l'ora impostata a 00:00:00 relativamente al fuso orario impostato | |
fn.midnight(date) | Restituisce una data originaria e l'ora impostata a 00:00:00 | |
fn.midnight_tz(date, timezone) | Restituisce una data originaria e l'ora impostata a 00:00:00 relativamente al fuso orario impostato | |
fn.dateadd(date, offset, unit) | Aggiunge un quantitativo di tempo ad una data in una specifica unità di tempo (anni, mesi, giorni, ore, minuti, secondi, giorni della settimana) | fn.dateadd(contact.values.EXPIREDATE, -2, 'day') |
fn.dateadd_tz(date, offset, unit, timezone) | Aggiunge un quantitativo di tempo ad una data in una specifica unità di tempo (anni, mesi, giorni, ore, minuti, secondi, giorni della settimana). Questa funzione è applicata utilizzando uno specifico fuso orario |
fn.dateadd_tz(contact.values.EXPIREDATE, -2, 'day', 'Europe/Rome') |
fn.datediff(date1,date2, unit) | Restituisce un valore di tipo int che rappresenta la differenza tra due date in una specifica unità di misura (anni, mesi, giorni, ore, minuti, secondi, giorni della settimana) | fn.datediff(fn.now(), contact.values.EXPIREDATE, 'day') |
fn.datepart(date1, unit) | Restituisce un valore di tipo string che rappresenta la parte di una data che corrisponde all'unità di tempo indicata (anni, mesi, giorni, ore, minuti, secondi, giorni della settimana) |
fn.datepart(contact.values.EXPIREDATE, 'month') |
fn.datepart_tz(date1, unit, timezone) | Restituisce un valore di tipo string che rappresenta la parte di una data che corrisponde all'unità di tempo indicata (anni, mesi, giorni, ore, minuti, secondi, giorni della settimana).Questa funzione è applicata utilizzando uno specifico fuso orario |
fn.datepart_tz(contact.values.EXPIREDATE, 'month', 'Europe/Rome') |
fn.age(date) | Restituisce un init che rappresenta l'età basata su una data, in anni. |
fn.age(contact.values.BIRTHDATE) |
fn.age_tz(date, timezone) | Restituisce un init che rappresenta l'età basata su una data, in anni. Questa funzione è applicata utilizzando uno specifico fuso orario |
fn.age(contact.values.BIRTHDATE) |
fn.round(var) | Restituisce un valore numerico arrotondato | |
fn.max(a,b) | Restituisce il più alto tra due valori numerici o due date | |
fn.min(a,b) | Restituisce il più basso tra due valori o due date | |
fn.abs(var) | Restituisce il valore assoluto di un valore numerico | |
fn.md5(var) | Restiuisce una stringa che rappresenta il valore calcolato con l'algoritmo MD5 e stampata in base 16 | |
fn.sha1(var) | Restituisce una stringa che rappresenta il valore calcolato con l'algoritmo SHA-1 e stampata in base 16 | |
fn.sha256(var) | Restituisce una stringa che rappresenta il valore calcolato con l'algoritmo SHA-256 e stampata in base 16 | |
fn.random(min,max) | Restituisce un integer compreso tra quelli definiti come valore minimo e massimo compresi | |
fn.strtolist(string, separator) | Converte una stringa in una lista, utilizzando un separatore specifico | fn.strtolist('Italy,France,UK', ',') |
fn.listtostr(list, separator) | Converte una lista in una stringa, usando un separatore specifico | fn.listtostr(contact.values.COUNTRY, ',') |
fn.randomelement(list) | Estrae un elemento di una lista di tipo collection o string (le stringhe vanno separate con una virgola) |
fn.randomelement('Red,Yellow,Green') |
fn.sort(list,direction) | Ordina una lista di tipo collection usando una funzione di ordinamento naturale (per le stringhe è l'ordine alfabetico). Usa direction='asc' per l'ordine crescente e direction="desc" per quello discendente.Ogni altro valore o lista è trattata come asc |
|
fn.sortby(list,field,direction) | Ordina una lista di record, usando il valore del campo field di ciascun record. Usa direction='asc' per l'ordine crescente e direction="desc" per quello discendente. Ogni altro valore o lista è trattata come asc |
|
fn.filter(list,condition) | Filtra una lista di record, stimando la "condizione" per ciascuno dei record. Se viene applicato a liste di valori primitivi quali stringhe o numeri, devi utilizzare la keyword speciale this per riferirti al valore. |
Esempio con record: fn.filter(myqueryresultset,'name eq "xx"') Esempio con valori primitivi: fn.filter(fn.strtolist('Italy,France,UK', ','),'this contains "tal"') |
fn.ucase(string) | Trasforma una stringa in MAIUSCOLO. Se applicato ad una lista, la funzione è applicata a tutti i suoi elementi | |
fn.lcase(string) | Trasforma una stringa in minuscolo. Se applicato ad una lista, la funzione è applicata a tutti i suoi elementi | |
fn.capitalcase(string) | Trasforma la prima lettera di ogni parola in maiuscolo e le altre in minuscolo. Se applicato ad una lista, la funzione è applicata a tutti i suoi elementi | |
fn.trim(string) | Rimuove tutti gli spazi superflui da una stringa | |
fn.left(string, maxchars) | Restituisce la parte sinistra di una stringa o di una lista pari al numero di caratteri /elementi specificati | |
fn.right(string, maxchars) | Restituisce la parte destra di una stringa o di una lista pari al numero di caratteri /elementi specificati | |
fn.mid(string, from, to) | Estrae una porzione di stringa o lista (from=0 è il primo elemento, to è sempre obbligatorio) |
|
fn.len(var) | Restituisce la lunghezza di una stringa o di una lista | |
fn.concat(var1, var2) | Concatena la stringa di rappresentazione di due variabili. I valori null sono trattati come stringhe vuote. Per i valori di data/timestamp è meglio formattarli usando fn.strtodate_tz |
|
fn.ifempty(string, defaultvalue) | Se la stringa è " o vuota, allora restituisce il valore specificato, altrimenti restituisce il valore originale | |
fn.coalesce(var, defaultvalue) | Se var è vuoto, allora restituisce il valore specificato, altrimenti restituisce il valore originale. | fn.coalesce(contact.values.ORDERS, 0) |
fn.extract(list, fieldname) | Estrai il campo definito in fieldname da ciascun elemento della lista e restituisce una lista di campi estratti (nello stesso ordine della lista di input) |
fn.extract(listofperson, 'name') |
fn.compose(list, fieldname) | Assembla una lista di record (Maps), ciascun elemento avrà un campo chiamato fieldname che contiene il valore corrispondente della lista originale (nello stesso ordine della lista d'ingresso) |
|
fn.base64_encode(string) | Codifica una stringa con rappresentazione in base64 , usando una codifica utf-8 per leggere la stringa |
|
fn.base64_decode(string) | Decodifica una stringa da base64 utilizzando una codifica utf-8 per scrivere la stringa dei risultati |
|
fn.url_encode(string) | Codifica una stringa nella rappresentazione dei parametri URL querystring, utilizzando la codifica utf-8 (java URLEncoder.encode) |
|
fn.url_decode(string) | Decodifica una stringa dalla rappresentazione dei parametri URL querystring , utilizzando la codifica utf-8 (java URLDecoder.decode) |
|
fn.url_appendparameter(url,name,value) | Tratta un url come URL, e aggiunge alla querystring un parametro chiamato name con valore value dopo il simbolo "?" e prima del simbolo "#".Il valore DEVE essere già codificato , usando la funzione url_encode |
Nota le funzioni di gestione delle date utilizzano il fuso orario dei contatti per i quali si sta eseguendo il codice
Esempi
Espressione booleana
contact.values.lingua EQ 'ITA' (contact.values.field1 EQ 4 OR contact.values.field1 EQ 5+1) AND contact.values.field2 NEQ NULL contact.subscribed and contact.values.DOMINIO EQ 'gmail.com'
Espressione di tipo string
'Value1' contact.values.NAME & '-' & contact.values.SURNAME
Espressione numerica
10 (contact.values.A + contact.values.B)/2