Operátor has_any

Filtruje sadu záznamů pro data s libovolnou sadou řetězců bez rozlišování velkých a malých písmen. has_any vyhledá indexované termíny, kde indexovaný termín má tři nebo více znaků. Pokud má termín méně než tři znaky, dotaz prohledá hodnoty ve sloupci, což je pomalejší než vyhledávání termínu v indexu termínu.

Další informace o jiný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ů.

Syntax

T|whereColhas_any(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ž 10 000 jedinečných hodnot.

Poznámka

Vložený tabulkový výraz musí být uzavřený pomocí dvojitých závorek. Viz příklad.

Návraty

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

Příklady

Seznam skalárů

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

StormEvents 
| where State has_any ("CAROLINA", "DAKOTA", "NEW") 
| summarize count() by State

Výstup

Stav Počet_
NEW YORK 1750
SEVERNÍ KAROLÍNA 1721
JIŽNÍ DAKOTA 1567
NEW JERSEY 1044
JIŽNÍ KAROLÍNA 915
SEVERNÍ DAKOTA 905
NOVÉ MEXIKO 527
NEW HAMPSHIRE 394

Dynamické pole

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

StormEvents 
| where State has_any (dynamic(['south', 'north']))
| summarize count() by State

Výstup

Stav Počet_
SEVERNÍ KAROLÍNA 1721
JIŽNÍ DAKOTA 1567
JIŽNÍ KAROLÍNA 915
SEVERNÍ DAKOTA 905
ATLANTICKÝ JIH 193
SEVERNÍ ATLANTIK 188

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

let areas = dynamic(['south', 'north']);
StormEvents 
| where State has_any (areas)
| summarize count() by State

Výstup

Stav Počet_
SEVERNÍ KAROLÍNA 1721
JIŽNÍ DAKOTA 1567
JIŽNÍ KAROLÍNA 915
SEVERNÍ DAKOTA 905
ATLANTICKÝ JIH 193
SEVERNÍ ATLANTIK 188

Tabulkový výraz

Následující dotaz ukazuje, jak použít has_any 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 has_any ((PopulationData | where Population > 5000000 | project State))
| summarize count() by State

Výstup

Stav Počet_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GRUZIE 1983
MINNESOTA 1881
... ...

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 has_any (large_states)
| summarize count() by State

Výstup

Stav Počet_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GRUZIE 1983
MINNESOTA 1881
... ...