다음을 통해 공유


has_any 연산자

적용 대상: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

대/소문자를 구분하지 않는 문자열 집합을 사용하여 데이터에 대한 레코드 집합을 필터링합니다. has_any 는 인덱싱된 용어를 검색합니다. 여기서 인덱싱된 용어 는 3자 이상입니다. 용어가 3자 미만인 경우 쿼리는 열의 값을 검색합니다. 이 값은 용어 인덱스의 용어를 조회하는 것보다 느립니다.

다른 연산자에 대한 자세한 내용과 쿼리에 가장 적합한 연산자를 확인하려면 데이터 형식 문자열 연산자를 참조하세요.

성능 팁

참고 항목

128개 이상의 검색어를 사용하는 경우 텍스트 인덱스 조회 최적화가 비활성화되어 쿼리 성능이 저하될 수 있습니다.

구문

T | where col (has_any 식 ...,)

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
T string ✔️ 필터링할 테이블 형식 입력입니다.
col string ✔️ 필터링할 열입니다.
expression 스칼라 또는 테이블 형식 ✔️ 검색할 값을 지정하는 식입니다. 각 식은 스칼라 값 또는 값 집합을 생성하는 테이블 형식 식 일 수 있습니다. 테이블 형식 식에 여러 열이 있는 경우 첫 번째 열이 사용됩니다. 검색은 최대 10,000개의 고유 값을 고려합니다.

참고 항목

인라인 테이블 형식 식은 이중 괄호로 묶어야 합니다. 예제를 참조하세요.

반품

조건자가 trueT의 행입니다.

예제

스칼라 목록

다음 쿼리는 스칼라 값의 쉼표로 구분된 목록과 함께 사용하는 has_any 방법을 보여 있습니다.

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

출력

State(상태) count_
NEW YORK 1750
노스캐롤라이나주 1721
사우스다코타 1567
NEW JERSEY 1044
SOUTH CAROLINA 915
노스다코타주 905
뉴멕시코주 5:27
NEW HAMPSHIRE 394

동적 배열

다음 쿼리는 동적 배열과 함께 사용하는 has_any 방법을 보여줍니다.

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

출력

State(상태) count_
노스캐롤라이나주 1721
사우스다코타 1567
SOUTH CAROLINA 915
노스다코타주 905
ATLANTIC SOUTH 193
대서양 북부 188

let 문을 사용하여 동일한 쿼리를 작성할 수도 있습니다.

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

출력

State(상태) count_
노스캐롤라이나주 1721
사우스다코타 1567
SOUTH CAROLINA 915
노스다코타주 905
ATLANTIC SOUTH 193
대서양 북부 188

테이블 형식 식

다음 쿼리는 인라인 테이블 형식 식과 함께 사용하는 has_any 방법을 보여줍니다. 인라인 테이블 형식 식은 이중 괄호로 묶어야 합니다.

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

출력

State(상태) count_
TEXAS 4701
일리노이주 2022
MISSOURI 2016
그루지야 1983
MINNESOTA 1881
... ...

let 문을 사용하여 동일한 쿼리를 작성할 수도 있습니다. 이 경우 마지막 예제에 제공된 이중 괄호가 필요하지 않습니다.

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

출력

State(상태) count_
TEXAS 4701
일리노이주 2022
MISSOURI 2016
그루지야 1983
MINNESOTA 1881
... ...