Cómo recalcular valores para filas de subtotales

Cómo:

Puede utilizar los comandos SUMMARIZE y RECOMPUTE en vez de SUB-TOTAL y SUBTOTAL para recalcular el resultado de un comando COMPUTE. SUMMARIZE es similar a SUB-TOTAL en que recalcula valores en cada salto de clasificación. RECOMPUTE es similar a SUBTOTAL en que recalcula solamente en el salto de clasificación especificado.

SUMMARIZE recalcula totales generales para todo el informe. Si desea eliminar totales generales, incluya el comando NOTOTAL en su solicitud. Consulte Cómo suprimir totales generales.


Principio de página

x
Sintaxis: Cómo Determinar el subtotal de valores calculados
{BY|ON} fieldname {SUMMARIZE|RECOMPUTE} [MULTILINES]
      [field1 [AND] field2...] [AS 'text'][WHEN expression;]

donde:

fieldname
Debe ser el nombre de un campo en una frase de clasificación. Una frase BY puede incluir un comando de resumen. El número de campos cuya suma hay que determinar, multiplicado por el número de niveles de cuentas de suma en el número de campos de salida permitidos por la solicitud. Para más detalles sobre cómo determinar el número máximo de campos de visualización en una solicitud, consulte Cómo mostrar datos de informes.
SUMMARIZE
Recalcula valores en cada salto de clasificación.
RECOMPUTE
Sólo recalcula los valores en el salto de clasificación especificado.
MULTILINES
Elimina la impresión de una línea de subtotal por cada salto de clasificación que tiene sólo una línea de detalle, toda vez que el valor del subtotal es igual a este valor. Fíjese que MULTI-LINES es sinónimo de MULTILINES. No se admite MULTILINES con campos de clasificación horizontal (ACROSS).

También puede eliminar totales generales con el comando NOTOTAL, tal como se describe en Cómo suprimir totales generales.

AS 'text'
Le permite especificar una etiqueta diferente. Para obtener información relacionada, consulte Cómo usar encabezados, pies, títulos y etiquetas.
field1, field2, ...
Indica una lista de campos específicos para los cuales determinar el subtotal después de RECOMPUTE o SUMMARIZE. Esta lista anula a la predeterminada, que incluye todos los campos de visualización numéricos.

Puede usar el carácter comodín de asterisco (*) en lugar de una lista de campos para indicar que se incluya todos los campos, numéricos y alfanuméricos, en las líneas de resumen. Esto es obligatorio si desea que las columnas alfanuméricas aparezcan en las líneas de resumen, cuando SET SUMMARYLINES se encuentra establecido en OLD. En otros valores de SUMMARYLINES, puede usar el asterisco para mostrar todas las columnas o hacer referencia a columnas específicas que desee mostrar.

WHEN expression
Especifica la visualización condicional de subtotales basada en una expresión booleana. Debe terminar la expresión con punto y coma.

También puede generar subtotales para los valores recalculados con el comando ON TABLE. Utilice la sintaxis que aparece a continuación:

ON TABLE SUMMARIZE


Ejemplo: Cómo utilizar SUMMARIZE

La siguiente solicitud muestra el uso de SUMMARIZE para recalcular DG_RATIO en el salto de clasificación especificado, DEPARTMENT, así como para el salto de clasificación de nivel superior, PAY_DATE:

TABLE FILE EMPLOYEE
SUM GROSS DED_AMT AND COMPUTE
DG_RATIO/F4.2=DED_AMT/GROSS;
BY HIGHEST PAY_DATE BY DEPARTMENT
BY BANK_ACCT
WHERE BANK_ACCT NE 0
ON DEPARTMENT SUMMARIZE
END

La primera porción de la salida es:

PAY_DATE  DEPARTMENT  BANK_ACCT          GROSS          DED_AMT  DG_RATIO
--------  ----------  ---------          -----          -------  --------
82/08/31  MIS          40950036      $1,540.00          $725.34       .47
                      122850108      $1,815.00        $1,261.40       .69
                      163800144      $2,255.00        $1,668.69       .74
                                                                         
*TOTAL DEPARTMENT MIS                $5,610.00        $3,655.43       .65
                                                                         
          PRODUCTION     160633      $2,475.00        $1,427.24       .58
                      136500120      $1,342.00          $522.28       .39
                      819000702      $2,238.50        $1,746.03       .78
                                                                         
*TOTAL DEPARTMENT PRODUCTION         $6,055.50        $3,695.55       .61
*TOTAL PAY_DATE 82/08/31            $11,665.50        $7,350.98       .63

La última porción de la salida es:

PAY_DATE  DEPARTMENT  BANK_ACCT          GROSS          DED_AMT  DG_RATIO
--------  ----------  ---------          -----          -------  --------
82/01/29  PRODUCTION  819000702      $2,035.00        $1,241.33       .61
                                                                         
*TOTAL DEPARTMENT PRODUCTION         $2,035.00        $1,241.33       .61
*TOTAL PAY_DATE 82/01/29             $4,182.75        $2,648.12       .63
                                                                         
81/12/31  MIS         163800144      $2,147.75        $1,406.79       .66
                                                                         
*TOTAL DEPARTMENT MIS                $2,147.75        $1,406.79       .66
*TOTAL PAY_DATE 81/12/31             $2,147.75        $1,406.79       .66
                                                                         
81/11/30  MIS         163800144      $2,147.75        $1,406.79       .66
                                                                         
*TOTAL DEPARTMENT MIS                $2,147.75        $1,406.79       .66
*TOTAL PAY_DATE 81/11/30             $2,147.75        $1,406.79       .66
                                                                         
                                                                         
TOTAL                               $65,887.25       $41,521.18       .63

Sugerencia: Si utiliza SUB-TOTAL o SUBTOTAL en vez de SUMMARIZE, se añaden los valores de DG_RATIO.



Ejemplo: Cómo utilizar RECOMPUTE

La siguiente solicitud explica el uso de RECOMPUTE para recalcular DG_RATIO sólo en el salto de clasificación especificado, DEPARTMENT.

TABLE FILE EMPLOYEE
SUM GROSS DED_AMT AND COMPUTE
DG_RATIO/F4.2=DED_AMT/GROSS;
BY HIGHEST PAY_DATE BY DEPARTMENT
BY BANK_ACCT
WHERE BANK_ACCT NE 0
ON DEPARTMENT RECOMPUTE
END

La primera porción de la salida es:

PAY_DATE  DEPARTMENT  BANK_ACCT          GROSS          DED_AMT  DG_RATIO
--------  ----------  ---------          -----          -------  --------
82/08/31  MIS          40950036      $1,540.00          $725.34       .47
                      122850108      $1,815.00        $1,261.40       .69
                      163800144      $2,255.00        $1,668.69       .74
                                                                         
*TOTAL DEPARTMENT MIS                $5,610.00        $3,655.43       .65
                                                                         
          PRODUCTION     160633      $2,475.00        $1,427.24       .58
                      136500120      $1,342.00          $522.28       .39
                      819000702      $2,238.50        $1,746.03       .78
                                                                         
*TOTAL DEPARTMENT PRODUCTION         $6,055.50        $3,695.55       .61
                                                                         
82/07/30  MIS          40950036      $1,540.00          $725.34       .47
                      122850108      $1,815.00        $1,261.40       .69

La última porción de la salida es:

PAY_DATE  DEPARTMENT  BANK_ACCT          GROSS          DED_AMT  DG_RATIO
--------  ----------  ---------          -----          -------  --------
82/01/29  MIS         163800144      $2,147.75        $1,406.79       .66
                                                                         
*TOTAL DEPARTMENT MIS                $2,147.75        $1,406.79       .66
                                                                         
          PRODUCTION  819000702      $2,035.00        $1,241.33       .61
                                                                         
*TOTAL DEPARTMENT PRODUCTION         $2,035.00        $1,241.33       .61
                                                                         
81/12/31  MIS         163800144      $2,147.75        $1,406.79       .66
                                                                         
*TOTAL DEPARTMENT MIS                $2,147.75        $1,406.79       .66
                                                                         
81/11/30  MIS         163800144      $2,147.75        $1,406.79       .66
                                                                         
*TOTAL DEPARTMENT MIS                $2,147.75        $1,406.79       .66
                                                                         
                                                                         
TOTAL                               $65,887.25       $41,521.18       .63

WebFOCUS