Función CONCATENATE (DAX)
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 en DAX solo acepta dos argumentos. Si necesita concatenar varias expresiones, 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.
Para usar las cadenas de texto directamente, en lugar de usar una referencia de columna, cada cadena se debe escribir entre comillas.
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]