Vergelijk Attribuutwaarden
Overzicht
De filter Vergelijk Attribuutwaarden valideert wiskundige berekeningen door het resultaat van een berekende operatie te vergelijken met een opgeslagen resultaatwaarde. Deze filter voert rekenkundige bewerkingen (optellen, aftrekken, vermenigvuldigen, delen) uit op twee attributen en vergelijkt het berekende resultaat met een derde attribuut dat de verwachte uitkomst bevat. Hij kan gevallen filteren op basis van of de berekening overeenkomt, verschilt van, of null-resultaten oplevert ten opzichte van de opgeslagen waarden.
De filter ondersteunt zowel case-niveau als event-niveau filtering, afhankelijk van de bron van de attributen. Het bevat toleranties voor afrondingsfouten door een configureerbare drempel, wat het ideaal maakt voor datakwaliteitsvalidatie en het detecteren van anomalieën in bedrijfsprocessen.
Veelvoorkomende Toepassingen
- Datakwaliteitsvalidatie: Verifiëren dat berekende totalen overeenkomen met opgeslagen totalen in financiële gegevens, waarbij potentiële invoerfouten of systeemfouten zichtbaar worden.
- Factuurverificatie: Controleren of de regelbedragen (aantal * prijs) kloppen met het opgeslagen totaalbedrag, en facturen met discrepanties signaleren.
- Reconciliatie-analyse: Vinden van gevallen waarin de verwachte berekeningen niet overeenkomen met de werkelijke waarden, zoals belastingberekeningen, kortingen of valutaconversies.
- Fraudedetectie: Opsporen van verdachte transacties waar berekende waarden niet overeenkomen met geregistreerde waarden, mogelijk wijzend op handmatige manipulaties of systeemfouten.
- Procesintegriteitscontroles: Zorgen dat afgeleide waarden in je procesgegevens wiskundig consistent zijn met hun bronwaarden.
- Validatie van systeemmigratie: Verifiëren van dataintegriteit na systeemmigraties door te controleren of berekende velden consistent blijven met hun bronwaarden.
Instellingen
Eerste Operand: De naam van het eerste attribuut dat gebruikt wordt in de wiskundige operatie. Dit moet numerieke data bevatten (integer of decimaal) en afkomstig zijn van dezelfde bron (case of event) als het andere operand- en resultaatattribuut.
Type Operatie: Specificeert de wiskundige bewerking die wordt uitgevoerd tussen de eerste en tweede operand. Beschikbare opties:
- Optellen: Optelbewerking (Eerste Operand + Tweede Operand)
- Aftrekken: Aftrekbewerking (Eerste Operand - Tweede Operand)
- Vermenigvuldigen: Vermenigvuldigingsbewerking (Eerste Operand * Tweede Operand)
- Delen: Deelbewerking (Eerste Operand / Tweede Operand). Handelt delen door nul automatisch af als een null-resultaat.
Tweede Operand: De naam van het tweede attribuut dat gebruikt wordt in de wiskundige operatie. Dit moet numerieke data bevatten en afkomstig zijn van dezelfde bron als de eerste operand en het resultaatattribuut.
Resultaatattribuut: De naam van het attribuut dat de verwachte resultaatwaarde bevat om te vergelijken met het berekende resultaat van de operatie. Dit moet numerieke data bevatten en afkomstig zijn van dezelfde bron als de operandattributen.
Bewaar Records: Bepaalt welke records worden bewaard op basis van het vergelijkingsresultaat:
- Gelijk: Behoudt records waarbij het berekende resultaat overeenkomt met het opgeslagen resultaat (binnen de opgegeven drempel)
- Verschillend: Behoudt records waarbij het berekende resultaat verschilt van het opgeslagen resultaat
- Null: Behoudt records waarbij de berekening een null-resultaat oplevert (meestal door ontbrekende waarden of deling door nul)
Tolerantiedrempel: Stelt de tolerantiedrempel in om kleine verschillen als nul te beschouwen vanwege afrondingsfouten bij drijvende komma. Als het absolute verschil tussen berekend en verwacht resultaat kleiner is dan deze drempel, wordt het verschil als nul (gelijk) beschouwd. Standaard is 0,01. Stel in op 0,0 voor een exacte vergelijking zonder tolerantie.
Voorbeelden
Voorbeeld 1: Fouten in factuurberekening vinden
Scenario: Je wilt facturen identificeren waarbij het regelbedrag (Aantal * Eenheidsprijs) niet overeenkomt met de opgeslagen Regeltotaalwaarde, wat kan wijzen op invoer- of berekeningsfouten.
Instellingen:
- Eerste Operand: "Quantity"
- Type Operatie: Multiply
- Tweede Operand: "Unit Price"
- Resultaatattribuut: "Line Total"
- Bewaar Records: Different
- Tolerantiedrempel: 0.01
Resultaat: De filter retourneert cases waarbij de berekende waarde (Aantal * Eenheidsprijs) meer dan 0,01 afwijkt van de opgeslagen Regeltotaal.
Inzichten: Deze gevallen kunnen invoerfouten, afrondingsverschillen, systeemfouten of mogelijk frauduleuze handmatige aanpassingen zijn. De cases verdienen controle en correctie.
Voorbeeld 2: Kortingsberekeningen valideren
Scenario: Je wilt verifiëren dat de eindprijs gelijk is aan de oorspronkelijke prijs minus het kortingsbedrag, om fouten in prijsstelling of verkeerde kortingen op te sporen.
Instellingen:
- Eerste Operand: "Original Price"
- Type Operatie: Subtract
- Tweede Operand: "Discount Amount"
- Resultaatattribuut: "Final Price"
- Bewaar Records: Different
- Tolerantiedrempel: 0.01
Resultaat: De filter selecteert cases waarbij (Oorspronkelijke Prijs - Kortingsbedrag) niet overeenkomt met de opgeslagen Eindprijs.
Inzichten: Discrepanties kunnen wijzen op verkeerd toegepaste kortingen, invoerfouten of schending van prijsbeleid die nader onderzoek behoeven.
Voorbeeld 3: Problemen met belastingberekening detecteren
Scenario: Identificeer orders waarbij het berekende belastingbedrag (Subtotaal * Belastingtarief) niet overeenkomt met de opgeslagen belastingwaarde, wat kan duiden op fouten in belastingberekeningen of tariefwijzigingen.
Instellingen:
- Eerste Operand: "Subtotal"
- Type Operatie: Multiply
- Tweede Operand: "Tax Rate"
- Resultaatattribuut: "Tax Amount"
- Bewaar Records: Different
- Tolerantiedrempel: 0.001
Resultaat: De filter retourneert cases waarbij de berekende belasting afwijkt van het opgeslagen belastingbedrag.
Inzichten: Deze situaties kunnen een herberekening van belasting, terugbetalingen of correcties vereisen om te voldoen aan belastingregels.
Voorbeeld 4: Cases met ontbrekende berekeningsgegevens vinden
Scenario: Je wilt cases identificeren waarin berekeningen niet kunnen worden uitgevoerd door ontbrekende waarden, om onvolledige invoer of systeemintegratieproblemen te detecteren.
Instellingen:
- Eerste Operand: "Amount"
- Type Operatie: Divide
- Tweede Operand: "Quantity"
- Resultaatattribuut: "Unit Price"
- Bewaar Records: Null
- Tolerantiedrempel: 0.01
Resultaat: De filter selecteert cases waarbij een van de drie waarden (Bedrag, Aantal, of Eenheidsprijs) null is, of waarbij Aantal nul is (deling door nul).
Inzichten: Dit wijst op datakwaliteitsproblemen die moeten worden aangepakt, zoals ontbrekende verplichte velden of onvolledige transacties.
Voorbeeld 5: Balansberekeningen verifiëren
Scenario: Zorg dat de beginsaldo plus het transactiebedrag gelijk is aan de eindsaldo in financiële accounts, waarbij exacte precisie vereist is.
Instellingen:
- Eerste Operand: "Opening Balance"
- Type Operatie: Add
- Tweede Operand: "Transaction Amount"
- Resultaatattribuut: "Closing Balance"
- Bewaar Records: Same
- Tolerantiedrempel: 0.0
Resultaat: De filter retourneert uitsluitend cases waarbij de berekening exact klopt (Beginsaldo + Transactiebedrag = Eindsaldo).
Inzichten: Dit helpt de boekhoudkundige nauwkeurigheid te verifiëren en bevestigt dat alle transacties correct zijn geregistreerd met correcte balansupdates.
Voorbeeld 6: Consistente eenheidsprijsberekeningen vinden
Scenario: Identificeer cases waarbij de eenheidsprijscorrect wordt berekend (Totaalbedrag / Aantal = Eenheidsprijs), wat kan helpen de prijsconsistentie over orders te valideren.
Instellingen:
- Eerste Operand: "Total Amount"
- Type Operatie: Divide
- Tweede Operand: "Quantity"
- Resultaatattribuut: "Unit Price"
- Bewaar Records: Same
- Tolerantiedrempel: 0.01
Resultaat: De filter retourneert cases waarbij de berekende eenheidsprijs binnen de tolerantiedrempel overeenkomt met de opgeslagen eenheidsprijs.
Inzichten: Dit helpt correct berekende orders als referentie te identificeren, terwijl je je op problematische gevallen kunt richten door deze uit de analyse te sluiten.
Output
De filter retourneert een nieuwe dataset met alleen de cases die voldoen aan het opgegeven vergelijkingscriterium. Bij case-niveau filtering (wanneer case-attributen worden gebruikt) worden volledige cases behouden of verwijderd op basis van het voldoen aan de conditie. Bij event-niveau filtering (met event-attributen) worden cases behouden indien ze ten minste één event bevatten dat aan de voorwaarde voldoet.
Alle drie de attributen (Eerste Operand, Tweede Operand en Resultaatattribuut) moeten van dezelfde bron zijn - ofwel allemaal case-attributen of allemaal event-attributen. Als de attributen van verschillende bronnen komen, retourneert de filter de originele dataset zonder wijzigingen.
De filter behoudt alle originele events en attributen in de geretourneerde cases.
Technische Notities
- Filtetype: Case-niveau filter (verwijdert hele cases op basis van attribuutvergelijkingen)
- Bronflexibiliteit: Ondersteunt zowel case-attributen als event-attributen, maar alle drie moeten van dezelfde bron zijn
- Ondersteunde Numerieke Types: Double, Single, Int32 (integer), Int64 (lange integer)
- Handeling bij deling door nul: Deelbewerkingen worden alleen uitgevoerd als de tweede operand groter is dan nul; anders wordt het resultaat als null beschouwd
- Null-waarde Afhandeling: Als een van de drie benodigde waarden null is, wordt het resultaat van de berekening als null gezien
- Drempelverwerking: Na het berekenen van het verschil wordt de tolerantiedrempel toegepast om afrondingsfouten bij floating-point getallen te corrigeren
- Performance: Valideert efficiënt berekeningen over grote datasets met geoptimaliseerde numerieke vergelijkingen
Deze documentatie maakt deel uit van het mindzieStudio process mining platform.