Operátor where
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Filtruje tabulku na podmnožinu řádků, které splňují predikát.
Operátory
where
afilter
operátory jsou ekvivalentní
Syntaxe
Predikát T | where
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
T | string |
✔️ | Tabulkový vstup, jehož záznamy mají být filtrovány. |
Predikát | string |
✔️ | Výraz, který se vyhodnotí jako logická hodnota pro každý řádek v jazyce T. |
Návraty
Řádky v T, pro které je true
predikát .
Poznámka:
Všechny funkce filtrování vrátí hodnotu false ve srovnání s hodnotami null. Pomocí speciálních funkcí podporujících hodnotu null můžete psát dotazy, které zpracovávají hodnoty null.
Tipy týkající se výkonu
Používejte jednoduchá porovnání názvů sloupců a konstant. ("Konstanta" znamená konstantu nad tabulkou – tak
now()
aago()
jsou v pořádku, a proto jsou skalární hodnoty přiřazené pomocílet
příkazu.)Například raději
where Timestamp >= ago(1d)
where bin(Timestamp, 1d) == ago(1d)
.Nejjednodušší termíny: Pokud máte více klauzulí konjoinovaných s
and
, vložte nejprve klauzule, které zahrnují pouze jeden sloupec. TakžeTimestamp > ago(1d) and OpId == EventId
je lepší než naopak.
Další informace naleznete v souhrnu dostupných řetězcových operátorů a souhrn dostupných numerických operátorů.
Příklady
Porovnání objednávek podle složitosti
Následující dotaz vrátí záznamy storm, které hlásí poškozenou vlastnost, jsou záplavy a začínají a končí na různých místech.
Všimněte si, že porovnání mezi dvěma sloupci jsme umístili jako poslední, protože operátor, kde operátor nemůže použít index a vynutí kontrolu.
StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
and EventType == "Flood"
and BeginLocation != EndLocation
Následující tabulka zobrazuje pouze prvních 10 výsledků. Pokud chcete zobrazit úplný výstup, spusťte dotaz.
DamageProperty | Typ události | Počáteční poloha | EndLocation |
---|---|---|---|
5000 | Povodeň | FAYETTE CITY LOWBER | |
5000 | Povodeň | MORRISVILLE WEST WAYNESBURG | |
10000 | Povodeň | COPELAND HARRIS GROVE | |
5000 | Povodeň | GLENFORD MT PERRY | |
250 000 | Povodeň | EAST SENECA BUFFALO AIRPARK ARPT | |
20 000 | Povodeň | EBENEZER SLOAN | |
10000 | Povodeň | BUEL CALHOUN | |
10000 | Povodeň | GOODHOPE WEST MILFORD | |
5000 | Povodeň | DUNKIRK FOREST | |
20 000 | Povodeň | FARMTON MANNINGTON |
Kontrola, jestli sloupec obsahuje řetězec
Následující dotaz vrátí řádky, ve kterých se slovo "kráva" zobrazí v libovolném sloupci.
StormEvents
| where * has "cow"