- Notas relacionadas
- Primeros pasos
- Instalación
- Requisitos de hardware y software
- Instalación del servidor
- Actualizar la licencia
- Implementar el perfilador de UiPath Process Mining
- Implementar un conector (.mvp)
- Actualizar UiPath Process Mining
- Actualizar una versión personalizada de una aplicación o un acelerador de descubrimiento
- Instalar un entorno de pruebas
- Configuración
- Integraciones
- Autenticación
- Working with Apps and Discovery Accelerators
- Menús y paneles de AppOne
- Configuración de AppOne
- Menús y paneles de TemplateOne 1.0.0
- Configuración de TemplateOne 1.0.0
- Menús y paneles de TemplateOne
- Configuración de TemplateOne 2021.4.0
- Menús y paneles de Purchase to Pay Discovery Accelerator
- Configuración del acelerador de compra para pagar
- Menús y paneles de Order to Cash Discovery Accelerator
- Orden de cobro de la configuración del Discovery Accelerator
- Basic Connector for AppOne
- Despliegue del Conector básico
- Introduction to Basic Connector
- Tablas de entrada del conector básico
- Añadir etiquetas
- Añadir estimaciones de automatización
- Añadir fechas de vencimiento
- Añadir modelos de referencia
- Setting up Actionable Insights
- Configurar gráficos contraíbles
- Utilizar el conjunto de datos de salida en AppOne
- Output tables of the Basic Connector
- SAP Connectors
- Introduction to SAP Connector
- Entrada de SAP
- Comprobación de los datos en el conector SAP
- Añadir etiquetas específicas del proceso al conector de SAP para AppOne
- Añadir fechas de vencimiento específicas del proceso al conector de SAP para AppOne
- Añadir estimaciones de automatización al conector de SAP para AppOne
- Añadir atributos al Conector SAP para AppOne
- Añadir actividades al Conector SAP para AppOne
- Añadir entidades al Conector SAP para AppOne
- Conector de pedido por cobro de SAP para AppOne
- Conector de SAP Purchase to Pay para AppOne
- Conector SAP para Purchase to Pay Discovery Accelerator
- SAP Connector for Order-to-Cash Discovery Accelerator
- Superadmin
- Paneles y gráficos
- Tablas y elementos de tabla
- Integridad de la aplicación
- How to ....
- Trabajar con conectores SQL
- Introduction to SQL connectors
- Setting up a SQL connector
- CData Sync extractions
- Running a SQL connector
- Editing transformations
- Publicar un conector SQL
- Scheduling data extraction
- Structure of transformations
- Using SQL connectors for released apps
- Generating a cache with scripts
- Setting up a local test environment
- Separate development and production environments
- Recursos útiles
Expresiones agregadas
GROUP BY
en SQL.
Una expresión agregada calcula un valor para cada valor único a nivel agregado. Por defecto, se encuentra en el nivel Raíz , es decir, un valor para toda la tabla.
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.
sum(records.amount)
se evalúa como se describe a continuación:
- Llevar todos los registros de Facturas.
- Para cada registro, elige el valor del atributo de origen de datos Amount .
- 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.
En lugar de calcular un agregado sobre todo el conjunto de datos, también puede calcular un valor sobre grupos de registros.
A continuación se muestra un ejemplo de expresión agregada para calcular el importe total por proveedor.
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.
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, la cantidad total se calcula una vez y luego se copia 4 veces en cada registro. La cantidad total por proveedor se calcula 3 veces. Dado que hay 2 registros con el "Proveedor A", su valor se establece en ambos registros. Como solo hay un registro para "Proveedor B" y "Proveedor C", el valor se asigna al registro correspondiente.
Siga estos pasos para definir una expresión agregada en el subnivel.
Paso |
Acción |
---|---|
1 |
Haz clic con el botón derecho del ratón en Raíz en el panel Configuración del cuadro de diálogo Editar atributo de expresión . |
2 |
Selecciona Añadir nivel. |
3 |
Haga clic en nivel y seleccione el atributo de la fuente de datos en el que desea agrupar los valores. En este caso Proveedor. |
4 |
Haz clic con el botón derecho en el nivel de atributo seleccionado y selecciona Establecer como nivel de expresión. |
p
(para el elemento principal) y c
(para el elemento secundario) para recorrer la estructura de árbol.
p
devuelve un solo nodo, pero puede tener varios elementos secundarios, por lo que c
devuelve una lista de nodos.
A continuación, se muestra un ejemplo de expresión agregada basada en un nivel principal.
percentage(sum(records.Amount) / sum(p.records.Amount) * 100)
calcula un porcentaje para cada proveedor:
- la suma de los importes asociados con un proveedor se divide por la suma de todos los importes.
- el ámbito se desplaza al nivel principal, es decir, raíz.
- el resultado se multiplica por 100 para convertirlo en porcentaje.
A continuación, se muestra un ejemplo de una expresión agregada basada en un nivel secundario.
count(c)
devuelve una lista de todos los proveedores por tipode proveedor. Dado que cada elemento secundario es un proveedor, se puede contar el número de elementos secundarios c
.
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.
Las siguientes funciones se pueden utilizar para este tipo de cálculos.
Función |
Descripción |
---|---|
|
Devuelve
true si al menos una condición del ámbito se evalúa como true .
|
|
Devuelve
true si todas las Condiciones del ámbito de aplicación evalúan a true .
|
Consulta la siguiente ilustración para ver un ejemplo.
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.
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.
filter()
.
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:
- Recuperar todos los registros dentro del ámbito actual.
- Filtre estos registros para que solo permanezcan los que tienen un tipo de proveedor de maquinaria .
- Para cada registro filtrado, devuelve el valor del atributo de origen de datos del proveedor .
- Elimine todos los valores duplicados de la lista, para que solo tengamos un elemento por valor único.
-
Cuenta el número de elementos que quedan en la lista.
records
es la lista de registros que pertenecen a este propietario del caso.
La expresión devuelve un valor para cada propietario de caso, que indica el número de proveedores únicos con el tipo Máquinas.
El menú del panel Configuración contiene opciones para agregar filtrado para agregados.
A continuación, se describen las opciones del menú Ajustes.
Opción |
Descripción |
---|---|
Habilitar expresión de filtro |
Le permite introducir una expresión como filtro. |
Habilitar controles de filtro |
Abre 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ón |
Le 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 final |
Le permite aplicar los filtros disponibles para el usuario final. |
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 se 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 por el número de registros del grupo.
- Expresión le permite rellenar una expresión, que se ordenará por valor como se describe 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.
first(records.User)
determina el primero User
de cada Case ID
. Event end
está ordenado.