Passa al contenuto principale
Loading...
Skip to article
  • Customer Experience
    Customer Experience
  • Employee Experience
    Employee Experience
  • Brand Experience
    Brand Experience
  • Core XM
    Core XM
  • Design XM
    Design XM

Creazione di espressioni


Was this helpful?


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The feedback you submit here is used only to help improve this page.

That’s great! Thank you for your feedback!

Thank you for your feedback!


Informazioni sulla creazione di espressioni

È possibile creare espressioni per filtro e trasformare i dati in entrata.

Un’espressione può contenere costanti, campi, funzioni e operatori.

Costanti

È possibile utilizzare numeri costanti, stringhe di testo e date per eseguire operazioni aritmetiche e di confronto con e come argomenti nelle funzioni.

Note sull’utilizzo delle costanti:

  • Le stringhe di testo vengono trattate come case sensitive. Utilizzare le funzioni UPPER o LOWER come soluzione alternativa per la distinzione tra maiuscole e minuscole.
  • Le stringhe di testo e le date devono essere inserite tra virgolette.
  • I numeri non richiedono virgolette (un numero all’interno delle virgolette viene trattato come testo).

Campi

È possibile utilizzare i campi numerici, testuali e data disponibili tramite il connettore per eseguire operazioni aritmetiche e di confronto con e come argomenti nelle funzioni.

Per aggiungere un campo, trascinarlo dalla sezione Campi nella casella Espressione.trascinamento dei campi nella casella delle espressioni

I tipi di campo sono etichettati con le seguenti icone:

  • l’icona dell’orologio per campi data
  • licona # numero per campi numerici
  • licona abc per campi testuali e testuali

Funzioni

È possibile utilizzare le funzioni numeriche, testuali e di data elencate in questa sezione.

Per aggiungere una funzione, trascinarla dalla sezione Funzioni nella casella Espressione.
trascinamento delle funzioni nella casella delle espressioni

I tipi di funzione sono etichettati con le seguenti icone:

  • l’icona dell’orologio per le funzioni data
  • licona # numero per funzioni numeriche
  • licona abc per funzioni di testo

ABS

Restituisce il valore assoluto di un numero.

Sintassi: ABS(numero)

Esempio: ABS(-22) si risolve a 22.

COALESCE

Restituisce il primo valore diverso da null in un elenco.

Consiglio Q: una stringa vuota è considerata nulla. Se tutti i valori sono null, anche la funzione restituisce null.

Sintassi: COALESCE(value1, value2, value3)

Esempio: COALESCE(“””, “”, “Jane”, “”, “Paul”) viene risolto da Jane.

CEILING

Restituisce il valore arrotondato per eccesso di un numero.

Sintassi: CEILING(numero)

Esempio: CEILING(21.2) si risolve a 22.

CONCAT

Unisce più stringhe di testo in una.

Sintassi: CONCAT(“stringa 1”, “stringa 2”, “stringa 3”)

Esempio: CONCAT(“Salve”, “, “, “John”) viene risolto da Hello, John.

CONTENUTI

Restituisce true se una stringa di testo (“all’interno del testo”) contiene un’altra stringa di testo (“Trova testo”). In caso contrario, restituisce false.

Sintassi: CONTAINS(“all’interno del testo”, “trova testo”)

Esempio: CONTAINS(“uno, due, tre”, “due”) si risolve su true.

CONVERT_TO_TIMEZONE

Converte data e ora da un fuso orario a un altro.

Sintassi: CONVERT_TO_TIMEZONE(“data e ora”, “fuso orario da cui convertire”, “fuso orario in cui convertire”)

Note sulla formattazione della data:

  • Fornire i fusi orari utilizzando i relativi nomi database.
  • Fornire la data e l’ora in ISO 8601 o aaaa-mm-gg hh:mm:ss.
  • Se la data e l’ora vengono fornite con informazioni sul fuso orario, vengono ignorate a favore del parametro “Fuso orario da cui convertire”.
  • La data convertita utilizza il formato ISO 8601. Utilizzare la funzione TODATE se è necessario modificarla.
Esempio: CONVERT_TO_TIMEZONE(2020-03-19 15:15:00, “Europe/London”, “Europe/Berlin”) si risolve in 2020-03-19T16:15:00Z.

DATETONUMBER

Converte un campo data in un’indicazione data e ora Unix.

Qtip: Il timestamp Unix è il numero di millisecondi trascorsi dal 1º gennaio 1970.

Sintassi: DATETONUMBER(“data”)

Qtip: È disponibile una funzione inversa chiamata NUMBERTODATE.
Esempio: DATETONUMBER(“2020-10-20T09:12:00.670Z”) si risolve in 1603185120670.

DATETOTEXT

Converte un campo data in una stringa data nel formato richiesto.

Sintassi: DATETOTEXT(“data”, “formato data”)

Esempio: DATETOTEXT(NOW(), “MMMM GG AAAA, h:mm:ss”) si risolve al 29 aprile 2020, 3:21:05.

DAYOFWEEK

Restituisce il giorno della settimana corrispondente a una data.

Sintassi: DAYOFWEEK(“data”)

Esempio: DAYOFWEEK(“2019-12-19T20:16:05.602Z”) viene convertito in giovedì.

DYNAMICLOOKUP

Sostituisce i valori del campo utilizzando una tabella di ricerca caricata dinamicamente. I valori di ricerca vengono rilevati dal campo specificato nel primo argomento (“nome campo”).

Sintassi: DYNAMICLOOKUP(“nome campo”, “valore”)

Consiglio Q: le trasformazioni all’interno della funzione DYNAMICLOOKUP non sono consentite.
Esempio: DYNAMICLOOKUP(“QID15”, “10”) si risolve in Eccellente.

ELEMENTOFARRAY

Estrai l’ennesimo valore da un array, quindi mappa i valori della matrice agli attributi in XM Discover.

Sintassi: ELEMENTOFARRAY([“elemento array 1”, “elemento array 2”, “elemento array 3”], numero)

Note:

  • Se l’input non è una matrice, la funzione genera un errore.
  • Se il numero è maggiore delle dimensioni di una matrice, la funzione restituisce null. I numeri in ordine crescente iniziano da 0.
Consiglio Q: questa funzione è particolarmente utile per i lavori XM Discover Link Connector.
Esempio: ELEMENTOFARRAY([“a”, “b”, “c”], 1) si risolve in b.

CAMPO

Riporta a capo i nomi dei campi che contengono spazi o punti.

Sintassi: FIELD(“nome campo”)

Esempio: FIELD(“Testo elaborato”) restituisce il valore del campo denominato “Testo elaborato”.

TROVARE

Individua una stringa di testo (“Trova testo”) all’interno di un’altra stringa di testo (“all’interno di testo”) e restituisce il numero della posizione iniziale di “Trova testo” dal primo carattere di “all’interno del testo” (a partire da 1).

Consente di specificare l’ordine del carattere in “all’interno del testo” in cui avviare la ricerca (a partire da 1). Se si omette order_number, si presume che sia 1.

Restituisce -1 se “Trova testo” non è presente in “all’interno del testo”.

Sintassi: FIND(“trova testo”, “all’interno del testo”, numero_ordine)

Consiglio Q: la funzione fa distinzione tra maiuscole e minuscole. Se si intende eseguire una ricerca senza distinzione tra maiuscole e minuscole, utilizzare la funzione RICERCA.
Esempio: FIND(“easy”, “easy come, easy go”, 3) si risolve a 12.

FINDFIRST

Individua la prima occorrenza di una stringa di testo (“Trova testo”) all’interno di un’altra stringa di testo (“all’interno di testo”) e restituisce il numero della posizione iniziale di “Trova testo” dal primo carattere di “all’interno del testo” (a partire da 1).

Consiglio Q: la funzione fa distinzione tra maiuscole e minuscole; restituisce -1 se “Trova testo” non viene trovato in “all’interno del testo”.

Sintassi: FINDFIRST(“all’interno del testo”, “trova testo”)

Esempio: FINDFIRST(“easy come, easy go”, “easy”) si risolve a 1.

FINDLAST

Individua l’ultima occorrenza di una stringa di testo (“Trova testo”) all’interno di un’altra stringa di testo (“all’interno di testo”) e restituisce il numero della posizione iniziale di “Trova testo” dal primo carattere di “all’interno del testo” (a partire da 1).

Consiglio Q: la funzione fa distinzione tra maiuscole e minuscole; restituisce -1 se “Trova testo” non viene trovato in “all’interno del testo”.

Sintassi: FINDLAST(“all’interno del testo”, “trova testo”)

Esempio: FINDLAST(“easy come, easy go”, “easy”) si risolve a 12.

FLOOR

Restituisce il valore arrotondato per difetto di un numero.

Sintassi: FLOOR(numero)

Esempio: FLOOR(21.9) si risolve a 21.

GENERATE_ID

Genera un ID univoco. Questa funzione non richiede parametri supplementari.

Sintassi: GENERATE_ID()

Esempio: GENERATE_ID() si risolve in 5ecfdd3fdd4ca4f23c5f2602.

GETDAYSBETWEEN

Restituisce il numero di giorni tra due date.

Sintassi: GETDAYSBETWEEN(“data di inizio”, “data di fine”)

Esempio: GETDAYSBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”) si risolve a 5.

GETHOURSBETWEEN

Restituisce il numero di ore tra due date.

Sintassi: GETHOURSBETWEEN(“data di inizio”, “data di fine”)

Esempio: GETHOURSBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”) si risolve a 120.

GETMINUTESBETWEEN

Restituisce il numero di minuti tra due date.

Sintassi: GETMINUTESBETWEEN(“data di inizio”, “data di fine”)

Esempio: GETMINUTESBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”) si risolve a 7200.

SE

Restituisce un valore se l’istruzione è true e un altro valore se l’istruzione è falsa.

Sintassi: IF(istruzione, “value if true”, “value if false”)

Esempio: IF(3 > 2, “maggiore”, “non maggiore”) si risolve in maggiore.

ISBLANK

Restituisce TRUE quando un campo è vuoto e FALSE quando un campo non è vuoto.

Sintassi: ISBLANK(“nome campo”)

Consiglio Q: Poiché ISBLANK è una funzione booleana, non è possibile applicarla direttamente a un attributo. Utilizzarlo come parte di un’espressione che restituisce il risultato nel formato corretto (data, numero o testo).
Esempio: rilevare un campo vuoto e restituire il risultato come stringa di testo. IF(ISBLANK(“”), “vuoto”, “alimentato”) viene risolto come vuoto.
Esempio: rilevare un campo non vuoto e restituire il risultato come numero. IF(ISBLANK(“John”), 0, 1) si risolve in 1.

LEN

Restituisce il numero di lettere in una stringa di testo.

Sintassi: LEN(“text”)

Esempio: LEN(“Contami se puoi”) si risolve a 19.

PIÙ BASSO

Converte il testo in minuscolo.

Sintassi: LOWER(“text”)

Esempio: LOWER(“HELLO”) si risolve a ciao.

MD5HASH

Applica l’hash MD5 ai dati di input per generare ID univoci basati su tali dati.

Sintassi: MD5HASH(“text”)

Esempio: MD5HASH(“Ciao”) si risolve in 543d4abcdc64a9a377c959e4b6e35574.

IDM

Restituisce un numero specifico di caratteri da una stringa di testo, a partire dalla posizione specificata.

La posizione (numero_ordine) inizia da 1.

Sintassi: MID(“testo”, numero_ordine, numero_caratteri)

Esempio: Restituisce 8 caratteri a partire dal primo carattere. MID(“la pratica rende perfetta”, 1, 8) si risolve alla pratica.
Esempio: Restituisce 8 caratteri a partire dal 16° carattere. MID(“la pratica rende perfetto”, 16, 8) si risolve alla perfezione.

MOD

Restituisce il resto quando un numero viene diviso per un divisore.

Qtip: Il risultato ha lo stesso segno di un numero.

Sintassi: MOD(numero, divisore)

Esempio: MOD(7, 4) si risolve a 3.

ORA

Restituisce la data e l’ora correnti. Questa funzione non richiede parametri supplementari.

Sintassi: NOW()

Esempio: NOW() si risolve in 2020-01-29T13:35:09.956Z.

NUMBERTODATE

Converte un timestamp Unix in un campo data. Il timestamp Unix è il numero di millisecondi trascorsi dal 1° gennaio 1970.

Sintassi: NUMBERTODATE(numero)

Qtip: È disponibile una funzione inversa chiamata DATETONUMBER.
Esempio: NUMBERTODATE(1603185120670) si risolve in 2020-10-20T09:12:00.670Z.

NUMBERTOTEXT

Converte un numero in testo.

Sintassi: NUMBERTOTEXT(numero)

Esempio: NUMBERTOTEXT(21) si risolve a 21.

POW

Restituisce il risultato di x alla potenza di y.

Sintassi: POW(x, y)

Esempio: POW(2, 4) si risolve a 16.

PROPERCASO

Applica la lettera maiuscola alla prima lettera di una stringa di testo.

Sintassi: PROPERCASE(“text”)

Esempio: PROPERCASE(“la pratica rende perfetta”) si risolve in Practice rende perfetto.

RANDOM

Restituisce un numero reale casuale compreso tra 0 e 1. Questa funzione non richiede parametri supplementari.

Sintassi: RANDOM()

Esempio: RANDOM() si risolve in 0.7669519868005736.

RANDOMBETWEEN

Restituisce un numero intero casuale compreso tra due numeri.

Qtip: Questa funzione può restituire i numeri minimo e massimo.

Sintassi: RANDOMBETWEEN(numero minimo, numero massimo)

Esempio: RANDOMBETWEEN(1, 10) si risolve in 2.

REMOVEHTMLTAGS

Rimuove i tag HTML da una stringa di testo.

Sintassi: REMOVEHTMLTAGS(“text”)

Esempio: REMOVEHTMLTAGS(“hello“) si risolve a ciao.

SOSTITUISCI

Sostituisce parte di una stringa di testo (“testo precedente”) con una stringa di testo diversa (“nuovo testo”) un numero di volte impostato (number_of_replacements) in base al numero di occorrenza del “testo precedente” all’interno di “text” (numero_occorrenza).

Sintassi: REPLACE(“text”, “old text”, “new text”, occorrence_number, case_sensitive, number_of_replacements)

Esempio: REPLACE(“pensare all’interno della casella”, “dentro”, “fuori”, 1, false, 1) si risolve a pensare al di fuori della casella.

REPLACEBYINDEX

Sostituisce parte di una stringa di testo (“testo precedente”) con una stringa di testo diversa (“nuovo testo”), in base al numero di caratteri specificato.

La posizione (numero_ordine) inizia da 1.

Sintassi: REPLACE(“testo precedente”, numero_ordine, numero_carattere, “nuovo testo”)

Esempio: REPLACEBYINDEX(“pensare dentro la scatola”, 7, 6, “fuori”) si risolve a pensare fuori dagli schemi.

REPLACEBYREGEXP

Sostituisce i valori di testo utilizzando espressioni regolari.

Suggerimento Q: un’espressione regolare è una sequenza di caratteri che definiscono una stringa di ricerca. Per una breve introduzione, vedere Microsoft’s .NET Regular Expressions.
Attenzione: le caratteristiche di codifica personalizzata sono fornite così com’è e richiedono conoscenze di programmazione per l’implementazione. Il Supporto Qualtrics non offre assistenza o consulenza riguardo alla programmazione personalizzata. Puoi invece provare a domandare alla nostra community di utenti esperti. Se desideri maggiori informazioni sui nostri servizi di programmazione personalizzata, contatta il tuo Account Executive Qualtrics.

Sintassi: REPLACEBYREGEXP(“text”, “espressione regolare per pattern matching”, “espressione regolare per valore sostitutivo”)

Suggerimento Q: i caratteri speciali come barre oblique inverse (\), virgolette doppie (“) e virgolette singole (‘) devono essere evasi (ad esempio, prima di esse deve essere aggiunta una barra inversa). Ad esempio, se si desidera utilizzare il motivo che corrisponde a qualsiasi carattere di spazio (\s), sarà necessario eseguire l’escape con una barra obliqua inversa aggiuntiva (\\s).
Esempio: REPLACEBYREGEXP(“Clarabank UK”, “(.)\\s(.)”, “$1;$2”) si risolve in Clarabank;UK.

ROUND

Restituisce il valore di un numero arrotondato all’intero immediatamente successivo.

Sintassi: ROUND(numero)

Esempio: ROUND(22.5) si risolve a 23.

CERCA

Individua una stringa di testo (“Trova testo”) all’interno di un’altra stringa di testo (“all’interno di testo”) e restituisce il numero della posizione iniziale di “Trova testo” dal primo carattere di “all’interno del testo” (a partire da 1).

Consente di specificare l’ordine del carattere in “all’interno del testo” in cui avviare la ricerca (a partire da 1). Se si omette order_number, si presume che sia 1.

Restituisce -1 se “Trova testo” non è presente in “all’interno del testo”.

Sintassi: SEARCH(“trovare testo”, “all’interno del testo”, order_number)

Consiglio Q: la funzione non fa distinzione tra maiuscole e minuscole. Se si intende eseguire una ricerca con distinzione tra maiuscole e minuscole, utilizzare la funzione FIND.
Esempio: SEARCH(“EASY”, “easy come, easy go”, 3) si risolve a 12.

SUBSTITUTE

Sostituisce “testo precedente” con “nuovo testo” in una stringa di testo.

Consente di specificare quale occorrenza del “testo precedente” si desidera sostituire. Se si specifica numero_occorrenza, viene sostituita solo l’istanza di “testo precedente”. In caso contrario, ogni occorrenza di “testo precedente” nel testo viene modificata in “nuovo testo”.

Sintassi: SUBSTITUTE(“text”, “old text”, “new text”, occorrence_number)

Esempio: sostituire la prima occorrenza di “1” con “2”. SUBSTITUTE(“Trimestre 1, 2019”, “1”, “2”, 1) viene risolto in Trimestre 2, 2019.
Esempio: sostituire la seconda occorrenza di “1” con “2”. SUBSTITUTE(“Trimestre 1, 2019”, “1”, “2”, 2) viene risolto in Trimestre 1, 2029.
Esempio: sostituire ogni occorrenza di “1” con “2”: SUBSTITUTE(“Trimestre 1, 2019”, “1”, “2”) viene risolta in Trimestre 2, 2029.

SOTTOSTR

Restituisce una parte di una stringa di testo a partire dal primo carattere della stringa e fino al numero di caratteri specificato (a partire da 1).

Sintassi: SUBSTR(“text”, order_number)

Esempio: SUBSTR(“la pratica rende perfetta”, 9) si risolve alla pratica.

TITLECASE

Applica la lettera maiuscola alla prima lettera di ogni parola di una stringa di testo.

Sintassi: TITLECASE(“text”)

Esempio: TITLECASE(“la pratica rende perfetta”) si risolve in Practice Makes Perfect.

TEXTTODATE

Converte una stringa data in un campo data nel seguente formato: AAAA-MM-GGThh:mm:ssZ.

Sintassi: TEXTTODATE(“data”, “formato data”)

Consiglio Q: il formato data deve riflettere il formato utilizzato nella stringa. Entrambi i parametri sono obbligatori.
Esempio: TEXTTODATE(“2019-12-19”, “YYYY-MM-DD”) viene risolto in 2019-12-19T00:00:00.000Z.

TEXTTONUMBER

Converte il testo in numero.

Sintassi: TEXTTONUMBER(text)

Esempio: da TEXTTONUMBER(21) a 21.

TRANSLATE

Converte i dati in entrata.

Sintassi: TRANSLATE (“codice lingua sorgente”, “codice lingua di destinazione”, “testo”).

Note:

Esempio: TRANSLATE (“en”, “es”, “Hello world”) si risolve a Hola mundo.

TRIMLEFT

Rimuove gli spazi dall’estremità sinistra di una stringa di testo.

Sintassi: TRIMLEFT(“text”)

Esempio: TRIMLEFT(”          ciao”) si risolve a ciao.

TRIMRIGHT

Rimuove gli spazi dall’estremità destra di una stringa di testo.

Sintassi: TRIMRIGHT(“text”)

Esempio: TRIMRIGHT(“ciao             “) si risolve a ciao.

UPPER

Converte il testo in maiuscolo.

Sintassi: UPPER(“text”)

Esempio: UPPER(“ciao”) si risolve in HELLO.

Operatori

È possibile utilizzare gli operatori aritmetici e di confronto elencati nelle seguenti tabelle.

Operatori aritmetici

Operatore Descrizione
+ Aggiungi
Sottrai o nega
* Moltiplica
/ Dividi

Ad esempio, l’espressione seguente restituirà la media dei due valori numerici.

(RATING1 + RATING2) / 2

Operatori di confronto

Operatore Descrizione
== Uguale a
Maggiore di
Minore di
>= Maggiore di o uguale a
<= Minore di o uguale a
!= È diverso da

Ad esempio, l’espressione seguente restituisce “rating errato” quando RATING è minore o uguale a 3 e “buona valutazione” quando RATING è maggiore di 3.

IF(VALUTAZIONE <= 3, "rating errato", "buona valutazione")

Operatori logici

Utilizzare gli operatori logici per specificare più condizioni quando si utilizzano i filtri di job o funzione IF.

Consiglio Q: assicurarsi di utilizzare gli operatori logici in lettere minuscole.
Operatore Descrizione
e La condizione è vera se tutte le condizioni separate da “e” sono vere.
in La condizione è vera se esiste una corrispondenza con uno qualsiasi dei valori elencati.

Sintassi: in[“valore 1”, “valore 2”, “valore 3”]

Consiglio Q: Utilizzarlo al posto di più operatori o.
o La condizione è vera se una qualsiasi delle condizioni separate da “o” è vera.

Ad esempio, la seguente espressione restituirà “Mediterraneo” se il campo PAESE contiene uno qualsiasi dei valori specificati. Altrimenti tornerà “Non-Metiterranean”.

IF(LOWER(COUNTRY) in [“france”, “portugal”, “italy”, “spain”, “greece”, “malta”, “cyprus”], “Mediterranean”, “Non-Mediterranean”)

Suggerimenti sintassi

Seguire i seguenti suggerimenti per evitare espressioni non valide:

  • Quando si combinano più funzioni in un’espressione, assicurarsi che il numero di parentesi di apertura e chiusura corrisponda.
    Esempio: IF(GETDAYSBETWEEN(feedback_date, response_date) > 3, “in ritardo”, “non in ritardo”).
  • Per ogni funzione utilizzata nell’espressione, devono essere presenti tutti gli argomenti richiesti. Ad esempio, la funzione TODATE richiede il corretto funzionamento degli argomenti di formato data e data.
  • Assicurarsi di utilizzare il tipo di dati corretto supportato da una funzione o da un’operazione aritmetica o di confronto. Ad esempio, la funzione ABS richiede un numero per funzionare correttamente e non funziona su un campo di testo o data.
  • Se nell’espressione sono presenti punti (“.”), inserirli con la funzione CAMPO e le virgolette (‘singolo’ o “doppio”). Ad esempio, se si dispone di un campo denominato “agentParticipants.0.agentLoginName”, è possibile inserirlo in una trasformazione potenziale:
    IF(CONTAINS(LOWER(FIELD(“agentParticipants.0.agentLoginName”)), “bot”),”YES”, “NO”).

Molte delle pagine di questo sito sono state tradotte dall'originale in inglese mediante traduzione automatica. Sebbene in Qualtrics abbiamo profuso il massimo impegno per avere le migliori traduzioni automatiche possibili, queste non sono mai perfette. Il testo originale inglese è considerato la versione ufficiale, e qualsiasi discrepanza tra questo e le traduzioni automatiche non è legalmente vincolante.