Sdílet prostřednictvím


!in~ – operátor

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

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

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.

Pokud je to možné, použijte velká a malá písmena !in.

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
54,291

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 COUNT
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 COUNT
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
SOUTH DAKOTA 1 567
... ...