in 運算子
篩選具有區分大小寫字串之數據的記錄集。
下表提供運算子的 in
比較:
Operator | 描述 | 區分大小寫 | 範例 (yields true ) |
---|---|---|---|
in |
等於其中一個專案 | Yes | "abc" in ("123", "345", "abc") |
!in |
不等於任何專案 | Yes | "bca" !in ("123", "345", "abc") |
in~ |
等於任何專案 | No | "Abc" in~ ("123", "345", "abc") |
!in~ |
不等於任何專案 | No | "bCa" !in~ ("123", "345", "ABC") |
注意
巢狀陣會扁平化成單一值清單。 例如,x in (dynamic([1,[2,3]]))
會成為 x in (1,2,3)
。
如需其他運算符的詳細資訊,以及判斷哪一個運算元最適合您的查詢,請參閱 數據類型字串運算元。
目前僅支援 ASCII 文字的不區分大小寫運算符。 針對非 ASCII 比較,請使用 tolower() 函式。
效能祕訣
注意
使用超過 128 個搜尋字詞時,會停用文字索引查閱優化,這可能會導致查詢效能降低。
注意
效能取決於搜尋類型和數據結構。 如需最佳做法,請參閱 查詢最佳做法。
語法
T|
where
colin
(
表達式 ...,
)
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
T | string |
✔️ | 要篩選的表格式輸入。 |
col | string |
✔️ | 要篩選的數據行。 |
expression | 純量或表格式 | ✔️ | 表達式,指定要搜尋的值。 每個運算式可以是 純量 值或 產生一組值的表格式表達式 。 如果表格式表達式有多個數據行,則會使用第一個數據行。 搜尋會考慮最多 1,000,000 個相異值。 |
傳回
述詞為 的 Ttrue
列。
範例
純量清單
下列查詢示範如何搭配純量值清單使用 in
。
StormEvents
| where State in ("FLORIDA", "GEORGIA", "NEW YORK")
| count
輸出
計數 |
---|
4775 |
動態陣列
下列查詢示範如何搭配動態陣列使用 in
。
let states = dynamic(['FLORIDA', 'ATLANTIC SOUTH', 'GEORGIA']);
StormEvents
| where State in (states)
| count
輸出
計數 |
---|
3218 |
表格式表達式
下列查詢示範如何搭配表格式表達式使用 in
。
let Top_5_States =
StormEvents
| summarize count() by State
| top 5 by count_;
StormEvents
| where State in (Top_5_States)
| count
相同的查詢可以使用內嵌表格式表達式語句來撰寫。
StormEvents
| where State in (
StormEvents
| summarize count() by State
| top 5 by count_
)
| count
輸出
計數 |
---|
14242 |
其他範例的頂端
下列範例會識別具有閃電事件的前五個狀態,並使用 iff()
函式和 in
運算符,依前五個狀態分類閃電事件,並以狀態名稱標示,以及標示為「其他」的所有其他狀態。
let Lightning_By_State = materialize(StormEvents
| summarize lightning_events = countif(EventType == 'Lightning') by State);
let Top_5_States = Lightning_By_State | top 5 by lightning_events | project State;
Lightning_By_State
| extend State = iff(State in (Top_5_States), State, "Other")
| summarize sum(lightning_events) by State
輸出
州/省 | sum_lightning_events |
---|---|
阿拉巴馬州 | 29 |
威斯康辛州 | 31 |
德克薩斯州 | 55 |
佛羅里達州 | 85 |
喬治亞州 | 106 |
其他 | 415 |
使用函式傳回的靜態清單
下列範例會根據預先定義的有趣狀態清單,計算來自 StormEvents
數據表的事件。 有趣的狀態是由 InterestingStates()
函式所定義。
StormEvents
| where State in (InterestingStates())
| count
輸出
計數 |
---|
4775 |
下列查詢會顯示 InterestingStates()
函式將哪些狀態視為有趣。
.show function InterestingStates
輸出
姓名 | 參數 | 本文 | Folder | DocString |
---|---|---|---|---|
InterestingStates | () | { dynamic([“WASHINGTON”, “FLORIDA”, “GEORGIA”, “NEW YORK”]) } |