operador has_any
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Filtra um conjunto de registros para dados com qualquer conjunto de cadeias de caracteres que não diferenciam maiúsculas de minúsculas. has_any
Pesquisas por termos indexados, em que um termo indexado tem três ou mais caracteres. Se o termo tiver menos de três caracteres, a consulta examinará os valores na coluna, o que é mais lento do que pesquisar o termo no índice de termos.
Para obter mais informações sobre outros operadores e determinar qual operador é mais apropriado para sua consulta, consulte operadores de cadeia de caracteres de tipo de dados.
Dicas de desempenho
Observação
Quando mais de 128 termos de pesquisa são usados, a otimização de pesquisa de índice de texto é desabilitada, o que pode levar a um desempenho de consulta reduzido.
Sintaxe
T |
where
colhas_any
(
expressão ...,
)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
T | string |
✔️ | A entrada tabular a ser filtrada. |
col | string |
✔️ | A coluna pela qual filtrar. |
expressão | escalar ou tabular | ✔️ | Uma expressão que especifica os valores a serem pesquisados. Cada expressão pode ser um valor escalar ou uma expressão tabular que produz um conjunto de valores. Se uma expressão tabular tiver várias colunas, a primeira coluna será usada. A pesquisa considerará até 10.000 valores distintos. |
Observação
Uma expressão tabular embutida deve ser colocada entre parênteses duplos. Confira o exemplo.
Devoluções
As linhas em T para as quais o predicado é true
.
Exemplos
Lista de escalares
A consulta a seguir mostra como usar has_any
com uma lista separada por vírgulas de valores escalares.
StormEvents
| where State has_any ("CAROLINA", "DAKOTA", "NEW")
| summarize count() by State
Saída
Estado | count_ |
---|---|
NEW YORK | 1750 |
NORTH CAROLINA | 1721 |
DAKOTA DO SUL | 1567 |
NEW JERSEY | 1044 |
SOUTH CAROLINA | 915 |
DAKOTA DO NORTE | 905 |
NEW MEXICO | 5:27 |
NEW HAMPSHIRE | 394 |
Matriz dinâmica
A consulta a seguir mostra como usar has_any
com uma matriz dinâmica.
StormEvents
| where State has_any (dynamic(['south', 'north']))
| summarize count() by State
Saída
Estado | count_ |
---|---|
NORTH CAROLINA | 1721 |
DAKOTA DO SUL | 1567 |
SOUTH CAROLINA | 915 |
DAKOTA DO NORTE | 905 |
ATLÂNTICO SUL | 193 |
ATLANTIC NORTH | 188 |
A mesma consulta também pode ser escrita com uma instrução let.
let areas = dynamic(['south', 'north']);
StormEvents
| where State has_any (areas)
| summarize count() by State
Saída
Estado | count_ |
---|---|
NORTH CAROLINA | 1721 |
DAKOTA DO SUL | 1567 |
SOUTH CAROLINA | 915 |
DAKOTA DO NORTE | 905 |
ATLÂNTICO SUL | 193 |
ATLANTIC NORTH | 188 |
Expressão tabular
A consulta a seguir mostra como usar has_any
com uma expressão tabular embutida. Observe que uma expressão tabular embutida deve ser colocada entre parênteses duplos.
StormEvents
| where State has_any ((PopulationData | where Population > 5000000 | project State))
| summarize count() by State
Saída
Estado | count_ |
---|---|
TEXAS | 4701 |
ILLINOIS | 2022 |
MISSOURI | 2016 |
GEÓRGIA | 1983 |
MINNESOTA | 1881 |
... | ... |
A mesma consulta também pode ser escrita com uma instrução let. Observe que os parênteses duplos, conforme fornecido no último exemplo, não são necessários neste caso.
let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents
| where State has_any (large_states)
| summarize count() by State
Saída
Estado | count_ |
---|---|
TEXAS | 4701 |
ILLINOIS | 2022 |
MISSOURI | 2016 |
GEÓRGIA | 1983 |
MINNESOTA | 1881 |
... | ... |