Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Фильтрует набор записей для данных с любым набором нечувствительных строк регистра.
has_any
ищет индексированные термины, где индексированные термины — три или более символов. Если ваш термин меньше трех символов, запрос сканирует значения в столбце, что медленнее, чем поиск термина в индексе термина.
Дополнительные сведения о других операторах и определении наиболее подходящих операторов для запроса см. в разделе строковых операторов типа данных.
Советы по производительности
Примечание.
Если используются более 128 терминов поиска, оптимизация поиска текстовых индексов отключена, что может привести к снижению производительности запросов.
Синтаксис
T|
where
colhas_any
(
expression ...,
)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Тип | Обязательно | Описание |
---|---|---|---|
T | string |
✔️ | Табличные входные данные для фильтрации. |
седловина | string |
✔️ | Столбец, по которому необходимо отфильтровать. |
выражение | скалярный или табличный | ✔️ | Выражение, указывающее значения, для которых выполняется поиск. Каждое выражение может быть скалярным значением или табличным выражением, которое создает набор значений. Если табличное выражение содержит несколько столбцов, используется первый столбец. Поиск рассмотрит до 10 000 различных значений. |
Примечание.
Встроенное табличное выражение должно быть заключено в двойные скобки.
Возвраты
Строки в T, для которых предикат имеет значение true
.
Примеры
В следующем запросе показано, как использовать has_any
с разделенным запятыми список скалярных значений.
StormEvents
| where State has_any ("CAROLINA", "DAKOTA", "NEW")
| summarize count() by State
Выходные данные
Штат | считать_ |
---|---|
НЬЮ-ЙОРК | 1750 |
СЕВЕРНАЯ КАРОЛИНА | 1721 |
ЮЖНАЯ ДАКОТА | 1567 |
НЬЮ-ДЖЕРСИ | 1044 |
ЮЖНАЯ КАРОЛИНА | 915 |
СЕВЕРНАЯ ДАКОТА | 905 |
НЬЮ-МЕКСИКО | 527 |
НЬЮ-ХЭМПШИР | 394 |
В следующем запросе показано, как использовать has_any
динамический массив.
StormEvents
| where State has_any (dynamic(['south', 'north']))
| summarize count() by State
Выходные данные
Штат | считать_ |
---|---|
СЕВЕРНАЯ КАРОЛИНА | 1721 |
ЮЖНАЯ ДАКОТА | 1567 |
ЮЖНАЯ КАРОЛИНА | 915 |
СЕВЕРНАЯ ДАКОТА | 905 |
ЮЖНАЯ АТЛАНТИКА | 193 |
АТЛАНТИЧЕСКИЙ СЕВЕР | 188 |
Тот же запрос также можно записать с помощью инструкции let.
let areas = dynamic(['south', 'north']);
StormEvents
| where State has_any (areas)
| summarize count() by State
Выходные данные
Штат | считать_ |
---|---|
СЕВЕРНАЯ КАРОЛИНА | 1721 |
ЮЖНАЯ ДАКОТА | 1567 |
ЮЖНАЯ КАРОЛИНА | 915 |
СЕВЕРНАЯ ДАКОТА | 905 |
ЮЖНАЯ АТЛАНТИКА | 193 |
АТЛАНТИЧЕСКИЙ СЕВЕР | 188 |
В следующем запросе показано, как использовать has_any
встроенное табличное выражение. Обратите внимание, что встроенное табличное выражение должно быть заключено в двойные скобки.
StormEvents
| where State has_any ((PopulationData | where Population > 5000000 | project State))
| summarize count() by State
Выходные данные
Штат | считать_ |
---|---|
ТЕХАС | 4701 |
ИЛЛИНОЙС | 2022 |
МИССУРИ | 2016 |
ДЖОРДЖИЯ | 1983 |
МИННЕСОТА | 1881 |
... | ... |
Тот же запрос также можно записать с помощью инструкции let. Обратите внимание, что двойные скобки, как указано в последнем примере, не нужны в этом случае.
let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents
| where State has_any (large_states)
| summarize count() by State
Выходные данные
Штат | считать_ |
---|---|
ТЕХАС | 4701 |
ИЛЛИНОЙС | 2022 |
МИССУРИ | 2016 |
ДЖОРДЖИЯ | 1983 |
МИННЕСОТА | 1881 |
... | ... |