En esta página

Funciones de agregación de casos

Funciones para agregar valores de todos los eventos de un mismo caso.

Cómo funcionan las agregaciones de casos

En Process Mining, un caso representa una instancia individual de un proceso (por ejemplo, un pedido, un ticket o el recorrido de un cliente). Cada caso contiene varios eventos (los pasos o actividades individuales).

Las funciones de agregación de casos calculan valores a partir de todos los eventos de un caso y ponen el resultado a disposición de cada evento. Esto permite:

  • Calcular los valores totales de un caso (por ejemplo, el importe total de un pedido)
  • Encontrar patrones en los casos (por ejemplo, el número de eventos de retrabajo)
  • Comparar eventos individuales con estadísticas del caso

Patrones habituales

  • Calcular los totales del caso:

    caseSum(ItemAmount)           // Total order value
    caseCount()                   // Number of events in case
    caseCountDistinct(Resource)   // Unique resources involved
  • Encontrar valores extremos:

    caseMin(Timestamp)            // First event time
    caseMax(Timestamp)            // Last event time
    caseMax(Timestamp) - caseMin(Timestamp)   // Total case duration
  • Agregaciones condicionales:

    caseCountIf(Status == "Error")            // Error count
    caseSumIf(Amount, Activity == "Payment")  // Total payments
    caseAvgIf(Duration, Activity == "Review") // Avg review time
  • Comparar un evento con el caso:

    Duration / caseAvg(Duration)  // Is this event faster/slower than average?

caseSum

(attribute)

Suma un atributo numérico de todos los eventos del caso actual.

Parámetros
attribute number Atributo que se va a sumar
Devuelve number
Ejemplos
caseSum(ItemAmount) → Suma de todos los valores de ItemAmount del caso

caseAvg

(attribute)

Calcula el promedio de un atributo numérico de todos los eventos del caso actual.

Parámetros
attribute number Atributo del que se va a calcular el promedio
Devuelve number
Ejemplos
caseAvg(ProcessingTime) → Tiempo de procesamiento promedio por evento

caseMin

(attribute)

Devuelve el valor mínimo del atributo entre todos los eventos del caso actual.

Parámetros
attribute number Atributo cuyo valor mínimo se va a devolver
Devuelve number
Ejemplos
caseMin(ItemPrice) → Precio más bajo del caso

caseMax

(attribute)

Devuelve el valor máximo del atributo entre todos los eventos del caso actual.

Parámetros
attribute number Atributo cuyo valor máximo se va a devolver
Devuelve number
Ejemplos
caseMax(ItemPrice) → Precio más alto del caso

caseCount

()

Devuelve el número de eventos del caso actual.

Devuelve number
Ejemplos
caseCount() → Número de eventos del caso

caseMedian

(attribute)

Devuelve el valor mediano del atributo entre todos los eventos del caso actual.

Parámetros
attribute number Atributo cuya mediana se va a devolver
Devuelve number
Ejemplos
caseMedian(Duration) → Valor mediano de Duration en el caso

caseCountDistinct

(attribute)

Cuenta los valores distintos de un atributo en el caso actual.

Parámetros
attribute any Atributo cuyos valores distintos se van a contar
Devuelve number
Ejemplos
caseCountDistinct(Resource) → Número de recursos únicos del caso

caseStdDev

(expr)

Calcula la desviación estándar de los eventos del caso.

Parámetros
expr number Expresión del valor
Devuelve number
Ejemplos
caseStdDev(Amount) → Desviación estándar dentro del caso

caseSumIf

(attribute, condition)

Suma los valores solo de los eventos que cumplen una condición.

Parámetros
attribute number Atributo que se va a sumar
condition boolean Condición para filtrar
Devuelve number
Ejemplos
caseSumIf(Amount, Status == "Approved") → Suma de Amount cuando Status es Aprobado

caseAvgIf

(attribute, condition)

Calcula el promedio de los valores solo de los eventos que cumplen una condición.

Parámetros
attribute number Atributo del que se va a calcular el promedio
condition boolean Condición para filtrar
Devuelve number
Ejemplos
caseAvgIf(Duration, Activity == "Review") → Duración promedio de las actividades de revisión

caseCountIf

(condition)

Cuenta los eventos del caso actual que cumplen una condición.

Parámetros
condition boolean Condición que se contará
Devuelve number
Ejemplos
caseCountIf(Status == "Error") → Número de eventos con errores del caso

caseMinIf

(attribute, condition)

Devuelve el valor mínimo entre los eventos que cumplen una condición.

Parámetros
attribute number Atributo cuyo valor mínimo se va a devolver
condition boolean Condición para filtrar
Devuelve number
Ejemplos
caseMinIf(Timestamp, Activity == "Start") → Marca de tiempo de la primera actividad de inicio

caseMaxIf

(attribute, condition)

Devuelve el valor máximo entre los eventos que cumplen una condición.

Parámetros
attribute number Atributo cuyo valor máximo se va a devolver
condition boolean Condición para filtrar
Devuelve number
Ejemplos
caseMaxIf(Timestamp, Activity == "End") → Marca de tiempo de la última actividad de fin

Agregaciones acumuladas

Las agregaciones acumuladas calculan valores acumulados hasta el evento actual, incluido. Al recorrer cronológicamente los eventos de un caso, el valor acumulado se actualiza.

Son útiles para:

  • Seguir los totales acumulados (suma acumulada)
  • Identificar la posición del evento (recuento acumulado)
  • Calcular promedios móviles

Patrones de agregación acumulada

  • Totales acumulados: siga cómo se acumula un valor a lo largo del caso:

    caseRunningSum(ItemAmount)   // Cumulative order total at each event
    Evento Importe caseRunningSum(Amount)
    1 100 100
    2 50 150
    3 75 225
  • Posición del evento: identifique la ubicación de un evento en la secuencia del caso:

    caseRunningCount()   // 1, 2, 3, 4...
  • Promedio móvil: calcule el promedio hasta el punto actual:

    caseRunningAvg(Duration)   // Average duration so far
  • Lógica basada en la posición:

    if(caseRunningCount() == 1, "First", 
       if(caseRunningCount() == caseCount(), "Last", "Middle")
    )

caseRunningSum

(attribute)

Calcula la suma acumulada hasta el evento actual, incluido.

Parámetros
attribute number Atributo que se va a sumar
Devuelve number
Ejemplos
caseRunningSum(ItemAmount) → Suma acumulada en cada evento

caseRunningCount

()

Devuelve la posición del evento en el caso, empezando por 1.

Devuelve number
Ejemplos
caseRunningCount() → Posición del evento: 1, 2, 3, ...

caseRunningAvg

(attribute)

Calcula el promedio acumulado hasta el evento actual, incluido.

Parámetros
attribute number Atributo del que se va a calcular el promedio
Devuelve number
Ejemplos
caseRunningAvg(Duration) → Duración promedio hasta este punto

caseRunningMin

(expr)

Calcula el mínimo acumulado hasta el evento actual.

Parámetros
expr number Expresión del valor
Devuelve number
Ejemplos
caseRunningMin(Amount) → Importe mínimo acumulado

caseRunningMax

(expr)

Calcula el máximo acumulado hasta el evento actual.

Parámetros
expr number Expresión del valor
Devuelve number
Ejemplos
caseRunningMax(Amount) → Importe máximo acumulado

Funciones estadísticas

Funciones estadísticas para analizar la distribución de valores dentro de un caso.

  • Percentiles: determine la posición de un valor con respecto a los demás del caso. Indique el percentil como una fracción entre 0 y 1; por ejemplo, 0.9 representa el percentil 90:

    casePercentile(Duration, 0.5)   // Median duration in this case
    casePercentile(Duration, 0.9)   // 90th percentile
  • Varianza: mida la dispersión de los valores:

    caseVariance(Amount)           // Variation within this case

casePercentile

(attribute, percentile)

Calcula el percentil de un atributo dentro del caso actual.

Parámetros
attribute number Atributo que se va a analizar
percentile number Percentil expresado como una fracción de 0 a 1 (0.9 = percentil 90)
Devuelve number
Ejemplos
casePercentile(Duration, 0.9) → Duración del percentil 90 del caso

caseVariance

(attribute)

Calcula la varianza de un atributo dentro del caso actual.

Parámetros
attribute number Atributo que se va a analizar
Devuelve number
Ejemplos
caseVariance(ProcessingTime) → Varianza de los tiempos de procesamiento del caso

Temas relacionados

Diseñe mejores procesos. Conecte su arquitectura. Mantenga el control.

Acceda de inmediato, sin tarjeta de crédito ni esperas. Transforme la forma de trabajar de su organización en diseños de procesos claros y conectados.

Defina la arquitectura de procesos, los responsables y los controles, y alinee las funciones y responsabilidades en todos los niveles.

Comience su prueba gratuita y establezca una base fiable para gobernar, gestionar y mejorar continuamente sus procesos.