diffpatterns 플러그 인
동일한 구조의 두 데이터 세트를 비교하고 두 데이터 세트 간의 차이를 특징짓는 불연속 특성(차원)의 패턴을 찾습니다. 플러그 인은 연산자를 사용하여 호출됩니다 evaluate
.
diffpatterns
은 오류를 분석하는 데 도움이 되도록 개발되었지만(예: 지정된 시간 프레임에서 오류가 아닌 오류와 비교) 잠재적으로 동일한 구조의 두 데이터 세트 간의 차이를 찾을 수 있습니다.
참고
diffpatterns
은 (집합 간의 데이터 차이의 일부를 캡처하는) 중요한 패턴을 찾는 것을 목표로 하며 행별 차이를 의미하지는 않습니다.
Syntax
T | evaluate diffpatterns(
SplitColumn,
SplitValueA,
SplitValueB [,
WeightColumn,
Threshold,
MaxDimensions,
CustomWildcard,
...])
구문 규칙에 대해 자세히 알아보세요.
매개 변수
이름 | 형식 | 필수 | Description |
---|---|---|---|
SplitColumn | string |
✔️ | 쿼리를 데이터 세트로 분할하는 방법을 알고리즘에 알려주는 열 이름입니다. SplitValueA 및 SplitValueB 인수에 대해 지정된 값에 따라 알고리즘은 쿼리를 "A" 및 "B"라는 두 데이터 세트로 분할하고 두 데이터 세트 간의 차이점을 분석합니다. 따라서 분할 열은 둘 이상의 고유 값을 가져야 합니다. |
SplitValueA | string |
✔️ | 지정한 SplitColumn 의 값 중 하나에 대한 문자열 표현입니다. SplitColumn에 이 값이 있는 모든 행은 데이터 세트 "A"로 간주됩니다. |
SplitValueB | string |
✔️ | 지정한 SplitColumn 의 값 중 하나에 대한 문자열 표현입니다. SplitColumn에 이 값이 있는 모든 행은 데이터 세트 "B"로 간주됩니다. |
WeightColumn | string |
지정된 가중치에 따라 입력의 각 행을 고려하는 데 사용되는 열입니다. 숫자 열의 이름(예: int , , long ) real 이어야 합니다. 기본적으로 각 행의 가중치는 '1'입니다. 기본값을 사용하려면 타일 ~ 을 입력합니다. 이미 각 행에 포함되어 있는 데이터의 계정 샘플링 또는 버킷팅/집계가 가중치 열의 일반적인 용도로 간주됩니다.예: T | extend splitColumn= iff(request_responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", sample_Count) |
|
임계값 | long |
0.015에서 1까지의 범위에서 긴 입니다. 이 값은 두 집합 간의 최소 패턴 비율 차이를 설정합니다. 기본값은 0.05입니다. 기본값을 사용하려면 타일 ~ 을 입력합니다.예: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", 0.04) |
|
MaxDimensions | int |
결과 패턴당 관계 없는 차원의 최대 수를 설정합니다. 제한을 지정하여 쿼리 런타임을 줄입니다. 기본값은 무제한입니다. 기본값을 사용하려면 타일 ~ 을 입력합니다.예: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", 3) |
|
CustomWildcard | string |
현재 패턴이 이 열을 제한하지 않음을 나타내는 특정 형식에 대한 와일드카드 값을 결과 테이블에 설정합니다. 기본값이 빈 문자열인 문자열 열을 제외하고 기본값은 null입니다. 기본값이 데이터에서 실행 가능한 값인 경우 다른 와일드카드 값을 사용해야 합니다. * )을 입력합니다. 기본값을 사용하려면 타일 ~ 을 입력합니다.예: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", "~", int(-1), double(-1), long(0), datetime(1900-1-1)) |
반환
diffpatterns
는 두 집합에 있는 데이터의 서로 다른 부분을 캡처하는 작은 패턴 집합을 반환합니다(즉, 첫 번째 데이터 세트에 있는 행의 큰 비율과 두 번째 집합에 있는 행의 낮은 비율을 캡처하는 패턴). 각 패턴은 결과의 행으로 표시됩니다.
의 결과는 diffpatterns
다음 열을 반환합니다.
SegmentId: 현재 쿼리의 패턴에 할당된 ID입니다(참고: 반복 쿼리에서는 ID가 동일하지 않음).
CountA: A 설정의 패턴에 의해 캡처된 행의 수입니다(A 설정은 와 같
where tostring(splitColumn) == SplitValueA
습니다).CountB: B 집합의 패턴에 의해 캡처된 행 수입니다(B 설정은 와 같
where tostring(splitColumn) == SplitValueB
습니다).PercentA: 패턴(100.0 * CountA/count(SetA))에 의해 캡처된 A 설정의 행 백분율입니다.
PercentB: 패턴으로 캡처된 B 집합의 행 백분율(100.0 * CountB/ count(SetB))입니다.
PercentDiffAB: A와 B의 절대 백분율 포인트 차이(|PercentA - PercentB|) 는 두 집합 간의 차이를 설명할 때 패턴의 유의도에 대한 기본 측정값입니다.
나머지 열: 는 입력의 원래 스키마이며 패턴을 설명하고 각 행(패턴)은 열의 와일드카드가 아닌 값의 교집합을 나타냅니다(행의 와일드카드가 아닌 각 값에 해당
where col1==val1 and col2==val2 and ... colN=valN
).
각 패턴에 대해 패턴에 설정되지 않은 열(즉, 특정 값에 대한 제한 없음)에는 기본적으로 null인 와일드카드 값이 포함됩니다. 와일드카드를 수동으로 변경할 수 있는 방법은 아래의 인수 섹션을 참조하세요.
- 참고: 패턴은 종종 고유하지 않습니다. 겹칠 수 있으며 일반적으로 원래 행을 모두 포함하지는 않습니다. 일부 행은 어떤 패턴에도 속하지 않을 수 있습니다.
팁
예제
StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , 1 , 0)
| project State , EventType , Source , Damage, DamageCrops
| evaluate diffpatterns(Damage, "0", "1" )
출력
SegmentId | CountA | CountB | PercentA | PercentB | PercentDiffAB | 시스템 상태 | EventType | Source | DamageCrops |
---|---|---|---|---|---|---|---|---|---|
0 | 2278 | 93 | 49.8 | 7.1 | 42.7 | 우박 | 0 | ||
1 | 779 | 512 | 17.03 | 39.08 | 22.05 | 뇌우를 동반한 바람 | |||
2 | 1098 | 118 | 24.01 | 9.01 | 15 | 숙련된 관찰자 | 0 | ||
3 | 136 | 158 | 2.97 | 12.06 | 9.09 | 신문 | |||
4 | 359 | 214 | 7.85 | 16.34 | 8.49 | 갑작스러운 홍수 | |||
5 | 50 | 122 | 1.09 | 9.31 | 8.22 | 아이오와 | |||
6 | 655 | 279 | 14.32 | 21.3 | 6.98 | 사법 기관 | |||
7 | 150 | 117 | 3.28 | 8.93 | 5.65 | 홍수 | |||
8 | 362 | 176 | 7.91 | 13.44 | 5.52 | 긴급 상황 관리자 |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기