SEARCH
aplica-se a:coluna calculada
tabela calculada
medida
cá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_text ou 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 emwithin_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 emwithin_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 |