diffpatterns 플러그 인

동일한 구조의 두 데이터 세트를 비교하고 두 데이터 세트 간의 차이를 특징짓는 불연속 특성(차원)의 패턴을 찾습니다. 플러그 인은 연산자를 사용하여 호출됩니다 evaluate .

diffpatterns 은 오류를 분석하는 데 도움이 되도록 개발되었지만(예: 지정된 시간 프레임에서 오류가 아닌 오류와 비교) 잠재적으로 동일한 구조의 두 데이터 세트 간의 차이를 찾을 수 있습니다.

참고

diffpatterns 은 (집합 간의 데이터 차이의 일부를 캡처하는) 중요한 패턴을 찾는 것을 목표로 하며 행별 차이를 의미하지는 않습니다.

Syntax

T | evaluate diffpatterns(SplitColumn,SplitValueA,SplitValueB [,WeightColumn,Threshold,MaxDimensions,CustomWildcard, ...])

구문 규칙에 대해 자세히 알아보세요.

매개 변수

이름 형식 필수 Description
SplitColumn string ✔️ 쿼리를 데이터 세트로 분할하는 방법을 알고리즘에 알려주는 열 이름입니다. SplitValueASplitValueB 인수에 대해 지정된 값에 따라 알고리즘은 쿼리를 "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인 와일드카드 값이 포함됩니다. 와일드카드를 수동으로 변경할 수 있는 방법은 아래의 인수 섹션을 참조하세요.

  • 참고: 패턴은 종종 고유하지 않습니다. 겹칠 수 있으며 일반적으로 원래 행을 모두 포함하지는 않습니다. 일부 행은 어떤 패턴에도 속하지 않을 수 있습니다.

  • 입력 파이프에서 whereproject 를 사용하여 관심 있는 데이터로만 데이터를 줄입니다.
  • 관심 있는 행을 찾으면 where 필터에 특정 값을 추가하여 추가로 드릴인투할 수 있습니다.

예제

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 긴급 상황 관리자