Sdílet prostřednictvím


operátor in~

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

Filtruje sadu záznamů pro data pomocí řetězce nerozlišujícího velká a malá 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:

Pokud se používá více než 128 hledaných termínů, je optimalizace vyhledávání v textovém indexu zakázaná, což může vést ke snížení výkonu dotazů.

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.

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říklady

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
4775

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
4775

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

let states = dynamic(["FLORIDA", "georgia", "NEW YORK"]);
StormEvents 
| where State has_any (states)
| summarize count() by State

Výstup

Počet
4775

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
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEORGIA 1983
MINNESOTA 1881
... ...

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
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEORGIA 1983
MINNESOTA 1881
... ...