Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer-
Vergelijkt twee gegevenssets van dezelfde structuur en vindt patronen van discrete kenmerken (dimensies) die verschillen tussen de twee gegevenssets karakteriseren. De invoegtoepassing wordt aangeroepen met de operator evaluate.
diffpatterns is ontwikkeld om fouten te analyseren (bijvoorbeeld door fouten te vergelijken met niet-storingen in een bepaald tijdsbestek), maar kan mogelijk verschillen vinden tussen twee gegevenssets van dezelfde structuur.
Opmerking
diffpatterns is gericht op het vinden van belangrijke patronen (die delen van het gegevensverschil tussen de sets vastleggen) en is niet bedoeld voor rij-op-rij-verschillen.
Syntaxis
T | evaluate diffpatterns(
SplitColumn,SplitValueA,SplitValueB [,WeightColumn,Threshold,MaxDimensions,CustomWildcard, ...])
Meer informatie over syntaxisconventies.
Parameterwaarden
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
| SplitColumn | string |
✔️ | De kolomnaam die aangeeft hoe de query moet worden gesplitst in gegevenssets. Volgens de opgegeven waarden voor de argumenten SplitValueA en SplitValueB splitst het algoritme de query op in twee gegevenssets, 'A' en 'B', en analyseert het de verschillen tussen deze gegevenssets. Als zodanig moet de gesplitste kolom ten minste twee afzonderlijke waarden hebben. |
| SplitValueA | string |
✔️ | Een tekenreeksweergave van een van de waarden in de SplitColumn die is opgegeven. Alle rijen met deze waarde in hun SplitColumn beschouwd als gegevensset A. |
| SplitValueB | string |
✔️ | Een tekenreeksweergave van een van de waarden in de SplitColumn die is opgegeven. Alle rijen met deze waarde in hun SplitColumn beschouwd als gegevensset 'B'. |
| WeightColumn | string |
De kolom die wordt gebruikt om elke rij in de invoer te beschouwen volgens het opgegeven gewicht. Moet een naam zijn van een numerieke kolom, zoals int, longreal. Standaard heeft elke rij een gewicht van '1'. Als u de standaardwaarde wilt gebruiken, voert u de tilde in: ~. Een gemeenschappelijk gebruik van een kolom gewicht is rekening te houden met steekproeven of bucketing/aggregatie van de gegevens die al in elke rij zijn ingesloten.Voorbeeld: T | extend splitColumn= iff(request_responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", sample_Count) |
|
| Drempel | real |
Een reëel bereik van 0,015 tot 1. Met deze waarde wordt het minimale verschil in patroonverhouding tussen de twee sets ingesteld. De standaardwaarde is 0,05. Als u de standaardwaarde wilt gebruiken, voert u de tilde in: ~.Voorbeeld: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", 0.04) |
|
| MaxDimensions | int |
Hiermee stelt u het maximum aantal niet-gerelateerde dimensies per resultaatpatroon in. Door een limiet op te geven, verlaagt u de queryruntime. De standaardwaarde is onbeperkt. Als u de standaardwaarde wilt gebruiken, voert u de tilde in: ~.Voorbeeld: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", 3) |
|
| CustomWildcard | string |
Hiermee stelt u de jokertekenwaarde in voor een specifiek type in de resultaattabel die aangeeft dat het huidige patroon geen beperking voor deze kolom heeft. De standaardwaarde is null, met uitzondering van tekenreekskolommen waarvoor de standaardwaarde een lege tekenreeks is. Als de standaardwaarde een levensvatbare waarde in de gegevens is, moet een andere jokertekenwaarde worden gebruikt. Bijvoorbeeld: *. Als u de standaardwaarde wilt gebruiken, voert u de tilde in: ~.Voorbeeld: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", "~", int(-1), double(-1), long(0), datetime(1900-1-1)) |
Retouren
diffpatterns retourneert een kleine set patronen waarmee verschillende delen van de gegevens in de twee sets worden vastgelegd (dat wil bijvoorbeeld een patroon dat een groot percentage van de rijen in de eerste gegevensset vastlegt en een laag percentage van de rijen in de tweede set). Elk patroon wordt vertegenwoordigd door een rij in de resultaten.
Het resultaat van diffpatterns retourneert de volgende kolommen:
SegmentId: de identiteit die is toegewezen aan het patroon in de huidige query (opmerking: id's zijn niet gegarandeerd hetzelfde in herhalende query's).
CountA: het aantal rijen dat is vastgelegd door het patroon in Set A (Set A is het equivalent van
where tostring(splitColumn) == SplitValueA).CountB: het aantal rijen dat is vastgelegd door het patroon in Set B (Set B is het equivalent van
where tostring(splitColumn) == SplitValueB).PercentA: het percentage rijen in Set A dat is vastgelegd door het patroon (100,0 * CountA / count(SetA)).
PercentageB: het percentage rijen in Set B dat is vastgelegd door het patroon (100,0 * CountB / count(SetB)).
PercentDiffAB: het absolute percentagepuntverschil tussen A en B (|PercentA - PercentB|) is de belangrijkste meting van significantie van patronen bij het beschrijven van het verschil tussen de twee sets.
Rest van de kolommen: zijn het oorspronkelijke schema van de invoer en beschrijven het patroon, elke rij (patroon) vertegenwoordigt het snijpunt van de niet-jokertekenwaarden van de kolommen (equivalent van
where col1==val1 and col2==val2 and ... colN=valNelke niet-jokertekenwaarde in de rij).
Voor elk patroon bevatten kolommen die niet zijn ingesteld in het patroon (dat wil gezegd, zonder beperking voor een specifieke waarde) een jokertekenwaarde, die standaard null is. Zie in de sectie Argumenten hieronder hoe jokertekens handmatig kunnen worden gewijzigd.
- Opmerking: de patronen zijn vaak niet verschillend. Ze kunnen overlappen en hebben meestal geen betrekking op alle oorspronkelijke rijen. Sommige rijen vallen mogelijk niet onder een patroon.
Aanbeveling
Voorbeelden
In het volgende voorbeeld ziet u hoe u de diffpatterns invoegtoepassing gebruikt om de StormEvents-gegevensset te analyseren. Het vergelijkt gebeurtenissen die in mei zijn opgetreden, waarbij de nadruk ligt op de verschillen tussen gebeurtenissen met en zonder schade. De query gebruikt de diffpatterns invoegtoepassing om patronen te identificeren die onderscheid maken tussen deze twee groepen op basis van de kolommen State, EventType, Source en 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" )
Uitvoer
| SegmentId | CountA | CountB | PercentageA | PercentageB | PercentueelVerschilAB | Staat | Type van evenement | Bron | Schadecrops |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 2278 | 93 | 49.8 | 7.1 | 42.7 | Hagel | 0 | ||
| 1 | 779 | 512 | 17.03 | 39.08 | 22.05 | Onweer wind | |||
| 2 | 1098 | 118 | 24.01 | 9.01 | 15 | Getrainde spotter | 0 | ||
| 3 | 136 | 158 | 2,97 | 12.06 | 9.09 | Krant | |||
| 4 | 359 | 214 | 7.85 | 16.34 | 8.49 | Stortvloed | |||
| 5 | 50 | 122 | 1.09 | 9.31 | 8.22 | IOWA | |||
| 6 | 655 | 279 | 14.32 | 21.3 | 6.98 | Wetshandhaving | |||
| 7 | 150 | 117 | 3.28 | 8.93 | 5.65 | Overstroming | |||
| 8 | 362 | 176 | 7.91 | 13.44 | 5.52 | Emergency Manager |