Share via


Función SEARCH (DAX)

Devuelve el número del carácter en el que se encuentra un carácter o una cadena de texto concretos, si se lee de izquierda a derecha. En la búsqueda se distingue entre mayúsculas y minúsculas.

Sintaxis

SEARCH(<find_text>, <within_text>, [start_num])

Parámetros

Término

Definición

find_text

Texto que desea encontrar.

within_text

Texto en el que desea buscar find_text o una columna que lo contiene.

start_num

(opcional) Posición del carácter en within_text en la que desea empezar a buscar. Si se omite, es 1.

Valor de propiedad y valor devuelto

Número de la posición inicial de la primera cadena de texto a partir del primer carácter de la segunda cadena de texto.

Comentarios

Mediante esta función, puede buscar una cadena de texto dentro de otra y se devuelve la posición donde empieza la primera cadena.

Puede utilizar la función SEARCH para determinar la ubicación de un carácter o cadena de texto dentro de otra cadena de texto y, a continuación, utilizar la función MID para devolver el texto, o la función REPLACE para cambiarlo.

Si no se puede encontrar find_text en within_text, la fórmula devuelve un error. Este comportamiento es como Excel, que devuelve #VALOR si no se encuentra la subcadena. Los valores NULL en within_text se interpretarán como una cadena vacía en este contexto.

Ejemplo: buscar dentro de una cadena

Descripción

La siguiente fórmula encuentra la posición de la letra "n" en la palabra "printer".

Código

=SEARCH("n","printer")

Comentarios

La fórmula devuelve 4 porque "n" es el cuarto carácter de la palabra "printer".

Ejemplo: buscar dentro de una columna

Descripción

Puede usar una referencia de columna como un argumento para SEARCH. La siguiente fórmula encuentra la posición del carácter "-" (guión) en la columna [PostalCode].

Código

=SEARCH("-",[PostalCode])

Comentarios

El resultado devuelto es una columna con números, indicando la posición de índice del guión.

Descripción

La fórmula del ejemplo anterior generará un error si la cadena de búsqueda no se encuentra en cada fila de la columna de origen. Por consiguiente, el ejemplo siguiente muestra cómo utilizar IFERROR con la función SEARCH para asegurarse de que se devuelve un resultado válido para cada fila.

La siguiente fórmula encuentra la posición del carácter "-" dentro de la columna y devuelve -1 si no se encuentra la cadena.

Código

= IFERROR(SEARCH("-",[PostalCode]),-1)

Comentarios

Observe que el tipo de datos del valor que usa como salida de error debe coincidir con el tipo de datos del tipo de salida de cuando no hay error. En este caso, usted proporciona un valor numérico para ser generado en caso de un error porque SEARCH devuelve un valor entero.

Sin embargo, también podría devolver un espacio en blanco (cadena vacía) usando BLANK() como el segundo argumento de IFERROR.

Vea también

Referencia

Otros recursos