Compartir a través de


SEARCH

Se aplica a:Columna calculadaTabla calculadaMedidaCálculo visual

Devuelve el número del carácter en el que se encuentra por primera vez un carácter o una cadena de texto específicos, de izquierda a derecha. La búsqueda no distingue entre mayúsculas y minúsculas, y distingue los acentos.

Sintaxis

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

Parámetros

Término Definición
find_text El texto que se quiere buscar.

En find_text puede usar caracteres comodín: el signo de interrogación (?) y el asterisco (*). Un signo de interrogación coincide con cualquier carácter individual; un asterisco coincide con cualquier secuencia de caracteres. Si quiere buscar un signo de interrogación o un asterisco reales, escriba una tilde (~) antes del carácter.
within_text El texto en el que se quiere buscar find_text, o bien una columna que contiene texto.
start_num (Opcional) La posición del carácter en within_text en la que se quiere iniciar la búsqueda. Si se omite, es 1.
NotFoundValue (Opcional, pero recomendado encarecidamente) Valor que se debe devolver cuando la operación no encuentra una subcadena coincidente, normalmente 0, -1 o BLANK(). Si no se especifica, se devolverá un error.

Valor devuelto

El 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.

Notas

  • La función de búsqueda no distingue mayúsculas de minúsculas. Si se busca "N", se encontrará la primera repetición de "N" o "n".

  • La función de búsqueda distingue los acentos. La búsqueda de "á" encontrará la primera repetición de "á", pero no repeticiones de "a", "à" ni de las versiones en mayúsculas "A", "Á".

  • Se puede usar la función SEARCH para determinar la ubicación de un carácter o cadena de texto dentro de otra cadena de texto y, después, usar la función MID para devolver el texto, o bien usar la función REPLACE para cambiarlo.

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

  • Esta función no se admite para su uso en el modo DirectQuery cuando se utiliza en columnas calculadas o en reglas de seguridad de nivel de fila (RLS).

Ejemplo

La siguiente consulta DAX encuentra la posición de la primera letra de "cycle" en la cadena que contiene el nombre del distribuidor. Si no se encuentra, se devuelve Blank.

SEARCH no distingue entre mayúsculas y minúsculas. En este ejemplo, si se usa "cycle" o "Cycle" en el argumento <find_text>, se devuelven resultados para ambos casos. Use FIND para distinguir mayúsculas de minúsculas.

Los ejemplos de este artículo se pueden usar con el modelo de ejemplo de Power BI Desktop de Adventure Works DW 2020. Para obtener el modelo, vea Modelo de ejemplo de DAX.

EVALUATE
CALCULATETABLE (
    ADDCOLUMNS (
        TOPN ( 10, SUMMARIZE('Reseller', [Reseller], [Business Type])),
        "Position of cycle", SEARCH ( "cycle", 'Reseller'[Reseller], 1, BLANK () )
    ),
    'Reseller'[Business Type] IN { "Specialty Bike Shop", "Value Added Reseller", "Warehouse"}
)

Vea que devuelve lo siguiente:

Reseller Business Type (Tipo de empresa) Position of cycle
Volume Bike Sellers Warehouse
Mass Market Bikes Value Added Reseller
Twin Cycles Value Added Reseller 6
Rich Department Store Warehouse
Rental Gallery Specialty Bike Shop
Budget Toy Store Warehouse
Global Sports Outlet Warehouse
Online Bike Catalog Warehouse
Helmets and Cycles Value Added Reseller 13
Jumbo Bikes Specialty Bike Shop

FIND
REPLACE
Funciones de texto