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
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 |
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla