operator has_any

Memfilter kumpulan catatan untuk data dengan sekumpulan string yang tidak peka huruf besar/kecil. has_any mencari istilah terindeks, di mana istilah terindeks adalah tiga karakter atau lebih. Jika istilah Anda kurang dari tiga karakter, kueri memindai nilai dalam kolom, yang lebih lambat daripada mencari istilah dalam indeks istilah.

Untuk informasi selengkapnya tentang operator lain dan untuk menentukan operator mana yang paling sesuai untuk kueri Anda, lihat operator string datatype.

Sintaks

T|whereKolosehas_any(Ekspresi, ... )

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
T string ✔️ Input tabular untuk difilter.
Kolose string ✔️ Kolom yang akan difilter.
ekspresi skalar atau tabular ✔️ Ekspresi yang menentukan nilai yang akan dicari. Setiap ekspresi dapat berupa nilai skalar atau ekspresi tabular yang menghasilkan sekumpulan nilai. Jika ekspresi tabular memiliki beberapa kolom, kolom pertama akan digunakan. Pencarian akan mempertimbangkan hingga 10.000 nilai yang berbeda.

Catatan

Ekspresi tabular sebaris harus diapit dengan tanda kurung ganda. Lihat contoh.

Mengembalikan

Baris di T yang predikatnya adalah true.

Contoh

Daftar skalar

Kueri berikut ini memperlihatkan cara menggunakan has_any dengan daftar nilai skalar yang dipisahkan koma.

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

Output

Provinsi count_
NEW YORK 1750
CAROLINA UTARA 1721
DAKOTA SELATAN 1567
NEW JERSEY 1044
CAROLINA SELATAN 915
DAKOTA UTARA 905
NEW MEXICO 527
NEW HAMPSHIRE 394

Dynamic array

Kueri berikut ini memperlihatkan cara menggunakan has_any dengan array dinamis.

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

Output

Provinsi count_
CAROLINA UTARA 1721
DAKOTA SELATAN 1567
CAROLINA SELATAN 915
DAKOTA UTARA 905
ATLANTIK SELATAN 193
ATLANTIK UTARA 188

Kueri yang sama juga dapat ditulis dengan pernyataan let.

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

Output

Provinsi count_
CAROLINA UTARA 1721
DAKOTA SELATAN 1567
CAROLINA SELATAN 915
DAKOTA UTARA 905
ATLANTIK SELATAN 193
ATLANTIK UTARA 188

Ekspresi tabular

Kueri berikut ini memperlihatkan cara menggunakan has_any dengan ekspresi tabular sebaris. Perhatikan bahwa ekspresi tabular sebaris harus diapit dengan tanda kurung ganda.

StormEvents 
| where State has_any ((PopulationData | where Population > 5000000 | project State))
| summarize count() by State

Output

Provinsi count_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEORGIA 1983
MINNESOTA 1881
... ...

Kueri yang sama juga dapat ditulis dengan pernyataan let. Perhatikan bahwa tanda kurung ganda seperti yang disediakan dalam contoh terakhir tidak diperlukan dalam kasus ini.

let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents 
| where State has_any (large_states)
| summarize count() by State

Output

Provinsi count_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEORGIA 1983
MINNESOTA 1881
... ...