!in~ – operátor
Filtruje sadu záznamů pro data bez řetězce bez rozlišování velkých a malých písmen.
Následující tabulka obsahuje porovnání in
operátorů:
Operátor | Popis | Case-Sensitive | Příklad (výnosy true ) |
---|---|---|---|
in |
Rovná se jednomu z prvků. | Yes | "abc" in ("123", "345", "abc") |
!in |
Nerovná se žádnému z prvků. | Yes | "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á pole se zploštějí do jednoho seznamu hodnot. Například se x in (dynamic([1,[2,3]]))
stane x in (1,2,3)
.
Další informace o další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ů.
Operátory bez rozlišování velkých a malých písmen jsou v současné době podporovány pouze pro text ASCII. Pro porovnání mimo ASCII použijte funkci tolower().
Tipy pro zvýšení 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 ! in s rozlišováním velkých a malých písmen.
Syntax
T|
where
Col!in~
(
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ž 1 000 000 jedinečných hodnot. |
Návraty
Řádky v T , pro které je true
predikát .
Příklad
Seznam skalárů
Následující dotaz ukazuje, jak používat !in~
seznam 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 používat !in~
dynamické pole.
StormEvents
| where State !in~ (dynamic(["Florida", "Georgia", "New York"]))
| count
Výstup
Počet |
---|
54291 |
Stejný dotaz lze také zapsat 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 použít !in~
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 !in~ (PopulationData | where Population > 5000000 | project State)
| summarize count() by State
Výstup
Stav | Počet_ |
---|---|
KANSAS | 3166 |
IOWA | 2337 |
NEBRASKA | 1766 |
OKLAHOMA | 1716 |
JIŽNÍ DAKOTA | 1567 |
... | ... |
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 !in~ (large_states)
| summarize count() by State
Výstup
Stav | Počet_ |
---|---|
KANSAS | 3166 |
IOWA | 2337 |
NEBRASKA | 1766 |
OKLAHOMA | 1716 |
JIŽNÍ DAKOTA | 1567 |
... | ... |
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