SEARCH
Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual
Retorna o número do caractere no qual um caractere específico ou uma cadeia de texto é encontrada pela primeira vez, lendo da esquerda para a direita. A pesquisa não diferencia maiúsculas de minúsculas e diferencia 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 localizar um ponto de interrogação ou um asterisco real, digite um til (~) 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 iniciar a pesquisa. Se omitido, 1. |
NotFoundValue | (opcional, mas recomendado) O valor que deverá ser retornado quando a operação não encontrar uma substring correspondente, normalmente 0, -1 ou BLANK(). Se não for especificado, um erro será retornado. |
Valor retornado
O número da posição inicial da primeira cadeia de texto do primeiro caractere da segunda cadeia de texto.
Comentários
A função de pesquisa não diferencia maiúsculas de minúsculas. A pesquisa por "N" encontrará a primeira ocorrência de "N" ou "n".
A função de pesquisa diferencia acentos. Pesquisar por "á" encontrará a primeira ocorrência de "á", mas nenhuma ocorrência de "a", "à" ou das versões em maiúsculas, "A" e "Á".
Você pode usar a função de pesquisa para determinar a localização de um caractere ou de uma cadeia 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 find_text não puder ser encontrado em within_text, a fórmula retornará um erro. Esse comportamento é como o do Excel, que retorna #VALUE se a substring não for encontrada. Os valores nulos em within_text serão interpretados como uma cadeia de caracteres vazia neste contexto.
Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em nível de linha) ou colunas calculadas.
Exemplo
A consulta DAX a seguir encontra a posição da primeira letra de "ciclo" 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 e minúsculas. Neste exemplo, se "cycle" ou "Cycle" for usado no argumento <find_text>, os resultados serão retornados em qualquer caso. Use FIND para diferenciar maiúsculas de minúsculas.
Os exemplos deste artigo podem ser usados com o modelo de exemplo do Power BI Desktop do Adventure Works DW 2020. Para obter o modelo, confira Modelo de exemplo 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"}
)
Retorna:
Reseller | Business Type | Posição do ciclo |
---|---|---|
Volume Bike Sellers | Warehouse | |
Mass Market Bikes | Revendedor de Valor Agregado | |
Twin Cycles | Revendedor de Valor Agregado | 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 | Revendedor de Valor Agregado | 13 |
Jumbo Bikes | Specialty Bike Shop |