Funzione CONCATENATE (DAX)
Unisce due stringhe di testo in una singola stringa.
Sintassi
CONCATENATE(<text1>, <text2>)
Parametri
Termine |
Definizione |
---|---|
text1, text2. |
Stringhe di testo da unire in una singola stringa. Le stringhe possono includere testo o numeri. È inoltre possibile utilizzare riferimenti a colonne. |
Valore restituito
Stringa concatenata.
Osservazioni
La funzione CONCATENATE consente di unire due stringhe di testo in una singola stringa. Gli elementi uniti possono includere testo, numeri o valori booleani rappresentati come testo, o una combinazione di tali elementi. È possibile utilizzare anche un riferimento a colonna se questa dispone di valori appropriati.
La funzione CONCATENATE in DAX accetta solo due argomenti. Per concatenare più espressioni è possibile creare una serie di calcoli o, meglio, usare l'operatore di concatenazione (&) per unire tutte le espressioni in un'espressione più semplice.
Se si desidera utilizzare direttamente stringhe di testo, piuttosto che utilizzare un riferimento a colonna, è necessario racchiudere ogni stringa tra virgolette doppie.
Esempio: Concatenazione di valori letterali
Descrizione
La formula di esempio crea un nuovo valore stringa combinando due valori stringa forniti come argomenti.
Codice
=CONCATENATE("Hello ", "World")
Esempio: Concatenazione di stringhe nelle colonne
Descrizione
La formula di esempio restituisce il nome completo del cliente come elencato in una rubrica telefonica. Si noti come una funzione nidificata viene utilizzata come secondo argomento. Questo rappresenta un modo per concatenare più stringhe se si dispone di più di due valori che si desidera utilizzare come argomenti.
Codice
=CONCATENATE(Customer[LastName], CONCATENATE(", ", Customer[FirstName]))
Esempio: Concatenazione condizionale di stringhe nelle colonne
Descrizione
La formula di esempio crea una nuova colonna calcolata nella tabella Customer con il nome completo del cliente dato dalla combinazione di nome, secondo nome e cognome. Se non è presente un secondo nome, il cognome seguirà immediatamente il nome. Se è presente un secondo nome, verrà utilizzata solo l'iniziale di tale nome seguita da un punto.
Codice
=CONCATENATE( [FirstName]&" ", CONCATENATE( IF( LEN([MiddleName])>1, LEFT([MiddleName],1)&" ", ""), [LastName]))
Commenti
La formula utilizza funzioni CONCATENATE e IF nidificate insieme all'operatore e commerciale (&) per eseguire una concatenazione condizionale di tre valori stringa e per aggiungere spazi come separatori.
Esempio: Concatenazione di colonne con tipi di dati diversi
Nell'esempio seguente viene illustrato come concatenare valori in colonne che dispongono di tipi di dati diversi. Se il valore che si concatena è numerico, il valore sarà convertito in modo implicito in testo. Se i valori sono entrambi numerici, verrà eseguito il cast al testo di entrambi e saranno concatenati come se fossero stringhe.
Descrizione prodotto |
Abbreviazione del prodotto (colonna 1 di chiave composta) |
Numero di prodotto (colonna 2 di chiave composta) |
Nuova colonna chiave generata |
---|---|---|---|
Mountain bike |
MTN |
40 |
MTN40 |
Mountain bike |
MTN |
42 |
MTN42 |
Codice
=CONCATENATE('Products'[Product abbreviation],'Products'[Product number])
Commenti
La funzione CONCATENATE in DAX accetta solo due argomenti, mentre la funzione CONCATENATE di Excel accetta fino a 255 argomenti. Se è necessario aggiungere più argomenti, è possibile utilizzare l'operatore e commerciale (&). Ad esempio, nella formula seguente vengono prodotti i risultati, MTN-40 e MTN-42.
=[Product abbreviation] & "-" & [Product number]