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


Оператор !in~

Область применения: ✅Microsoft Fabric

Фильтрует набор записей для данных без нечувствительной строки регистра.

В следующей таблице приведено сравнение in операторов:

Оператор Описание С учетом регистра Пример (при true)
in Равно любому из элементов Да "abc" in ("123", "345", "abc")
!in Не соответствует одному из элементов Да "bca" !in ("123", "345", "abc")
in~ Равно любому из элементов нет "Abc" in~ ("123", "345", "abc")
!in~ Не соответствует одному из элементов нет "bCa" !in~ ("123", "345", "ABC")

Примечание.

Вложенные массивы сведены в один список значений. Например, x in (dynamic([1,[2,3]])) преобразуется в x in (1,2,3).

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

Операторы, работающие без учета регистра, сейчас поддерживают только текст ASCII. Для сравнения, отличного от ASCII, используйте функцию tolower( ).

Советы по производительности

Примечание.

Производительность зависит от типа поиска и структуры данных. Рекомендации см. в разделе "Рекомендации по запросу".

По возможности используйте регистр с учетом регистра !in.

Синтаксис

T|whereседловина!in~(выражение, ... )

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

Параметры

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

Возвраты

Строки в T , для которых является trueпредикат.

Пример

Список скалярных

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

StormEvents 
| where State !in~ ("Florida", "Georgia", "New York") 
| count

Выпуск

Численность
54,291

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

В следующем запросе показано, как использовать !in~ динамический массив.

StormEvents 
| where State !in~ (dynamic(["Florida", "Georgia", "New York"])) 
| count

Выпуск

Численность
54291

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

let states = dynamic(["Florida", "Georgia", "New York"]);
StormEvents 
| where State !in~ (states)
| summarize count() by State

Выпуск

Численность
54291

Табличное выражение

В следующем запросе показано, как использовать !in~ встроенное табличное выражение. Обратите внимание, что встроенное табличное выражение должно быть заключено в двойные скобки.

StormEvents 
| where State !in~ (PopulationData | where Population > 5000000 | project State)
| summarize count() by State

Выпуск

Штат считать_
КАНЗАС 3166
АЙОВА 2337
НЕБРАСКА 1766
ОКЛАХОМА 1716
ЮЖНАЯ ДАКОТА 1567
... ...

Тот же запрос также можно записать с помощью инструкции let. Обратите внимание, что двойные скобки, как указано в последнем примере, не нужны в этом случае.

let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents 
| where State !in~ (large_states)
| summarize count() by State

Выпуск

Штат считать_
КАНЗАС 3166
АЙОВА 2337
НЕБРАСКА 1766
ОКЛАХОМА 1716
ЮЖНАЯ ДАКОТА 1567
... ...