Función CONCATENATE
Combina dos cadenas de texto en una sola.
Sintaxis
CONCATENATE(<text1>, <text2>)
Parámetros
Término |
Definición |
---|---|
text1, text2 |
Cadenas de texto que se van a combinar en una única cadena de texto. Las cadenas pueden incluir texto o números. También puede utilizar referencias de columna. |
Valor devuelto
Cadena concatenada.
Comentarios
La función CONCATENATE combina dos cadenas de texto en una. Los elementos combinados pueden ser texto, números o valores booleanos representados como texto, o una combinación de dichos elementos. También se puede usar una referencia de columna si la columna contiene los valores adecuados.
La función CONCATENATE de DAX acepta solo dos argumentos, mientras que la función CONCATENATE de Excel acepta hasta 255 argumentos. Si necesita concatenar varias columnas, puede crear una serie de cálculos o, mejor, utilizar el operador de concatenación (&) para unir todos ellos en una expresión más sencilla.
Si desea usar cadenas de texto directamente, en lugar de usar una referencia de columna, cada cadena se debe escribir entre comillas dobles.
Esta función de DAX puede devolver distintos resultados cuando se usa en un modelo implementado y consultado en modo DirectQuery. Para obtener más información acerca de las diferencias de semántica en el modo DirectQuery, vea https://go.microsoft.com/fwlink/?LinkId=219171.
Ejemplo: concatenación de literales
Descripción
La fórmula del ejemplo crea un nuevo valor de cadena combinando los dos valores de cadena que proporciona como argumentos.
Código
=CONCATENATE("Hello ", "World")
Ejemplo: concatenación de cadenas en columnas
Descripción
La fórmula del ejemplo devuelve el nombre completo del cliente tal como aparece en una libreta de teléfonos. Observe cómo se utiliza una función anidada como segundo argumento. Es una manera de concatenar varias cadenas, cuando tiene más de dos valores que desea utilizar como argumentos.
Código
=CONCATENATE(Customer[LastName], CONCATENATE(", ", Customer[FirstName]))
Ejemplo: concatenación condicional de cadenas en columnas
Descripción
La fórmula del ejemplo crea una nueva columna calculada en la tabla Cliente con el nombre completo del cliente como una combinación de nombre, iniciales y apellido. Si no hay iniciales, el apellido viene directamente detrás del nombre. Si hay iniciales, se utiliza solo la primera con un punto.
Código
=CONCATENATE( [FirstName]&" ", CONCATENATE( IF( LEN([MiddleName])>1, LEFT([MiddleName],1)&" ", ""), [LastName]))
Comentarios
Esta fórmula utiliza las funciones anidadas CONCATENE e IF, junto con el operador de y comercial (&), para concatenar condicionalmente tres valores de cadena y agregar los espacios como separadores.
Ejemplo: concatenación de columnas con tipos de datos distintos
En el siguiente ejemplo se muestra cómo concatenar los valores columnas que tienen tipos de datos distintos. Si el valor que se concatena es numérico, se convertirá implícitamente en texto. Si los dos valores son numéricos, los dos se convertirán en texto y se concatenarán como si fueran cadenas.
Descripción del producto |
Abreviatura del producto (columna 1 de clave compuesta) |
Número del producto (columna 2 de clave compuesta) |
Nueva columna de clave generada |
---|---|---|---|
Mountain bike |
MTN |
40 |
MTN40 |
Mountain bike |
MTN |
42 |
MTN42 |
Código
=CONCATENATE('Products'[Product abbreviation],'Products'[Product number])
Comentarios
La función CONCATENATE de DAX acepta solo dos argumentos, mientras que la función CONCATENATE de Excel acepta hasta 255 argumentos. Si necesita agregar más argumentos, puede usar el operador Y comercial (&). Por ejemplo, la siguiente fórmula genera los resultados MTN-40 y MTN-42.
=[Product abbreviation] & "-" & [Product number]