Cómo: Referencia: |
Puede utilizar los comandos SUBTOTAL y SUB-TOTAL para resumir valores individuales, tales como columnas de números, cada vez que cambie el valor de un campo de clasificación identificado.
Tanto SUB-TOTAL como SUBTOTAL producen totales generales. Puede suprimir totales generales con el comando NOTOTAL. Consulte Cómo suprimir totales generales.
Se calcula el subtotal cada vez que cambia el valor de campo de clasificación o, si se aplican los criterios WHEN al campo de clasificación, cada vez que se satisfacen las condiciones WHEN.
Para iniciar la sintaxis se requiere una frase BY, ACROSS u ON.
{BY|ON} fieldname {SUB-TOTAL|SUBTOTAL} [MULTILINES] [field1 [AND] field2...] [AS 'text'][WHEN expression;]
donde:
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 cuyo subtotal hay que determinar, multiplicado por el número de niveles de cuentas de subtotal en el número de campos de visualización 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.
SUB-TOTAL muestra subtotales para valores numéricos cuando cambian los valores del campo BY|ON así como para todos los campos de clasificación de nivel superior cuando cambian sus valores.
SUBTOTAL muestra un subtotal solamente cuando cambia el valor del campo de clasificación especificado.
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).
Indica una lista de campos específicos a los que calcular el subtotal. 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.
Le permite especificar una etiqueta diferente. Para obtener información relacionada, consulte Cómo usar encabezados, pies, títulos y etiquetas.
Especifica la visualización condicional de subtotales determinados por una expresión booleana. Debe terminar la expresión con punto y coma.
SET SUBTOTALS = {ABOVE|BELOW}
donde:
Coloca las líneas de resumen sobre las de detalle y muestra los valores de campos de clasificación en cada línea de detalle de la salida de informes.
Coloca las líneas de resumen debajo de las líneas de detalle. BELOW es el valor predeterminado.
Nota:
La siguiente solicitud, basada en el origen de datos EMPLOYEE, suma las cantidades de las deducciones y salarios brutos por departamento, código de deducción y apellido. Después, calcula el subtotal de las cantidades de las deducciones y salarios brutos de cada departamento. La siguiente solicitud coloca los subtotales debajo de las líneas de detalle (por defecto):
TABLE FILE EMPLOYEE SUM DED_AMT GROSS BY DEPARTMENT BY DED_CODE BY LAST_NAME WHERE BANK_ACCT NE 0 WHERE DED_CODE EQ 'FICA' OR 'CITY' ON DEPARTMENT SUBTOTAL ON TABLE SET SUBTOTALS BELOW ON TABLE SET PAGE NOPAGE END
La salida es:
DEPARTMENT DED_CODE LAST_NAME DED_AMT GROSS ---------- -------- --------- ------- ----- MIS CITY BLACKWOOD $31.76 $9,075.00 CROSS $82.69 $22,013.77 JONES $14.01 $6,099.50 FICA BLACKWOOD $2,223.37 $9,075.00 CROSS $5,788.01 $22,013.77 JONES $980.64 $6,099.50 *TOTAL DEPARTMENT MIS $9,120.47 $74,376.54 PRODUCTION CITY BANNING $7.42 $2,475.00 IRVING $60.24 $17,094.00 MCKNIGHT $18.26 $9,129.99 FICA BANNING $519.75 $2,475.00 IRVING $4,216.53 $17,094.00 MCKNIGHT $1,278.21 $9,129.99 *TOTAL DEPARTMENT PRODUCTION $6,100.40 $57,397.98 TOTAL $15,220.88 $131,774.52
Es la misma solicitud, aunque con los subtotales colocados encima de las líneas de detalle:
TABLE FILE EMPLOYEE SUM DED_AMT GROSS BY DEPARTMENT BY DED_CODE BY LAST_NAME WHERE BANK_ACCT NE 0 WHERE DED_CODE EQ 'FICA' OR 'CITY' ON DEPARTMENT SUBTOTAL ON TABLE SET SUBTOTALS ABOVE ON TABLE SET PAGE NOPAGE END
En la salida, la línea de total general aparece en primer lugar, seguida del subtotal del departamento MIS, las líneas de detalle del departamento MIS, el subtotal del departamento PRODUCTION y sus líneas de de detalle, en este orden. Observe como los valores de los campos de clasificación aparecen en cada línea de la salida del informe:
DEPARTMENT DED_CODE LAST_NAME DED_AMT GROSS ---------- -------- --------- ------- ----- TOTAL $15,220.88 $131,774.52 *TOTAL DEPARTMENT MIS $9,120.47 $74,376.54 MIS CITY BLACKWOOD $31.76 $9,075.00 MIS CITY CROSS $82.69 $22,013.77 MIS CITY JONES $14.01 $6,099.50 MIS FICA BLACKWOOD $2,223.37 $9,075.00 MIS FICA CROSS $5,788.01 $22,013.77 MIS FICA JONES $980.64 $6,099.50 *TOTAL DEPARTMENT PRODUCTION $6,100.40 $57,397.98 PRODUCTION CITY BANNING $7.42 $2,475.00 PRODUCTION CITY IRVING $60.24 $17,094.00 PRODUCTION CITY MCKNIGHT $18.26 $9,129.99 PRODUCTION FICA BANNING $519.75 $2,475.00 PRODUCTION FICA IRVING $4,216.53 $17,094.00 PRODUCTION FICA MCKNIGHT $1,278.21 $9,129.99
BY AREA BY PROD_CODE BY DATE SUB-TOTAL
cuando AREA cambia, los subtotales de DATE, PROD_CODE y AREA aparecen en tres líneas (una debajo de otra).
Nota: ON BYfield SUBFOOT sólo se aplica en al nivel especificado.
La siguiente solicitud explica cómo crear un subtotal para SALES cada vez que cambie el valor del país.
TABLE FILE CAR SUM AVE.MPG AND SALES AND AVE.RETAIL_COST BY COUNTRY SUB-TOTAL SALES BY BODYTYPE END
La salida es:
AVE AVE COUNTRY BODYTYPE MPG SALES RETAIL_COST ------- -------- ---- ----- ----------- ENGLAND CONVERTIBLE 16 0 8,878 HARDTOP 25 0 5,100 SEDAN 10 12000 15,671 *TOTAL ENGLAND 12000 FRANCE SEDAN 21 0 5,610 *TOTAL FRANCE 0 ITALY COUPE 11 12400 19,160 ROADSTER 21 13000 6,820 SEDAN 21 4800 5,925 *TOTAL ITALY 30200 JAPAN SEDAN 14 78030 3,239 *TOTAL JAPAN 78030 W GERMANY SEDAN 20 88190 9,247 *TOTAL W GERMANY 88190 TOTAL 208420
La siguiente solicitud explica cómo crear un subtotal para los campos numéricos DED_AMT y GROSS cuando cambia el valor del departamento y para el campo de clasificación de nivel superior (DED_CODE), cuando cambia su valor.
TABLE FILE EMPLOYEE SUM DED_AMT GROSS BY DED_CODE BY DEPARTMENT BY BANK_ACCT WHERE BANK_ACCT NE 0 ON DEPARTMENT SUB-TOTAL END
Si utiliza SUBTOTAL en vez de SUB-TOTAL, los totales de DED_AMT y GROSS se muestran sólo cuando cambia el valor DEPARTMENT.
La primera porción de la salida es:
DED_CODE DEPARTMENT BANK_ACCT DED_AMT GROSS -------- ---------- --------- ------- ----- CITY MIS 40950036 $14.00 $6,099.50 122850108 $31.75 $9,075.00 163800144 $82.70 $22,013.75 *TOTAL DEPARTMENT MIS $128.45 $37,188.25 PRODUCTION 160633 $7.42 $2,475.00 136500120 $18.25 $9,130.00 819000702 $60.20 $17,094.00 *TOTAL DEPARTMENT PRODUCTION $85.87 $28,699.00 *TOTAL DED_CODE CITY $214.32 $65,887.25
La última porción de la salida es:
DED_CODE DEPARTMENT BANK_ACCT DED_AMT GROSS -------- ---------- --------- ------- ----- STAT MIS 40950036 $196.13 $6,099.50 122850108 $444.65 $9,075.00 163800144 $1,157.60 $22,013.75 *TOTAL DEPARTMENT MIS $1,798.38 $37,188.25 PRODUCTION 160633 $103.95 $2,475.00 136500120 $255.65 $9,130.00 819000702 $843.32 $17,094.00 *TOTAL DEPARTMENT PRODUCTION $1,202.92 $28,699.00 *TOTAL DED_CODE STAT $3,001.30 $65,887.25 TOTAL $41,521.18 $461,210.75
WebFOCUS |