1. Inicio
  2. Administradores
  3. Fórmulas
  4. Funciones JavaScript
  5. Función categoryAgg – Buscar cualquier dato desde una fórmula

Función categoryAgg – Buscar cualquier dato desde una fórmula

Esta función permite, desde una fórmula, obtener una cadena de texto utilizando los datos de uno o varios documentos de cualquier categoría Docuo. No es necesario que la categoría indicada esté relacionada con la que contiene la fórmula.

La función categoryAgg sólo está disponible en Docuo Enterprise.

Por ejemplo, si disponemos de una categoría de países (PAI – País) y queremos listarlos desde cualquier fórmula, deberemos usar esta función:

Document.categoryAgg(Categoría, Campos, Separador, Orden, [Condición])

Donde:

Categoría: es el código, el nombre o el código – nombre de la categoría de la cual queremos extraer los datos:

'PAI'

Campos: es la cadena de texto entre comillas con las etiquetas de los campos que queremos extraer de cada documento. Se pueden combinar con texto fijo como vemos en el ejemplo:

'Nombre: <@PAI:Propiedades:Nombre>, Continente: <@PAI:Datos:Continente>, Habitantes: <@PAI:Datos:Habitantes>'

Separador: es una cadena de texto entre comillas que separara los datos de cada documento. Puede incluir \n para salto de línea o \t para tabuladores. Por ejemplo:

'\n'

Orden: es una cadena de texto de ordenación. Indica sobre qué campo o campos queremos ordenar los resultados. La sintaxis debe incluir el nombre de uno o más campos separados por comas. Detrás de cada uno de ellos podremos especificar la cláusula ASC o DESC para indicar el orden. Por ejemplo:

'<@PAI:Datos:Habitantes> DESC, <@PAI:Propiedades:Nombre> ASC'

Condición: es un parámetro opcional con una cadena de texto de condición T-SQL del mismo tipo que se utiliza en las listas desplegables. Nos permite filtrar los resultados del agregado. Por ejemplo, para filtrar Países  de Europa o Asia:

"<@PAI:Datos:Continente> = 'Europa' OR <@PAI:Datos:Continente> = 'Asia'"

Finalmente, la fórmula final quedaría como:

Document.categoryAgg('PRV', 'Nombre: <@PAI:Propiedades:Nombre>, Continente: <@PAI:Datos:Continente>, Habitantes: <@PAI:Datos:Habitantes>', '\n', '<@PAI:Datos:Habitantes> DESC, <@PAI:Propiedades:Nombre> ASC', "<@PAI:Datos:Continente> = 'Europa' OR <@PAI:Datos:Continente> = 'Asia'")

Obtendríamos una cadena de texto con los datos especificados de los países que sean de Asia o de Europa, ordenados por habitantes en descendente y separados por un salto de línea:

Nombre: China, Continente: Asia, Habitantes: 1.403.500.365
Nombre: India, Continente: Asia, Habitantes: 1.398.496.000
Nombre: Indonesia, Continente: Asia, Habitantes: 269.856.000
Nombre: Pakistán, Continente: Asia, Habitantes: 222.017.000
Nombre: Bangladés, Continente: Asia, Habitantes: 179.904.000
Nombre: Rusia, Continente: Europa, Habitantes: 146.710.000
Nombre: Japón, Continente: Asia, Habitantes: 126.127.000
...
Actualizado el 13 de julio de 2022

¿Te ha parecido útil este artículo?

Artículos relacionados