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|
where
Colhas_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 true
prediká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 |
... | ... |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro