operador has_any
Filtra um conjunto de registos para dados com qualquer conjunto de cadeias não sensíveis a maiúsculas e minúsculas. has_any
procura termos indexados, em que um termo indexado tem três ou mais carateres. Se o termo for inferior a três carateres, a consulta analisa os valores na coluna, o que é mais lento do que procurar o termo no índice de termos.
Para obter mais informações sobre outros operadores e determinar qual o operador mais adequado para a sua consulta, veja operadores de cadeias de tipo de dados.
Syntax
T|
where
colhas_any
(
expressão,
... )
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Necessário | Descrição |
---|---|---|---|
T | string |
✔️ | A entrada tabular a filtrar. |
col | string |
✔️ | A coluna pela qual filtrar. |
expression | escalar ou tabular | ✔️ | Uma expressão que especifica os valores para os quais procurar. 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 múltiplas colunas, é utilizada a primeira coluna. A pesquisa considerará até 10 000 valores distintos. |
Nota
Uma expressão tabular inline tem de estar entre parênteses duplos. Veja o exemplo.
Devoluções
Linhas em T para as quais o predicado é true
.
Exemplos
Lista de escalares
A consulta seguinte mostra como utilizar 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 |
CAROLINA DO NORTE | 1721 |
DAKOTA DO SUL | 1567 |
NOVA JERSEY | 1044 |
CAROLINA DO SUL | 915 |
DAKOTA DO NORTE | 905 |
NOVO MÉXICO | 527 |
NEW HAMPSHIRE | 394 |
Matriz dinâmica
A consulta seguinte mostra como utilizar has_any
com uma matriz dinâmica.
StormEvents
| where State has_any (dynamic(['south', 'north']))
| summarize count() by State
Saída
Estado | count_ |
---|---|
CAROLINA DO NORTE | 1721 |
DAKOTA DO SUL | 1567 |
CAROLINA DO SUL | 915 |
DAKOTA DO NORTE | 905 |
SUL DO ATLÂNTICO | 193 |
NORTE DO ATLÂNTICO | 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_ |
---|---|
CAROLINA DO NORTE | 1721 |
DAKOTA DO SUL | 1567 |
CAROLINA DO SUL | 915 |
DAKOTA DO NORTE | 905 |
SUL DO ATLÂNTICO | 193 |
NORTE DO ATLÂNTICO | 188 |
Expressão tabular
A consulta seguinte mostra como utilizar has_any
com uma expressão tabular inline. Repare que uma expressão tabular inline tem de estar 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. Repare que os parênteses duplos, conforme indicado 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 |
... | ... |
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários