Поделиться через


Оператор has_all

Фильтрует набор записей для данных с одной или несколькими строками поиска без учета регистра. has_all ищет индексированные термины, где индексированные термины — три или более символов. Если ваш термин меньше трех символов, запрос сканирует значения в столбце, что медленнее, чем поиск термина в индексе термина.

Дополнительные сведения о других операторах и определении наиболее подходящих операторов для запроса см. в разделе строковых операторов типа данных.

Синтаксис

T | where col (has_all expression ...,)

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
T string ✔️ Табличные входные данные для фильтрации.
col string ✔️ Столбец, по которому необходимо отфильтровать.
выражение скалярный или табличный ✔️ Выражение, указывающее значения, для которых выполняется поиск. Каждое выражение может быть скалярным значением или табличным выражением , которое создает набор значений. Если табличное выражение содержит несколько столбцов, используется первый столбец. Поиск будет рассматривать до 256 различных значений.

Возвраты

Строки в T, для которых предикат имеет значение true.

Примеры

Набор скалярных

В следующем запросе показано, как использовать has_all с разделенным запятыми набор скалярных значений.

StormEvents 
| where EpisodeNarrative has_all ("cold", "strong", "afternoon", "hail")
| summarize Count=count() by EventType
| top 3 by Count

Выходные данные

EventType Count
Ураганный ветер 517
Град 392
Паводок 24

Динамический массив

Такой же результат можно достичь с помощью нотации динамического массива.

StormEvents 
| where EpisodeNarrative has_all (dynamic(["cold", "strong", "afternoon", "hail"]))
| summarize Count=count() by EventType
| top 3 by Count

Выходные данные

EventType Count
Ураганный ветер 517
Град 392
Паводок 24

Тот же запрос также можно записать с помощью инструкции let.

let criteria = dynamic(["cold", "strong", "afternoon", "hail"]);
StormEvents 
| where EpisodeNarrative has_all (criteria)
| summarize Count=count() by EventType
| top 3 by Count
EventType Count
Ураганный ветер 517
Град 392
Паводок 24