CONCATENATE |
Concaténation |
| DAX (Data Analysis Expressions) |
Syntaxe
|
CONCATENATE(text1, text2)
|
Paramètres
| Nom |
Description |
| text1 |
Ce paramètre permet de spécifier la première chaîne de texte à concaténer. Elle peut être une constante, une colonne ou une expression textuelle. |
| text2 |
Ce paramètre permet de spécifier la deuxième chaîne de texte à concaténer à la suite de la première, sans délimiteur automatique. |
Description
Cette fonction permet de joindre deux chaînes de texte en une seule chaîne.
Remarques
- Fonction de concaténation simple : La fonction CONCATENATE permet de joindre exactement deux chaînes de texte en une seule. Contrairement à COMBINEVALUES,
elle ne gère pas de séparateur automatique et ne peut pas combiner plus de deux valeurs à la fois. Pour concaténer plusieurs colonnes, il faut donc imbriquer plusieurs
appels à CONCATENATE ou utiliser d'autres fonctions comme CONCATENATEX ou COMBINEVALUES.
- Paramètres text1 et text2 : Les paramètres text1 et text2 permettent de spécifier les chaînes de texte ou colonnes à joindre. Ces
paramètres peuvent être des constantes textuelles, des colonnes existantes dans le modèle, ou des expressions DAX retournant du texte. Il est important que chaque
expression retourne un type compatible texte, sinon DAX convertira automatiquement les valeurs numériques.
- Limitation à deux chaînes : CONCATENATE ne prend que deux arguments. Si l'on souhaite combiner trois chaînes ou plus, il est nécessaire d'imbriquer plusieurs
fonctions CONCATENATE, ce qui peut rendre les formules longues et moins lisibles. Par exemple, CONCATENATE(CONCATENATE(A, B), C) est équivalent à concaténer A, B et C, mais
nécessite une structure imbriquée.
- Absence de séparateur automatique : CONCATENATE ne met pas de séparateur entre les deux chaînes. Si l'on souhaite insérer un espace, un tiret ou toute autre
ponctuation, il faut l'ajouter explicitement dans l'une des chaînes. Par exemple, pour concaténer le prénom et le nom avec un espace : CONCATENATE(prénom, " " & nom).
- Conversion automatique des types : Lorsque les valeurs passées à CONCATENATE ne sont pas des chaînes de texte, DAX effectue une conversion implicite. Les nombres,
dates ou booléens sont convertis en texte avant la concaténation. Il est toutefois recommandé de contrôler ces conversions pour éviter des formats inattendus dans les
rapports.
- Comparaison avec CONCATENATEX : CONCATENATE est différente de CONCATENATEX, qui permet de concaténer toutes les lignes d'une table en évaluant une expression
et en insérant un séparateur. CONCATENATE est donc plus adaptée aux cas simples de concaténation ligne par ligne, tandis que CONCATENATEX est utilisée pour les agrégations
sur une table entière.
- Applications pratiques : Cette fonction est couramment utilisée pour combiner deux champs texte en une colonne calculée, comme joindre le prénom et le nom d'un
client, ou combiner un code produit et une description. Elle est simple à utiliser pour les cas basiques mais peut devenir lourde pour des concaténations multiples ou des
colonnes dynamiques.
- Performance et lisibilité : CONCATENATE est performante pour les petites concaténations et facile à lire. Cependant, son utilisation répétée avec des formules
imbriquées peut nuire à la lisibilité et à la maintenance du modèle. Pour des modèles complexes ou des concaténations multiples, il est recommandé de privilégier COMBINEVALUES
ou CONCATENATEX afin de garder les formules plus claires et optimisées.
Dernière mise à jour : Vendredi, le 30 Mai 2025