Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer
Porovná dvě datové sady stejné struktury a najde vzory diskrétních atributů (dimenzí), které charakterizují rozdíly mezi těmito dvěma datovými sadami. Modul plug-in se vyvolá pomocí operátoru evaluate .
diffpatterns byla vyvinuta tak, aby pomohla analyzovat selhání (například porovnáním selhání s chybami v daném časovém rámci), ale může potenciálně najít rozdíly mezi libovolnými dvěma datovými sadami stejné struktury.
Poznámka:
diffpatterns cílem je najít významné vzory (které zachycují části rozdílu dat mezi sadami) a nejsou určeny pro rozdíly mezi řádky po řádcích.
Syntaxe
T | evaluate diffpatterns(
,
Přečtěte si další informace o konvencích syntaxe.
Parametry
| Název | Typ | Požadováno | Popis |
|---|---|---|---|
| SplitColumn | string |
✔️ | Název sloupce, který algoritmus říká, jak rozdělit dotaz na datové sady. Podle zadaných hodnot pro argumenty SplitValueA a SplitValueB algoritmus rozdělí dotaz na dvě datové sady, A a B a analyzuje rozdíly mezi nimi. V takovém případě musí mít rozdělený sloupec alespoň dvě odlišné hodnoty. |
| SplitValueA | string |
✔️ | Řetězcové znázornění jedné z hodnot v zadaném splitcolumnu . Všechny řádky, které mají tuto hodnotu ve svém SplitColumn , se považují za datovou sadu "A". |
| SplitValueB | string |
✔️ | Řetězcové znázornění jedné z hodnot v zadaném splitcolumnu . Všechny řádky, které mají tuto hodnotu ve svém SplitColumn , se považují za datovou sadu "B". |
| WeightColumn | string |
Sloupec použitý k zvážení každého řádku ve vstupu podle zadané váhy. Musí být název číselného sloupce, například int, long, real. Ve výchozím nastavení má každý řádek váhu 1. Chcete-li použít výchozí hodnotu, zadejte vlnovku: ~. Běžným použitím sloupce hmotnosti je vzít v úvahu vzorkování nebo dělení nebo agregaci dat, která jsou již vložena do každého řádku.Příklad: T | extend splitColumn= iff(request_responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", sample_Count) |
|
| Prahová hodnota | real |
Skutečný v rozsahu od 0,015 do 1. Tato hodnota nastaví minimální rozdíl poměru vzorů mezi těmito dvěma sadami. Výchozí hodnota je 0,05. Chcete-li použít výchozí hodnotu, zadejte vlnovku: ~.Příklad: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", 0.04) |
|
| MaxDimensions | int |
Nastaví maximální počet nekótovaných dimenzí na vzor výsledku. Zadáním limitu snížíte modul runtime dotazu. Výchozí hodnota je neomezená. Chcete-li použít výchozí hodnotu, zadejte vlnovku: ~.Příklad: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", 3) |
|
| CustomWildcard | string |
Nastaví hodnotu zástupných znaků pro konkrétní typ ve výsledné tabulce, která bude indikovat, že aktuální vzor nemá omezení pro tento sloupec. Výchozí hodnota je null, s výjimkou řetězců sloupců, pro které je výchozí prázdný řetězec. Pokud je výchozí hodnota v datech realizovatelná, měla by se použít jiná hodnota se zástupnými čarmi. Například *. Chcete-li použít výchozí hodnotu, zadejte vlnovku: ~.Příklad: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", "~", int(-1), double(-1), long(0), datetime(1900-1-1)) |
Návraty
diffpatterns vrátí malou sadu vzorů, které zachycují různé části dat ve dvou sadách (to znamená vzor zachycující velké procento řádků v první datové sadě a nízké procento řádků v druhé sadě). Každý vzor je ve výsledcích reprezentován řádkem.
Výsledek diffpatterns vrátí následující sloupce:
SegmentId: identita přiřazená k vzoru v aktuálním dotazu (poznámka: ID nejsou zaručena stejná v opakujících se dotazech).
CountA: Počet řádků zachycených vzorem v sadě A (Sada A je ekvivalentem
where tostring(splitColumn) == SplitValueA).CountB: počet řádků zachycených vzorem v sadě B (Sada B je ekvivalentem
where tostring(splitColumn) == SplitValueB).PercentA: Procento řádků v sadě A zachycené vzorem (100,0 * CountA / count(SetA)).
PercentB: procento řádků v sadě B zachycené vzorem (100,0 * CountB / count(SetB)).
PercentDiffAB: absolutní procentuální rozdíl mezi A a B (|PercentA – PercentB|) je hlavním měřítkem významnosti vzorů při popisu rozdílu mezi těmito dvěma sadami.
Zbytek sloupců: jsou původní schéma vstupu a popisují vzor, každý řádek (vzor) představuje průsečík hodnot ne zástupných znaků sloupců (ekvivalent pro každou hodnotu bez zástupných
where col1==val1 and col2==val2 and ... colN=valNznaků v řádku).
U každého vzoru budou sloupce, které nejsou nastavené v vzoru (tj. bez omezení konkrétní hodnoty), obsahovat hodnotu se zástupným znakem, která má ve výchozím nastavení hodnotu null. V části Argumenty níže se dozvíte, jak se dají zástupné důkazy ručně změnit.
- Poznámka: Vzory nejsou často odlišné. Můžou se překrývat a obvykle nezakrývají všechny původní řádky. Některé řádky nemusí spadat pod žádný vzor.
Návod
Příklady
Následující příklad ukazuje, jak pomocí diffpatterns modulu plug-in analyzovat datovou sadu StormEvents. Porovnává události, ke kterým došlo v květnu, a zaměřuje se na rozdíly mezi událostmi a bez poškození. Dotaz pomocí diffpatterns modulu plug-in identifikuje vzory, které rozlišují mezi těmito dvěma skupinami na základě sloupců State (Stav), EventType (Typ události), Source (Zdroj) a DamageCrops (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" )
Výstup
| Identifikátor segmentu | PočetA | CountB | Procenta | PercentB | percentuální rozdíl AB | Stát | Typ události | Zdroj | DamageCrops |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 2278 | 93 | 49,8 | 7.1 | 42.7 | Krupobití | 0 | ||
| 1 | 779 | 512 | 17.03 | 39.08 | 22.05 | Větrná bouře | |||
| 2 | 1098 | 118 | 24.01 | 9.01 | 15 | Trénovaný spotter | 0 | ||
| 3 | 136 | 158 | 2,97 | 12.06 | 9.09 | Noviny | |||
| 4 | 359 | 214 | 7.85 | 16.34 | 8.49 | Velká voda | |||
| 5 | 50 | 122 | 1.09 | 9,31 | 8.22 | IOWA | |||
| 6 | 655 | 279 | 14.32 | 21.3 | 6.98 | Donucovacími | |||
| 7 | sto padesát | 117 | 3.28 | 8.93 | 5.65 | Povodeň | |||
| 8 | 362 | 176 | 7.91 | 13.44 | 5.52 | Správce tísňového volání |