Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer
Porównuje dwa zestawy danych tej samej struktury i znajduje wzorce dyskretnych atrybutów (wymiarów), które scharakteryzują 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 niepowodzeń 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 są przeznaczone dla różnic wierszy po wierszach.
Składnia
T | evaluate diffpatterns(
,
Dowiedz się więcej na temat konwencji składni.
Parametry
| Nazwisko | Typ | Wymagania | opis |
|---|---|---|---|
| Podział kolumny | 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 |
✔️ | Ciąg reprezentujący jedną z wartości w określonej kolumnie SplitColumn . Wszystkie wiersze, które mają tę wartość w kolumnie SplitColumn traktowane jako zestaw danych "A". |
| SplitValueB | string |
✔️ | Ciąg reprezentujący jedną z wartości w określonej kolumnie SplitColumn . 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 użyciem 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 | real |
Real 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ę niekorrelowanych wymiarów na wzorzec wyniku. Określając limit, należy zmniejszyć środowisko uruchomieniowe zapytania. 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) |
|
| 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 to pusty ciąg. Jeśli wartość domyślna to realna wartość 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 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) == SplitValueACountB: liczba wierszy przechwyconych przez wzorzec w zestawie B (zestaw B jest odpowiednikiem ).
where tostring(splitColumn) == SplitValueBPercentA: procent wierszy w ustawieniu A przechwycony przez wzorzec (100,0 * CountA / count(SetA)).
PercentB: procent wierszy w zestawie B przechwycony przez wzorzec (100,0 * CountB / count(SetB)).
PercentDiffAB: bezwzględna różnica punktów procentowych między A i 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 innych niż wieloznaczne kolumn (odpowiednik
where col1==val1 and col2==val2 and ... colN=valNdla każdej wartości nieznajdujących symboli wieloznacznych 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.
Napiwek
Przykłady
W poniższym przykładzie pokazano, jak używać diffpatterns wtyczki do analizowania zestawu danych StormEvents. Porównuje zdarzenia, które miały miejsce w maju, koncentrując się na różnicach między zdarzeniami i bez uszkodzeń. Zapytanie używa diffpatterns wtyczki do identyfikowania wzorców, które rozróżniają te dwie grupy na podstawie kolumn State, EventType, Source i DamageCrops.
StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , 1 , 0)
| project State , EventType , Source , Damage, DamageCrops
| evaluate diffpatterns(Damage, "0", "1" )
Wyjście
| Identyfikator segmentu | CountA | LiczbaB | PercentA | Procent | RóżnicaProcentowaAB | Stan | Typ Wydarzenia | Źródło | DamageCrops |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 2278 | 93 | 49,8 | 7.1 | 42.7 | Grad | 0 | ||
| 1 | 779 | 512 | 17.03 | 39.08 | 22.05 | Wiatr i burza | |||
| 2 | 1098 | 118 | 24.01 | 9.01 | 15 | Wytrenowany spotter | 0 | ||
| 3 | 136 | 158 | 2,97 | 12.06 | 9.09 | Gazeta | |||
| 100 | 359 | 214 | 7.85 | 16.34 | 8.49 | Powodzia błyskawiczna | |||
| 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 |