!in~ – operátor

Filtruje sadu záznamů pro data bez řetězce bez rozlišování velkých a malých písmen.

Následující tabulka obsahuje porovnání in operátorů:

Operátor Popis Case-Sensitive Příklad (výnosy true)
in Rovná se jednomu z prvků. Yes "abc" in ("123", "345", "abc")
!in Nerovná se žádnému z prvků. Yes "bca" !in ("123", "345", "abc")
in~ Rovná se některému z prvků. No "Abc" in~ ("123", "345", "abc")
!in~ Nerovná se žádnému z prvků. No "bCa" !in~ ("123", "345", "ABC")

Poznámka

Vnořená pole se zploštějí do jednoho seznamu hodnot. Například se x in (dynamic([1,[2,3]])) stane x in (1,2,3).

Další informace o dalších operátorech a určení operátoru, který je pro váš dotaz nejvhodnější, najdete v tématu Operátory řetězců datových typů.

Operátory bez rozlišování velkých a malých písmen jsou v současné době podporovány pouze pro text ASCII. Pro porovnání mimo ASCII použijte funkci tolower().

Tipy pro zvýšení výkonu

Poznámka

Výkon závisí na typu vyhledávání a struktuře dat. Osvědčené postupy najdete v tématu Osvědčené postupy pro dotazy.

Pokud je to možné, použijte ! in s rozlišováním velkých a malých písmen.

Syntax

T|whereCol!in~(Výraz, ... )

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
T string ✔️ Tabulkový vstup, který se má filtrovat.
Col string ✔️ Sloupec, podle kterého chcete filtrovat.
expression skalární nebo tabulkové ✔️ Výraz, který určuje hodnoty, pro které se mají hledat. Každý výraz může být skalární hodnotou nebo tabulkovým výrazem , který vytvoří sadu hodnot. Pokud má tabulkový výraz více sloupců, použije se první sloupec. Hledání bude brát v úvahu až 1 000 000 jedinečných hodnot.

Návraty

Řádky v T , pro které je truepredikát .

Příklad

Seznam skalárů

Následující dotaz ukazuje, jak používat !in~ seznam skalárních hodnot oddělených čárkami.

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

Výstup

Počet
54,291

Dynamické pole

Následující dotaz ukazuje, jak používat !in~ dynamické pole.

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

Výstup

Počet
54291

Stejný dotaz lze také zapsat pomocí příkazu let.

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

Výstup

Počet
54291

Tabulkový výraz

Následující dotaz ukazuje, jak použít !in~ s vloženým tabulkovým výrazem. Všimněte si, že vložený tabulkový výraz musí být uzavřený pomocí dvojitých závorek.

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

Výstup

Stav Počet_
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
JIŽNÍ DAKOTA 1567
... ...

Stejný dotaz lze také zapsat pomocí příkazu let. Všimněte si, že dvojité závorky uvedené v posledním příkladu nejsou v tomto případě nutné.

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

Výstup

Stav Počet_
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
JIŽNÍ DAKOTA 1567
... ...