Modifica espressioni expression

La modifica di un’espressione comporta l’immissione manuale di condizioni per formare una regola. Questa modalità ti consente di utilizzare funzioni avanzate, che ti consentono di manipolare i valori utilizzati per eseguire query specifiche come la manipolazione di date, stringhe, campi numerici, ordinamenti, ecc.

Utilizzare l’editor di espressioni edit

L'editor espressioni è disponibile dal pulsante Modifica espressione del modellatore di query, disponibile per i campi Attributo e Valore durante la configurazione di una condizione personalizzata.

Accesso dal campo Attributo
Accedi dal campo Valore
{modal="regular"}
{modal="regular"}

L’editor di espressioni mostra:

  • Un campo di input (1) in cui è definita l'espressione.
  • Elenco dei campi (2) disponibili che possono essere utilizzati nell'espressione e corrispondenti allo schema della query, noto anche come dimensione di targeting.
  • Funzioni helper (3), ordinate per categoria.

Modifica l’espressione immettendo un’espressione direttamente nel campo di input. Per aggiungere un campo o una funzione di supporto, posizionare il cursore nell'espressione nel punto in cui si desidera aggiungerla e fare clic sul pulsante +.

{modal="regular"}

Quando l'espressione è pronta, fare clic sul pulsante Conferma. L’espressione viene visualizzata nel campo selezionato. Per modificarlo, apri l’editor di espressioni e apporta le modifiche desiderate.

L'esempio seguente mostra un'espressione configurata per il campo Value. Per modificarlo, è necessario aprire l'editor espressioni utilizzando il pulsante Modifica espressione.

{modal="regular"}

Funzioni Helper

Lo strumento di modifica delle query ti consente di utilizzare funzioni avanzate per eseguire filtri complessi in base ai risultati desiderati e ai tipi di dati manipolati. Sono disponibili le seguenti funzioni:

Aggregato

Le funzioni di aggregazione vengono utilizzate per eseguire calcoli su un insieme di valori.

Nome
Descrizione
Sintassi
Avg
Restituisce la media di una colonna di tipo numerico
Avg(<valore>)
Conteggio
Conta i valori non nulli in una colonna
Count(<valore>)
CountAll
Conta i valori restituiti (tutti i campi)
CountAll()
Countdistinct
Conta i valori distinti non nulli in una colonna
Countdistinct(<valore>)
Max
Restituisce il valore massimo in una colonna numerica, stringa o data
Max(<valore>)
Min
Restituisce il valore minimo in una colonna numerica, stringa o data.
Min(<valore>)
StdDev
Restituisce la deviazione standard in una colonna numerica, stringa o data
StdDev(<valore>)
AggStringa
Restituisce la concatenazione dei valori di una colonna di tipo stringa, separati dal carattere nel secondo argomento
StringAgg(<Valore>, <Stringa>)
Somma
Restituisce la somma dei valori in una colonna numerica, stringa o data
Sum(<valore>)

Data

Le funzioni di data vengono utilizzate per manipolare i valori di data o ora.

Nome
Descrizione
Sintassi
AddDays
Aggiunge un numero di giorni a una data
AddDays(<data>, <numero>)
AddHours
Aggiunge un numero di ore a una data
AddHours(<data>, <numero>)
AddMinutes
Aggiunge un numero di minuti a una data
AddMinutes(<data>, <numero>)
AddMonths
Aggiunge un numero di mesi a una data
AddMonths(<data>, <numero>)
AddSeconds
Aggiunge un numero di secondi a una data
AddSeconds(<data>, <numero>)
AddYears
Aggiunge un numero di anni a una data
AddYears(<data>, <numero>)
ConvertNTZ
Converte la marca temporale NTZ (marca temporale senza fuso orario) in TZ (marca temporale con fuso orario) applicando la sessione definita TZ
ConvertNTZ (<data+ora>)
CmpData
Confronta due date
DateCmp(<data>,<data>)
DateOnly
Restituisce solo la data (con l’ora su 00.00)*
DateOnly(<data>)
Day
Restituisce il numero che rappresenta il giorno della data
Day(<data>)
DayOfYear
Restituisce un numero del giorno dell’anno della data
DayOfYear(<data>)
DaysAgo
Restituisce la data corrispondente alla data corrente meno n giorni
DaysAgo(<numero>)
DaysAgoInt
Restituisce la data corrispondente (numero intero aaaammgg) alla data corrente meno n giorni
DaysAgoInt(<numero>)
DaysDiff
Numero di giorni tra due date
DaysDiff(<data di fine>, <data di inizio>)
DaysOld
Restituisce l’età in giorni di una data
DaysOld(<data>)
GetDate
Restituisce la data di sistema corrente del server
GetDate()
Hour
Restituisce l’ora della data
Hour(<data>)
HoursDiff
Restituisce il numero di ore tra due date
HoursDiff(<data di fine>, <data di inizio>)
Minute
Restituisce i minuti della data
Minute(<data>)
MinutesDiff
Restituisce il numero di minuti tra due date
MinutesDiff(<data di fine>, <data di inizio>)
Month
Restituisce il numero che rappresenta il mese della data
Month(<data>)
MonthsAgo
Restituisce la data corrispondente alla data corrente meno n mesi
MonthsAgo(<numero>)
MonthsDiff
Restituisce il numero di mesi tra due date
MonthsDiff(<data di fine>, <data di inizio>)
MonthsOld
Restituisce l’età in mesi di una data
MonthsOld(<data>)
Oldest
Restituisce la data meno recente in un intervallo
Oldest (<data, data>)
Second
Restituisce i secondi della data
Second(<data>)
SecondsDiff
Restituisce il numero di secondi tra due date
SecondsDiff(<data di fine>, <data di inizio>)
SubDays
Sottrae un numero di giorni da una data
SubDays(<data>, <numero>)
SubHours
Sottrae un numero di ore da una data
SubHours(<data>, <numero>)
SubMinutes
Sottrae un numero di minuti da una data
SubMinutes(<data>, <numero>)
SubMonths
Sottrae un numero di mesi da una data
SubMonths(<data>, <numero>)
SubSeconds
Sottrae un numero di secondi da una data
SubSeconds(<data>, <numero>)
SubYears
Sottrae un numero di anni da una data
SubYears(<data>, <numero>)
ToDate
Converte una data + ora in una data
ToDate(<data + ora>)
ToDateTime
Converte una stringa in una data + ora
ToDateTime(<stringa>)
ATimestamp
Converte una stringa in una marca temporale
ToTimestamp(<stringa>)
ToTimeZone
Convertire una data + ora in fuso orario
ToTimeZone(<data>,<fuso orario>)
TruncDate
Arrotonda una data+ora al secondo più vicino
TruncDate(@lastModified, <numero di secondi>)
TruncDateTZ
Arrotonda una data + ora a una determinata precisione, espressa in secondi
TruncDateTZ(<data>, <numero di secondi>, <fuso orario>)
TruncQuarter
Arrotonda una data al trimestre
TruncQuarter(<data>)
TruncTime
Arrotonda la parte dell’ora al secondo più vicino
TruncTime(<data>, <numero di secondi>)
TruncWeek
Arrotonda una data alla settimana
TruncWeek(<data>)
TruncYear
Arrotonda una data + ora al 1° gennaio dell’anno
TruncYear(<data>)
WeekDay
Restituisce un numero che rappresenta il giorno della settimana della data (0=lunedì, 6=domenica)
WeekDay(<data>)
Year
Restituisce il numero che rappresenta l’anno della data
Year(<data>)
YearAnd Month
Restituisce il numero che rappresenta l’anno e il mese della data
YearAndMonth(<data>)
YearsAgo
Restituisce il numero di anni tra una data specificata e la data corrente
YearsAgo(<data>)
YearsDiff
Restituisce il numero di anni tra le due date
YearsDiff(<data di fine>, <data di inizio>)
YearsOld
Restituisce l’età in anni di una data
YearsOld(<data>)
NOTE
Tieni presente che la funzione Dateonly tiene conto del fuso orario del server, non di quello dell’operatore.

Geomarketing

Le funzioni di geomarketing vengono utilizzate per manipolare i valori geografici.

Nome
Descrizione
Sintassi
Distance
Restituisce la distanza tra due punti definiti da longitudine e latitudine espressa in gradi.
Distance(<Longitudine A>, <Latitudine A>, <Longitudine B>, <Latitudine B>)

Numerico

Le funzioni numeriche vengono utilizzate per convertire il testo in numeri.

Nome
Descrizione
Sintassi
Abs
Restituisce il valore assoluto di un numero
Abs(<numero>)
Ceil
Restituisce il numero intero più piccolo maggiore o uguale a un numero
Ceil(<numero>)
Floor
Restituisce il numero intero maggiore o uguale a un numero
Floor(<numero>)
Greatest
Restituisce il numero maggiore tra due numeri
Greatest(<numero 1>, <numero 2>)
Least
Restituisce il minore tra due numeri
Least(<numero 1>, <numero 2>)
Mod
Restituisce il resto della divisione del numero intero da n1 per n2
Mod(<numero 1>, <numero 2>)
Percent
Restituisce il rapporto tra due numeri espresso come percentuale
Percent(<numero 1>, <numero 2>)
Random
Restituisce il valore casuale
Random()
Round
Arrotonda un numero a n decimali
Round(<numero>, <numero di decimali>)
Sign
Restituisce il segno del numero
Sign(<numero>)
ToDouble
Converte un numero intero in un numero in virgola mobile
ToDouble(<numero>)
ToInt64
Converte un numero in virgola mobile in un numero intero a 64 bit
ToInt64(<numero>)
ToInteger
Converte un numero in virgola mobile in un numero intero
ToInteger(<numero>)
Trunc
Tronca n1 a n2 decimali
Trunc(<n1>, <n2>)

Altri

Questa tabella contiene le altre funzioni disponibili.

Nome
Descrizione
Sintassi
AESEncrypt
Stringa di crittografia fornita nell'argomento
AESEncrypt(<valore>)
Case
Restituisce il valore 1 se la condizione è vera. In caso contrario, restituisce il valore 2.
Case(When(<condizione>, <valore 1>), Else(<valore 2>))
ClearBit
Elimina il contrassegno nel valore
ClearBit(<identificatore>, <contrassegno>)
Coalesce
Restituisce il valore 2 se il valore 1 è zero o nullo, altrimenti restituisce il valore 1
Coalesce(<valore 1>, <valore 2>)
Decode
Restituisce il valore 3 se il valore 1 = al valore 2. In caso contrario, restituisce il valore 4.
Decode(<valore 1>, <valore 2>, <valore 3>, <valore 4>)
Else
Restituisce il valore 1 (può essere utilizzato solo come parametro della funzione Case)
Else(<valore 1>, <valore 2>)
GetEmailDomain
Estrae il dominio da un indirizzo e-mail
GetEmailDomain(<valore>)
GetMirrorURL
Recupera l’URL del server della pagina mirror
GetMirrorURL(<valore>)
Iif
Restituisce il valore 1 se l’espressione è vera. In caso contrario, restituisce il valore 2
Iif(<condizione>, <valore 1>, <valore 2>)
IsBitSet
Indica se il contrassegno si trova nel valore
IsBitSet(<identificatore>, <contrassegno>)
IsEmptyString
Restituisce il valore 2 se la stringa è vuota, altrimenti restituisce il valore 3
IsEmptyString(<valore 1>, <valore 2>, <valore 3>)
NuovoUUID
Restituisce un ID univoco
NewUUID()
NoNull
Restituisce la stringa vuota se l’argomento è NULL
NoNull(<valore>)
RowId
Restituisce il numero di riga
RowId
SetBit
Forza il contrassegno nel valore
SetBit(<identificatore>, <contrassegno>)
ToBoolean
Converte un numero in booleano
ToBoolean(<numero>)
When
Restituisce il valore 1 se l’espressione è vera. In caso contrario, restituisce il valore 2 (può essere utilizzato solo come parametro della funzione Case)
When(<condizione>, <valore 1>)

Stringa

Le funzioni di stringa vengono utilizzate per manipolare un insieme di stringhe.

Nome
Descrizione
Sintassi
AllNonNull2
Indica se tutti i parametri non sono nulli e non sono vuoti
AllNonNull2(<stringa>, <stringa>)
AllNonNull3
Indica se tutti i parametri non sono nulli e non sono vuoti
AllNonNull3(<stringa>, <stringa>, <stringa>)
Ascii
Restituisce il valore ASCII del primo carattere della stringa
Ascii(<stringa>)
Char
Restituisce il carattere corrispondente al codice ASCII “n”
Char(<numero>)
Charindex
Restituisce la posizione della stringa 2 nella stringa 1.
Charindex(<stringa>, <stringa>)
dataLength
Restituisce la dimensione in byte della stringa
dataLength(<stringa>)
GetLine
Restituisce l’ennesima riga (da 1 a n) della stringa
GetLine(<stringa>)
IfEquals
Restituisce il terzo parametro se i primi due parametri sono uguali. In caso contrario, restituisce l’ultimo parametro
IfEquals(<stringa>, <stringa>, <stringa>, <stringa>)
IsMemoNull
Indica se il promemoria passato come parametro è nullo
IsMemoNull(<promemoria>)
JuxtWords
Concatena le stringhe passate come parametri. Se necessario, aggiunge spazi tra le stringhe.
JuxtWords(<stringa>, <stringa>)
JuxtWords3
Concatena le stringhe passate come parametri. Se necessario, aggiunge spazi tra le stringhe
JuxtWords3(<stringa>, <stringa>, <stringa>)
Left
Restituisce i primi n caratteri della stringa
Left(<stringa>, <numero>)
Length
Restituisce la lunghezza della stringa
Length(<stringa>)
Riga
Estrai riga n dalla stringa
Line(<stringa>,<numero>)
Lower
Restituisce la stringa in caratteri minuscoli
Lower(<stringa>)
LPad
Restituisce la stringa completata a sinistra
LPad (<Stringa>, <Numero>, <Carattere>)
Ltrim
Rimuove gli spazi a sinistra della stringa
Ltrim(<stringa>)
Md5Digest
Restituisce una rappresentazione esadecimale della chiave MD5 di una stringa
Md5Digest(<stringa>)
MemoContains
Specifica se il promemoria contiene la stringa passata come parametro
MemoContains(<promemoria>, <stringa>)
ValoreNodo
Estrae il valore di un campo XML dal relativo XPath e dai dati del campo
NodeValue (<Stringa>, <Stringa>)
Replace
Sostituisce tutte le occorrenze di un valore di stringa specificato con un altro valore di stringa.
Replace(<Stringa>,<Stringa>,<Stringa>)
Right
Restituisce gli ultimi n caratteri della stringa
Right(<stringa>)
RPad
Restituisce la stringa completata a destra
RPad(<stringa>, <numero>, <carattere>)
Rtrim
Rimuove gli spazi a destra della stringa
Rtrim(<stringa>)
Sha256Digest
Rappresentazione esadecimale della chiave SHA256 di una stringa.
Sha256Digest (<Stringa>)
Sha512Digest
Rappresentazione esadecimale della chiave SHA512 di una stringa.
Sha512Digest (<Stringa>)
Smart
Restituisce la stringa con la prima lettera di ciascuna parola in maiuscolo
Smart(<stringa>)
Substring
Estrae la stringa secondaria a partire dal carattere n1 della stringa e con una lunghezza n2
Substring(<stringa>, <offset>, <lunghezza>)
ToString
Converte il numero in una stringa
ToString(<numero>, <numero>)
Upper
Restituisce la stringa in caratteri maiuscoli
Upper(<stringa>)
VirtualLink
Restituisce la chiave esterna di un collegamento passato come parametro se gli altri due parametri sono uguali
VirtualLink(<numero>, <numero>, <numero>)
VirtualLinkStr
Restituisce la chiave esterna (testo) di un collegamento passato come parametro se gli altri due parametri sono uguali
VirtualLinkStr(<stringa>, <numero>, <numero>)

Finestra

Nome
Descrizione
Sintassi
_Over__
Esegui la chiamata alla funzione SQL immessa come primo parametro, su Partition o Order By nei campi immessi come secondo parametro
_Over_ (<Valore>, <Valore>)
Desc
Applica un ordinamento decrescente
Desc(<valore 1>)
OrderBy
Ordina il risultato all’interno della partizione
OrderBy(<valore 1>)
PartitionBy
Partiziona il risultato di una query su una tabella
PartitionBy(<valore 1>)
RowNum
Genera un numero di riga basato sulla partizione della tabella e su una sequenza di ordinamento.
RowNum(PartitionBy(<valore 1>), OrderBy(<valore 1>))
recommendation-more-help
fadff0d9-29d0-4d44-99a6-2499b0b7778b