diffpatterns, wtyczka

Porównuje dwa zestawy danych tej samej struktury i znajduje wzorce dyskretnych atrybutów (wymiarów), które charakteryzują różnice między dwoma zestawami danych. Wtyczka jest wywoływana z operatorem evaluate .

diffpatterns został opracowany w celu ułatwienia analizowania błędów (na przykład przez porównanie niepowodzeń z błędami w danym przedziale czasu), ale może potencjalnie znaleźć różnice między dwoma zestawami danych tej samej struktury.

Uwaga

diffpatterns ma na celu znalezienie znaczących wzorców (które przechwytują części różnicy danych między zestawami) i nie jest przeznaczone dla różnic między wierszami.

Składnia

T | evaluate diffpatterns(Kolumna, podziałuSplitValueA,SplitValueB [,WeightColumn,Threshold,MaxDimensions,CustomWildcard, ...])

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Kolumna podziału string ✔️ Nazwa kolumny, która informuje algorytm o tym, jak podzielić zapytanie na zestawy danych. Zgodnie z określonymi wartościami argumentów SplitValueA i SplitValueB algorytm dzieli zapytanie na dwa zestawy danych, "A" i "B" i analizuje różnice między nimi. W związku z tym kolumna podziału musi mieć co najmniej dwie odrębne wartości.
SplitValueA string ✔️ Reprezentacja ciągu jednej z wartości w kolumnie SplitColumn , która została określona. Wszystkie wiersze, które mają tę wartość w kolumnie SplitColumn , traktowane jako zestaw danych "A".
SplitValueB string ✔️ Reprezentacja ciągu jednej z wartości w kolumnie SplitColumn , która została określona. Wszystkie wiersze, które mają tę wartość w kolumnie SplitColumn , traktowane jako zestaw danych "B".
Kolumna wagowa string Kolumna używana do rozważenia każdego wiersza w danych wejściowych zgodnie z określoną wagą. Musi być nazwą kolumny liczbowej, takiej jak int, long, real. Domyślnie każdy wiersz ma wagę "1". Aby użyć wartości domyślnej, wprowadź tyldę: ~. Typowym zastosowaniem kolumny wagi jest uwzględnienie próbkowania lub zasobnika/agregacji danych, które są już osadzone w każdym wierszu.

Przykład: T | extend splitColumn= iff(request_responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", sample_Count)
Próg long Długość w zakresie od 0,015 do 1. Ta wartość określa minimalną różnicę współczynnika wzorca między dwoma zestawami. Wartość domyślna to 0,05. Aby użyć wartości domyślnej, wprowadź tyldę: ~.

Przykład: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", 0.04)
MaxDimensions int Ustawia maksymalną liczbę nieskorelowanych wymiarów na wzorzec wyniku. Określając limit, można zmniejszyć środowisko uruchomieniowe zapytań. Wartość domyślna to nieograniczona. Aby użyć wartości domyślnej, wprowadź tyldę: ~.

Przykład: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", 3)
Karta CustomWildcard string Ustawia wartość symboli wieloznacznych dla określonego typu w tabeli wyników, która będzie wskazywać, że bieżący wzorzec nie ma ograniczenia dla tej kolumny. Wartość domyślna to null, z wyjątkiem kolumn ciągów, dla których wartość domyślna jest pustym ciągiem. Jeśli wartość domyślna jest realną wartością w danych, należy użyć innej wartości wieloznacznych. Na przykład *. Aby użyć wartości domyślnej, wprowadź tyldę: ~.

Przykład: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", "~", int(-1), double(-1), long(0), datetime(1900-1-1))

Zwraca

diffpatterns Zwraca niewielki zestaw wzorców, które przechwytują różne części danych w dwóch zestawach (czyli wzorzec przechwytujący duży procent wierszy w pierwszym zestawie danych i niski procent wierszy w drugim zestawie). Każdy wzorzec jest reprezentowany przez wiersz w wynikach.

Wynik funkcji diffpatterns zwraca następujące kolumny:

  • SegmentId: tożsamość przypisana do wzorca w bieżącym zapytaniu (uwaga: identyfikatory nie mają gwarancji, że są takie same w powtarzających się zapytaniach).

  • CountA: liczba wierszy przechwyconych przez wzorzec w zestawie A (zestaw A jest odpowiednikiem ).where tostring(splitColumn) == SplitValueA

  • CountB: liczba wierszy przechwyconych przez wzorzec w zestawie B (zestaw B jest odpowiednikiem ).where tostring(splitColumn) == SplitValueB

  • PercentA: procent wierszy w zestawie A przechwycony przez wzorzec (100,0 * CountA / count(SetA)).

  • PercentB: procent wierszy w zestawie B przechwycony przez wzorzec (100,0 * LiczbaB / count(SetB)).

  • PercentDiffAB: bezwzględna różnica punktów procentowych między A a B (|PercentA — PercentB|) jest główną miarą istotności wzorców opisujących różnicę między dwoma zestawami.

  • Pozostałe kolumny: są oryginalnym schematem danych wejściowych i opisują wzorzec, każdy wiersz (wzorzec) reprezentuje przecięcie wartości kolumn innych niż symbole wieloznaczne (odpowiednik where col1==val1 and col2==val2 and ... colN=valN każdej wartości nieznakowej w wierszu).

Dla każdego wzorca kolumny, które nie są ustawione we wzorcu (czyli bez ograniczeń dla określonej wartości), będą zawierać wartość wieloznaczną, która domyślnie ma wartość null. Zobacz w sekcji Argumenty poniżej, jak można ręcznie zmienić symbole wieloznaczne.

  • Uwaga: wzorce często nie są odrębne. Mogą się nakładać i zwykle nie obejmują wszystkich oryginalnych wierszy. Niektóre wiersze mogą nie należeć do żadnego wzorca.

Porada

  • Użyj miejsca i projektu w potoku wejściowym, aby zmniejszyć dane do interesujących Cię informacji.
  • Po znalezieniu interesującego wiersza możesz przejść do szczegółów, dodając jego określone wartości do filtru where .

Przykład

StormEvents 
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , 1 , 0)
| project State , EventType , Source , Damage, DamageCrops
| evaluate diffpatterns(Damage, "0", "1" )

Dane wyjściowe

Identyfikator segmentu CountA LiczbaB PercentA PercentB PercentDiffAB Stan Typ zdarzenia Source DamageCrops
0 2278 93 49.8 7.1 42.7 Grad 0
1 779 512 17.03 39.08 22.05 Burza wiatru
2 1098 118 24.01 9.01 15 Wytrenowany spotter 0
3 136 158 2,97 12.06 9.09 Gazety
4 359 214 7.85 16.34 8.49 Powodzie błyskawiczne
5 50 122 1.09 9.31 8.22 IOWA
6 655 279 14.32 21,3 6.98 Ścigania
7 150 117 3.28 8.93 5.65 Powódź
8 362 176 7.91 13.44 5.52 Menedżer awaryjny