has_any 연산자
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
대/소문자를 구분하지 않는 문자열 집합을 사용하여 데이터에 대한 레코드 집합을 필터링합니다. has_any
는 인덱싱된 용어를 검색합니다. 여기서 인덱싱된 용어 는 3자 이상입니다. 용어가 3자 미만인 경우 쿼리는 열의 값을 검색합니다. 이 값은 용어 인덱스의 용어를 조회하는 것보다 느립니다.
다른 연산자에 대한 자세한 내용과 쿼리에 가장 적합한 연산자를 확인하려면 데이터 형식 문자열 연산자를 참조하세요.
성능 팁
참고 항목
128개 이상의 검색어를 사용하는 경우 텍스트 인덱스 조회 최적화가 비활성화되어 쿼리 성능이 저하될 수 있습니다.
구문
T |
where
col (
has_any
식 ...,
)
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
T | string |
✔️ | 필터링할 테이블 형식 입력입니다. |
col | string |
✔️ | 필터링할 열입니다. |
expression | 스칼라 또는 테이블 형식 | ✔️ | 검색할 값을 지정하는 식입니다. 각 식은 스칼라 값 또는 값 집합을 생성하는 테이블 형식 식 일 수 있습니다. 테이블 형식 식에 여러 열이 있는 경우 첫 번째 열이 사용됩니다. 검색은 최대 10,000개의 고유 값을 고려합니다. |
참고 항목
인라인 테이블 형식 식은 이중 괄호로 묶어야 합니다. 예제를 참조하세요.
반품
조건자가 true
인 T의 행입니다.
예제
스칼라 목록
다음 쿼리는 스칼라 값의 쉼표로 구분된 목록과 함께 사용하는 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 |
... | ... |