Compartilhar via


SEARCH

aplica-se a:coluna calculadatabela calculadamedidacálculo visual

Retorna o número do caractere no qual um caractere específico ou cadeia de caracteres de texto é encontrado pela primeira vez, lendo da esquerda para a direita. A pesquisa não diferencia maiúsculas de minúsculas e acentos.

Sintaxe

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

Parâmetros

Termo Definição
find_text O texto que você deseja encontrar.

Você pode usar caracteres curinga — o ponto de interrogação (?) e o asterisco (*) — em find_text. Um ponto de interrogação corresponde a qualquer caractere único; um asterisco corresponde a qualquer sequência de caracteres. Se você quiser encontrar um ponto de interrogação ou um asterisco real, digite um bloco (~) antes do caractere.
within_text O texto no qual você deseja pesquisar find_textou uma coluna contendo texto.
start_num (opcional) A posição do caractere em within_text em que você deseja começar a pesquisar. Se omitido, 1.
NotFoundValue (opcional, mas altamente recomendado) O valor que deve ser retornado quando a operação não encontrar uma subcadeia de caracteres correspondente, normalmente 0, -1 ou BLANK(). Se não for especificado, um erro será retornado.

Valor de retorno

O número da posição inicial da primeira cadeia de caracteres de texto do primeiro caractere da segunda cadeia de caracteres de texto.

Comentários

  • A função de pesquisa não diferencia maiúsculas de minúsculas. Pesquisar "N" encontrará a primeira ocorrência de 'N' ou 'n'.

  • A função de pesquisa diferencia ênfase. A pesquisa por "á" encontrará a primeira ocorrência de 'á', mas nenhuma ocorrência de 'a', 'à' ou as versões maiúsculas 'A', 'Á'.

  • Você pode usar a função SEARCH para determinar o local de uma cadeia de caracteres ou de texto dentro de outra cadeia de texto e, em seguida, usar a função MID para retornar o texto ou usar a função REPLACE para alterar o texto.

  • Se o find_text não puder ser encontrado em within_text, a fórmula retornará um erro. Esse comportamento é como o Excel, que retorna #VALUE se a subcadeia de caracteres não for encontrada. Os nulos em within_text serão interpretados como uma cadeia de caracteres vazia nesse contexto.

  • Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).

Exemplo

A consulta DAX a seguir localiza a posição da primeira letra de "cycle", na cadeia de caracteres que contém o nome do revendedor. Se não for encontrado, Blank será retornado.

SEARCH não diferencia maiúsculas de minúsculas. Neste exemplo, se "cycle" ou "Cycle" for usado no argumento find_text, os resultados serão retornados para ambos os casos. Use FIND para diferenciar maiúsculas de minúsculas.

Exemplos neste artigo podem ser usados com o modelo adventure works dw 2020 power bi desktop de exemplo. Para obter o modelo, consulte DAX modelo de exemplo.

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"}
)

Retorna:

Reseller Business Type Posição do ciclo
Volume Bike Sellers Warehouse
Mass Market Bikes Revendedor de Valor Adicionado
Twin Cycles Revendedor de Valor Adicionado 6
Rich Department Store Warehouse
Rental Gallery Specialty Bike Shop
Budget Toy Store Warehouse
Global Sports Outlet Warehouse
Online Bike Catalog Warehouse
Capacetes e ciclos Revendedor de Valor Adicionado 13
Jumbo Bikes Specialty Bike Shop

Funções de texto FINDREPLACE