Comparar Valores de Atributos

Descripción general

El filtro Comparar Valores de Atributos valida cálculos matemáticos comparando el resultado de una operación calculada con un valor resultado almacenado. Este filtro realiza operaciones aritméticas (suma, resta, multiplicación, división) sobre dos atributos y compara el resultado calculado con un tercer atributo que contiene el resultado esperado. Puede filtrar casos según si el cálculo coincide, difiere o produce resultados nulos en comparación con los valores almacenados.

El filtro soporta filtrado a nivel de caso y a nivel de evento dependiendo de la fuente de los atributos. Incluye manejo de tolerancia para problemas de precisión en punto flotante mediante un umbral configurable, lo que lo hace ideal para validación de calidad de datos y detección de anomalías en procesos de negocio.

Usos comunes

  • Validación de calidad de datos: Verificar que totales calculados coincidan con totales almacenados en datos financieros, identificando posibles errores de ingreso o problemas en cálculos del sistema.
  • Verificación de facturas: Comprobar que los montos de línea (cantidad * precio) coincidan con el monto total almacenado, señalando facturas con discrepancias en cálculos.
  • Análisis de conciliación: Encontrar casos donde los cálculos esperados no coinciden con valores reales, como cálculos de impuestos, aplicación de descuentos o conversiones de moneda.
  • Detección de fraude: Identificar transacciones sospechosas donde los valores calculados no se alinean con los registrados, lo que puede indicar manipulación manual o errores del sistema.
  • Verificaciones de integridad de procesos: Asegurar que los valores derivados en los datos de proceso sean matemáticamente consistentes con sus valores fuente.
  • Validación de migraciones de sistema: Verificar la integridad de datos tras migraciones de sistema comprobando que los campos calculados se mantuvieron consistentes con sus valores fuente.

Configuración

Primer Operando: El nombre del primer atributo usado en la operación matemática. Debe contener datos numéricos (enteros o decimales) y debe ser de la misma fuente (caso o evento) que los otros atributos operando y resultado.

Tipo de Operación: Especifica la operación matemática a realizar entre el primer y segundo operando. Opciones disponibles:

  • Añadir: Operación de suma (Primer Operando + Segundo Operando)
  • Restar: Operación de resta (Primer Operando - Segundo Operando)
  • Multiplicar: Operación de multiplicación (Primer Operando * Segundo Operando)
  • Dividir: Operación de división (Primer Operando / Segundo Operando). Maneja automáticamente división por cero tratándola como resultado nulo.

Segundo Operando: El nombre del segundo atributo usado en la operación matemática. Debe contener datos numéricos y ser de la misma fuente que el primer operando y el atributo resultado.

Atributo Resultado: El nombre del atributo que contiene el valor de resultado esperado para comparar contra el resultado calculado de la operación. Debe contener datos numéricos y ser de la misma fuente que los atributos operando.

Conservar Registros: Determina qué registros conservar según el resultado de la comparación:

  • Igual: Conserva registros donde el resultado calculado coincide con el resultado almacenado (dentro del umbral especificado)
  • Diferente: Conserva registros donde el resultado calculado difiere del resultado almacenado
  • Nulo: Conserva registros donde el cálculo produce un resultado nulo (normalmente por valores faltantes o división por cero)

Umbral de Tolerancia: Establece el umbral de tolerancia para tratar pequeñas diferencias como cero debido a problemas de precisión en punto flotante. Si la diferencia absoluta entre resultados calculado y esperado es menor que este umbral, la diferencia se considera cero (coincidente). El valor por defecto es 0.01. Use 0.0 para comparación exacta sin tolerancia.

Ejemplos

Ejemplo 1: Encontrar errores en cálculos de facturas

Escenario: Desea identificar facturas donde el total de línea (Cantidad * Precio Unitario) no coincida con el valor almacenado de Total de Línea, indicando posibles errores de ingreso o cálculo.

Configuración:

  • Primer Operando: "Quantity"
  • Tipo de Operación: Multiply
  • Segundo Operando: "Unit Price"
  • Atributo Resultado: "Line Total"
  • Conservar Registros: Different
  • Umbral de Tolerancia: 0.01

Resultado: El filtro devuelve casos donde el valor calculado (Quantity * Unit Price) difiere del Total de Línea almacenado por más de 0.01.

Observaciones: Estos casos pueden representar errores de ingreso, inconsistencias por redondeo, fallas en cálculos del sistema o ajustes manuales potencialmente fraudulentos. Los casos deben ser revisados para corrección.

Ejemplo 2: Validar cálculos de descuentos

Escenario: Necesita verificar que el precio final sea igual al precio original menos el monto de descuento, ayudando a identificar errores en precios o aplicación incorrecta de descuentos.

Configuración:

  • Primer Operando: "Original Price"
  • Tipo de Operación: Subtract
  • Segundo Operando: "Discount Amount"
  • Atributo Resultado: "Final Price"
  • Conservar Registros: Different
  • Umbral de Tolerancia: 0.01

Resultado: El filtro selecciona casos donde (Original Price - Discount Amount) no coincide con el Precio Final almacenado.

Observaciones: Las discrepancias pueden indicar descuentos aplicados incorrectamente, errores de ingreso o violaciones a la política de precios que requieren investigación.

Ejemplo 3: Detectar problemas en cálculo de impuestos

Escenario: Identificar órdenes donde el monto calculado de impuesto (Subtotal * Tasa de Impuesto) no coincida con el valor de impuesto almacenado, lo que podría indicar errores en cálculos o cambios de tasa.

Configuración:

  • Primer Operando: "Subtotal"
  • Tipo de Operación: Multiply
  • Segundo Operando: "Tax Rate"
  • Atributo Resultado: "Tax Amount"
  • Conservar Registros: Different
  • Umbral de Tolerancia: 0.001

Resultado: El filtro devuelve casos donde el impuesto calculado difiere del monto de impuesto almacenado.

Observaciones: Estos casos pueden requerir recalculo de impuestos, reembolsos o correcciones para garantizar cumplimiento de regulaciones fiscales.

Ejemplo 4: Encontrar casos con datos de cálculo faltantes

Escenario: Desea identificar casos donde no se pueden realizar cálculos debido a valores faltantes, ayudando a detectar ingreso de datos incompletos o problemas de integración del sistema.

Configuración:

  • Primer Operando: "Amount"
  • Tipo de Operación: Divide
  • Segundo Operando: "Quantity"
  • Atributo Resultado: "Unit Price"
  • Conservar Registros: Null
  • Umbral de Tolerancia: 0.01

Resultado: El filtro selecciona casos donde alguno de los tres valores (Amount, Quantity o Unit Price) es nulo, o donde Quantity es cero (división por cero).

Observaciones: Estos casos indican problemas de calidad de datos que deben ser corregidos, como campos requeridos faltantes o transacciones incompletas.

Ejemplo 5: Verificar cálculos de saldo

Escenario: Asegurar que el saldo inicial más el monto de la transacción sea igual al saldo final en cuentas financieras, requiriendo precisión exacta.

Configuración:

  • Primer Operando: "Opening Balance"
  • Tipo de Operación: Add
  • Segundo Operando: "Transaction Amount"
  • Atributo Resultado: "Closing Balance"
  • Conservar Registros: Same
  • Umbral de Tolerancia: 0.0

Resultado: El filtro devuelve solo casos donde el cálculo coincide exactamente (Opening Balance + Transaction Amount = Closing Balance).

Observaciones: Esto ayuda a verificar la exactitud contable y puede usarse para confirmar que todas las transacciones están correctamente registradas con actualizaciones precisas del saldo.

Ejemplo 6: Encontrar cálculos consistentes de precio unitario

Escenario: Identificar casos donde el cálculo del precio unitario es correcto (Monto Total / Cantidad = Precio Unitario), lo que puede usarse para validar la consistencia de precios en órdenes.

Configuración:

  • Primer Operando: "Total Amount"
  • Tipo de Operación: Divide
  • Segundo Operando: "Quantity"
  • Atributo Resultado: "Unit Price"
  • Conservar Registros: Same
  • Umbral de Tolerancia: 0.01

Resultado: El filtro devuelve casos donde el precio unitario calculado coincide con el almacenado dentro del umbral de tolerancia.

Observaciones: Esto ayuda a identificar órdenes calculadas correctamente que pueden servir como referencia, mientras que excluir estos casos permite concentrarse en los problemáticos.

Resultado

El filtro devuelve un nuevo conjunto de datos que contiene solo los casos que cumplen con el criterio de comparación especificado. Para filtrado a nivel de caso (usando atributos de caso), se conservan o eliminan casos completos según si cumplen la condición. Para filtrado a nivel de evento (usando atributos de evento), se conservan casos si contienen al menos un evento que cumple la condición especificada.

Los tres atributos (Primer Operando, Segundo Operando y Atributo Resultado) deben ser de la misma fuente, ya sea todos atributos de caso o todos de evento. Si los atributos son de diferentes fuentes, el filtro devuelve el conjunto de datos original sin cambios.

El filtro preserva todos los eventos y atributos originales en los casos retornados.

Notas técnicas

  • Tipo de filtro: Filtro a nivel de caso (elimina casos completos basados en comparaciones de atributos)
  • Flexibilidad de fuente de datos: Soporta atributos de caso y de evento, pero los tres deben ser de la misma fuente
  • Tipos numéricos soportados: Double, Single, Int32 (entero), Int64 (entero largo)
  • Manejo de división por cero: Las operaciones de división solo se realizan si el segundo operando es mayor que cero; de lo contrario, el resultado es nulo
  • Manejo de valores nulos: Si alguno de los tres valores requeridos es nulo, el resultado del cálculo se considera nulo
  • Procesamiento del umbral: Después de calcular la diferencia, se aplica el umbral de tolerancia para manejar problemas de precisión en punto flotante
  • Rendimiento: Valida cálculos eficientemente en conjuntos de datos grandes con comparaciones numéricas optimizadas

Esta documentación es parte de la plataforma de minería de procesos mindzieStudio.