Sdílet prostřednictvím


!in – operátor

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Filtruje sadu záznamů pro data bez řetězce citlivého na malá a velká písmena.

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

Operátor Popis Rozlišovat malá a velká písmena Příklad (výnosy true)
in Rovná se jednomu z prvků. Ano "abc" in ("123", "345", "abc")
!in Nerovná se žádnému z prvků. Ano "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é matice jsou zploštěny do jednoho seznamu hodnot. Například z x in (dynamic([1,[2,3]])) se stane x in (1,2,3).

Další informace o jiných operátorech a určení, který operátor je pro váš dotaz nejvhodnější, najdete v tématu operátory řetězce datového typu.

Operátory nerozlišující malá a velká písmena se v současné době podporují jenom pro text ASCII. Pro porovnání jiného typu než ASCII použijte funkci tolower().

Tipy týkající se 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.

Syntaxe

Výraz T | where col ... !in (,)

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

Parametry

Název Type Požadováno Popis
T string ✔️ Tabulkový vstup pro filtrování.
průsmyk string ✔️ Sloupec, podle kterého chcete filtrovat.
výraz 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í hodnota nebo tabulkový výraz , který vytváří sadu hodnot. Pokud má tabulkový výraz více sloupců, použije se první sloupec. Hledání bude zvažovat 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 se používá !in se seznamem skalárních hodnot oddělených čárkami.

StormEvents 
| where State !in ("FLORIDA", "GEORGIA", "NEW YORK") 
| count

Výstup

Počet
54291

Dynamické pole

Následující dotaz ukazuje, jak se používá !in s dynamickým polem.

StormEvents 
| where State !in (dynamic(["FLORIDA", "GEORGIA", "NEW YORK"])) 
| count

Výstup

Počet
54291

Stejný dotaz lze také napsat 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 se používá !in s vloženým tabulkovým výrazem. Všimněte si, že vložený tabulkový výraz musí být uzavřený s dvojitými závorky.

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

Výstup

State Počet
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
SOUTH DAKOTA 1 567
... ...

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

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

Výstup

State Počet
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
SOUTH DAKOTA 1 567
... ...