La cláusula TOTALS … BY te permite definir qué totales deben ser calculados en la consulta. Al calcular los totales, las funciones de agregado se calculan mediante la selección de valores de campo similares, llamados puntos de control. Los totales se agregan al resultado de la consulta como filas de totales.
El procedimiento para calcular los totales de la consulta se describe mediante las siguientes reglas:
<Descripción de los totales> | ||||||||||
| | ||||||||||
<Totales> [<Descripción de los totales>] | ||||||||||
| | ||||||||||
TOTALS [<Lista de campos de totales>] BY [OVERALL] <Lista de puntos de control> | ||||||||||
| | | | |||||||||
<Campo de totales> [,<Lista de campos de totales> [, …]] | | | |||||||||
| | | | |||||||||
<Función_de_agregado> | <Expresión> [[COMO] <Alias_de_campo>] | <Punto_de_control> [, <Punto_de_control> [, …]] | |||||||||
| | ||||||||||
<Expresión> [[SOLO] JERARQUÍA] | [PERIODOS(SEGUNDO | MINUTO | HORA | DÍA | SEMANA | MES | TRIMESTRE | AÑO | DECADAS | SEMESTRE [,<Literales_de_tipo_FECHA> | <ID_de_Parametro>] [,<Literales_de_tipo_FECHA> | <ID_de_Parametro>])] [[COMO] Alias_de_campo] |
La descripción de los totales comienza con la palabra clave requerida TOTALS.
La palabra clave OVERALL significa que se debe generar una fila de totales generales para todos los resultados de la consulta.
Además de los totales generales, puedes calcular totales por puntos de control. Para esto, debes indicar <Lista de puntos de control> después de la palabra clave requerida BY. Cada <Punto de control> contiene una <Expresión>, calculada al ejecutar la consulta. Se calcularán filas de totales y se agregarán al resultado de la consulta para cada combinación de valores de estas expresiones.
Si un punto de control es una referencia a un catálogo, puedes calcular totales por jerarquía de catálogo. Para esto, debes usar la palabra clave requerida JERARQUÍA después de la referencia.
Si un punto de control es un campo – dimensiones adicionales de un registro contable, entonces los valores NULL se ignorarán al recibir los totales para este punto de control.
Puedes usar expresiones lógicas en esta cláusula.
Nota. La versión actual del software no admite el cálculo de totales por tablas anidadas.