UiPath Documentation
process-mining
2021.10
true

Guía del usuario de Process Mining

Última actualización 5 de may. de 2026

Expresiones agregadas

Introducción

Las expresiones de registro solo toman como entrada el valor del propio registro. En comparación, las expresiones agregadas pueden utilizarse para realizar cálculos sobre un conjunto específico de registros. Por ejemplo, para calcular la Cantidad total de todos los registros, o el número total de registros en el conjunto de datos. Una expresión agregada puede compararse con la función GROUP BY en SQL.

Agregado en el nivel raíz

Una expresión agregada calcula un valor para cada valor único en el nivel agregado. De forma predeterminada, está en el nivel Raíz , es decir, un valor para toda la tabla.

Imagen de documentos

A continuación se muestra un ejemplo de una expresión agregada para calcular la suma de todos los importes en el conjunto de datos de Facturas.

Imagen de documentos

La expresión agregada sum(records.amount) se evalúa como se describe a continuación:

  1. Toma todos los registros en Facturas.
  2. Para cada registro, elige el valor del atributo Cantidad de origen de datos.
  3. Devuelve la suma de todas estas cantidades.

La expresión calcula un valor único, pero este valor se agrega a cada registro del conjunto de datos. A continuación se muestra un ejemplo de un conjunto de datos que contiene 4 filas.

Imagen de documentos

Agregado en subnivel

En lugar de calcular un agregado sobre todo el conjunto de datos, también puede calcular un valor sobre grupos de registros.

Imagen de documentos

A continuación se muestra un ejemplo de expresión agregada para calcular el importe total por proveedor.

Imagen de documentos

Se agrega un nivel de agregación y el ámbito de la expresión se establece en este nuevo nivel. A continuación se muestra un conjunto de datos de ejemplo.

Imagen de documentos

La expresión agregada se calcula una vez para cada valor individual dentro del nivel de ámbito. Este valor se añade a cada registro dentro de este ámbito. Por lo tanto, el importe total se calcula una vez y luego se copia 4 veces en cada registro. El importe total por proveedor se calcula 3 veces. Como hay 2 registros con "Proveedor A", su valor se establece en ambos registros. Como solo hay un registro para el "Proveedor B" y el "Proveedor C", el valor se asigna al registro correspondiente.

Definir un subnivel

Siga estos pasos para definir una expresión agregada en el subnivel.

PasoAcción
1Haz clic con el botón derecho en Raíz en el panel Configuración del cuadro de diálogo Editar atributo de expresión .
2Selecciona Añadir nivel.
3Haz clic en ... nivel y selecciona el atributo de origen de datos en el que deseas agrupar valores. En este caso Proveedor.
4Haz clic derecho en el nivel de atributo seleccionado y selecciona Establecer como nivel de expresión.
Nota:

El nivel seleccionado se indica con una flecha.

Estructura de árbol

En una expresión agregada, también es posible acceder a otros niveles además del nivel de agregación seleccionado. Podemos usar p (para el elemento principal) y c (para el elemento secundario) para recorrer la estructura de árbol.

Nota:

Un nodo tiene un elemento principal, por lo que p devuelve un solo nodo, pero puede tener varios elementos secundarios, por lo que c devuelve una lista de nodos.

Nivel de agregación principal

Imagen de documentos

A continuación, se muestra un ejemplo de expresión agregada basada en un nivel principal.

Imagen de documentos

La expresión percentage(sum(records.Amount) / sum(p.records.Amount) * 100) calcula un porcentaje para cada proveedor:

  1. la suma de los importes asociados con un proveedor se divide por la suma de todos los importes.
  2. el ámbito se desplaza al nivel principal, es decir, raíz.
  3. el resultado se multiplica por 100 para convertirlo en porcentaje.

Nivel de agregación secundario

Imagen de documentos

A continuación, se muestra un ejemplo de una expresión agregada basada en un nivel secundario.

Imagen de documentos

La expresión count(c) devuelve una lista de todos los proveedores por Tipo de proveedor. Dado que cada elemento secundario es un proveedor, se puede contar el número de elementos secundarios c .

Crear comprobaciones condicionales

Para expresiones de registro, la función if() se puede utilizar para comprobaciones condicionales. Sin embargo, esta función solo se puede aplicar por registro. No es posible verificar una condición dentro de un grupo de registros usando una instrucción "Si". La estructura de árbol se puede usar para recorrer (partes específicas de) tus datos, por ejemplo, para expresar propiedades.

Imagen de documentos

Las siguientes funciones se pueden utilizar para este tipo de cálculos.

FunciónDescripción
exists(Scope, Condition)Devuelve true si al menos una Condición en el Ámbito se evalúa como true.
forall(Scope, Condition)Devuelve true si todas las condiciones en el ámbito se evalúan como true.

Consulta la siguiente ilustración para ver un ejemplo.

Imagen de documentos

Por ejemplo, la expresión

exists(records, find(lower(Supplier), 'consulting')

comprueba para cada tipo de proveedor si hay facturas de un proveedor con "consultoría" como parte del nombre.

Nota:

lower se utiliza para convertir los nombres de los proveedores a minúsculas y hacer que la marca de verificación no distinga entre mayúsculas y minúsculas.

Filtrar

Al agregar datos, a veces se realizan cálculos en función de una parte específica de los datos. En este caso, se puede utilizar la función filter() .

Imagen de documentos

A continuación se muestra un ejemplo de expresión agregada basada en un filtro.

count(
    unique(
        filter(
            records,
            supplier_type = "Machinery"
        ).Supplier
    )
)
count(
    unique(
        filter(
            records,
            supplier_type = "Machinery"
        ).Supplier
    )
)

De dentro hacia fuera, la expresión se construye de la siguiente manera:

  1. Recuperar todos los registros dentro del ámbito actual.

  2. Filtre estos registros para que solo permanezcan los que tienen un tipo de Proveedor de Maquinaria .

  3. Para cada registro filtrado, devuelve el valor del atributo Fuente de datos del proveedor .

  4. Elimine todos los valores duplicados de la lista, para que solo tengamos un elemento por valor único.

  5. Cuenta el número de elementos que quedan en la lista.

    Imagen de documentos

En el ejemplo, el nivel de Propietario del caso se establece como nivel de expresión. Esto significa que el ámbito de la expresión es calcular un valor para todos los valores únicos del Propietario del caso. Para cada valor de propietario del caso , records es la lista de registros que pertenecen a este propietario del caso.

La expresión devuelve un valor para cada propietario del caso, que indica el número de proveedores únicos con el tipo Maquinaria.

Otras opciones de filtro

El menú del panel Configuración contiene opciones para añadir filtros para agregados.

Imagen de documentos

A continuación, se describen las opciones del menú Ajustes.

OpciónDescripción
Habilitar expresión de filtroLe permite introducir una expresión como filtro.
Habilitar controles de filtroAbre el cuadro de diálogo Editar controles de filtro, donde puedes seleccionar un control de filtro disponible de la lista.
Habilitar período de comparaciónLe permite añadir un período de comparación o una expresión para definir un número de períodos anteriores para filtrar.
Aplicar filtros de usuario finalLe permite aplicar los filtros disponibles para el usuario final.
Nota:

Cuando utilizas las opciones de filtro del menú Configuración , el resultado del filtro se muestra en el panel Valor . Consulta la siguiente ilustración para ver un ejemplo.

Imagen de documentos

Clasificación

La clasificación se puede utilizar para determinar el valor más alto o más bajo o para procesar registros en un orden determinado.

Cuando necesite el primer o el último registro para su expresión, puede ordenar por nivel de las siguientes maneras:

  • A..Z y Z..A ordenarán por valor.
    • En las cadenas, se ordenará alfabéticamente.
    • En formatos numéricos (doble, entero), se ordenará según un valor numérico.
    • En formatos relacionados con la hora (fecha y hora, fecha) se ordenará por orden cronológico.
  • 0..9 y 9..0 se ordenarán según el número de registros del grupo.
  • Expresión te permite rellenar una expresión, que se ordenará por valor como se ha descrito anteriormente.

Para cada una de estas opciones de clasificación, es posible establecer el orden ascendente o descendente.

Consulte la siguiente ilustración para ver un ejemplo de clasificación en la que se determina el primer usuario que trabaja en cada caso.

Imagen de documentos

La expresión agregada first(records.User) determina el primero User de cada Case ID. Event end está ordenado.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado