En esta sección: Cómo: Referencia: |
Puede generar totales de filas y columnas de números en un informe. Use:
Puede utilizar los totales de fila y columna en informes de matriz (creados con un BY y un ACROSS en su solicitud de informe), cambiar el nombre de los títulos de totales de fila y de columna e incluir valores calculados en sus totales de fila o de columna. También puede crear totales de fila con ACROSS-TOTAL.
Tenga en cuenta que al generar totales en un informe, si se suma un campo, el formato del total de fila será el mismo que el del campo. Por ejemplo, si el formato del campo CURR_SAL es D12.2M, el formato del total de la fila para CURR_SAL es también D12.2M. Cuando se suman campos con formatos diferentes, se usa el formato predeterminado de D12.2 para el total.
Puede cambiar el nombre de los títulos de la columna predeterminada con la frase AS y alinear las etiquetas para totales de filas y columnas. Para obtener información detallada, consulte Cómo usar encabezados, pies, títulos y etiquetas.
display_command fieldname AND ROW-TOTAL [alignment][/format] [AS 'name'] display_command fieldname AND COLUMN-TOTAL [alignment][AS 'name']
donde:
/R que justifica la etiqueta a la derecha.
/L que justifica la etiqueta a la izquierda.
/C que centra la etiqueta.
Fíjese que las salidas HTML ignoran estos ajustes de alineación. Si está trabajando en WebFOCUS y desea aprovechar las características de alineación de columnas, incluya el comando SET STYLE=OFF en la solicitud de informes o genere su salida en PDF, o en otro formato que admita estas características.
También puede especificar totales de fila y de columna mediante el comando ON TABLE. Los nombres de campo son opcionales con COLUMN-TOTAL y no se pueden listar con ROW-TOTAL. Utilice la sintaxis que aparece a continuación:
ON TABLE COLUMN-TOTAL [alignment][AS 'name'][field field field] ON TABLE ROW-TOTAL [alignment][/format] [AS 'name']
La siguiente solicitud muestra el uso de ROW-TOTAL y COLUMN-TOTAL. Por defecto, las etiquetas de total de columna y de fila son "TOTAL". Puede cambiarlas con una frase AS.
TABLE FILE SALES SUM RETURNS DAMAGED AND ROW-TOTAL AND COLUMN-TOTAL BY PROD_CODE END
La salida es:
PROD_CODE RETURNS DAMAGED TOTAL --------- ------- ------- --------- B10 13 10 23 B12 4 3 7 B17 4 2 6 B20 1 2 3 C13 3 0 3 C17 0 0 0 C7 5 4 9 D12 3 2 5 E1 4 7 11 E2 9 4 13 E3 12 11 23 TOTAL 58 45 103
La siguiente solicitud muestra el uso de COLUMN-TOTAL con el comando ON TABLE.
TABLE FILE EMPLOYEE PRINT CURR_SAL BY LAST_NAME ON TABLE COLUMN-TOTAL END
La salida es:
LAST_NAME CURR_SAL --------- -------- BANNING $29,700.00 BLACKWOOD $21,780.00 CROSS $27,062.00 GREENSPAN $9,000.00 IRVING $26,862.00 JONES $18,480.00 MCCOY $18,480.00 MCKNIGHT $16,100.00 ROMANS $21,120.00 SMITH $13,200.00 $9,500.00 STEVENS $11,000.00 TOTAL $222,284.00
La siguiente solicitud muestra el uso de ROW-TOTAL y COLUMN-TOTAL en un informe de matriz (creado con frases BY y ACROSS juntas).
TABLE FILE EMPLOYEE SUM CURR_SAL AND ROW-TOTAL AND COLUMN-TOTAL BY BANK_NAME ACROSS DEPARTMENT END
La salida es:
DEPARTMENT BANK_NAME MIS PRODUCTION TOTAL ----------------------------------------------------------------------- $40,680.00 $41,620.00 $82,300.00 ASSOCIATED $21,780.00 $42,962.00 $64,742.00 BANK ASSOCIATION $27,062.00 . $27,062.00 BEST BANK . $29,700.00 $29,700.00 STATE $18,480.00 . $18,480.00 TOTAL $108,002.00 $114,282.00 $222,284.00
La siguiente solicitud muestra la inclusión del valor calculado PROFIT en totales de filas y columnas.
TABLE FILE CAR SUM DCOST RCOST COMPUTE PROFIT/D12=RCOST-DCOST; ROW-TOTAL/L/D12 AS 'TOTAL_COST' BY COUNTRY ON TABLE COLUMN-TOTAL/L AS 'FINAL_TOTAL' END
La salida es:
COUNTRY DEALER_COST RETAIL_COST PROFIT TOTAL_COST ------- ----------- ----------- ------ --------------- ENGLAND 37,853 45,319 7,466 90,638 FRANCE 4,631 5,610 979 11,220 ITALY 41,235 51,065 9,830 102,130 JAPAN 5,512 6,478 966 12,956 W GERMANY 54,563 64,732 10,169 129,464 FINAL_TOTAL 143,794 173,204 29,410 346,408
Cuando una solicitud tiene un campo de clasificación ACROSS, cada uno de los valores de ACROSS crea una columna para cada campo que aparece en los resultados del informe. Por ejemplo, en la siguiente solicitud, cada estado tiene una columna para unidades y una columna para dólares:
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY ACROSS ST IF ST EQ 'CA' IF BUDUNITS NE MISSING END
La salida es:
State CA City U D ----------------------------------------- Los Angeles 298070 3772014 San Francisco 312500 3870258
Cuando indique un total de fila con un ACROSS, el total para cada columna se calculará por separado en cada uno de los grupos ACROSS. Por ejemplo, en la siguiente solicitud el total de fila tiene una columna para unidades y una columna para dólares:
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY ACROSS ST IF ST EQ 'CA' IF BUDUNITS NE MISSING ON TABLE ROW-TOTAL END
La salida es:
State CA TOTAL City U D U D ---------------------------------------------------------- Los Angeles 298070 3772014 298070 3772014 San Francisco 312500 3870258 312500 3870258
Cuando la solicitud también tiene múltiples comandos para resultados, cada comando añade una columna adicional a cada grupo ACROSS en el resultado del informe.
La primera columna del grupo total de filas se calcula añadiendo la primera columna de cada comando de resultados bajo cada uno de los valores ACROSS, la segunda columna añade la segunda columna de cada comando, y así sucesivamente.
Por ejemplo, la siguiente solicitud tiene un comando SUMA para unidades y dólares y otro comando SUMA para unidades y dólares presupuestados. El total de fila tiene una columna para la suma de unidades y unidades presupuestadas y otra columna para la suma de dólares y dólares presupuestados:
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY SUM BUDUNITS AS 'BU' BUDDOLLARS AS 'BD' BY CITY ACROSS ST IF ST EQ 'CA' IF BUDUNITS NE MISSING ON TABLE ROW-TOTAL END
La salida es:
State CA TOTAL City U D BU BD BU BD ------------------------------------------------------------------------ Los Angeles 298070 3772014 295637 3669484 593707 7441498 San Francisco 312500 3870258 314725 3916863 627225 7787121
Si los distintos comandos de resultados no indican el mismo número de campos, algunas de las columnas no aparecerán en el total de filas. Por ejemplo, en la siguiente solicitud, el segundo comando SUMA cuenta con una columna para unidades presupuestadas pero no para dólares presupuestados. Por lo tanto, el grupo de total de filas no tiene la columna para dólares:
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY SUM BUDUNITS AS 'BU' BY CITY ACROSS ST IF ST EQ 'CA' IF BUDUNITS NE MISSING ON TABLE ROW-TOTAL END
La salida es:
State CA TOTAL City U D BU BU ------------------------------------------------------------ Los Angeles 298070 3772014 295637 593707 San Francisco 312500 3870258 314725 627225
En este caso, puede usar la anotación de la columna para calcular el total de fila correctamente. Por ejemplo, la siguiente solicitud calcula la columna del total de fila sumando las unidades, dólares y columnas de unidades presupuestadas:
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY SUM BUDUNITS AS 'BU' BY CITY ACROSS ST COMPUTE TOTAL/I10 = C1 + C2 +C3; AS 'ROW-TOTAL' IF ST EQ 'CA' IF BUDUNITS NE MISSING END
La salida es:
State CA ROW-TOTAL City U D BU --------------------------------------------------------------- Los Angeles 298070 3772014 295637 4365721 San Francisco 312500 3870258 314725 4497483
Cómo: Referencia: |
Puede generar totales de fila para valores de campos de clasificación horizontales (ACROSS). Los totales de fila para los campos de clasificación horizontal, a los que se hace referencia con ACROSS-TOTAL, son diferentes de los totales de fila comunes porque solamente se incluyen los valores de los campos horizontales en el total, a los que se hace referencia con ACROSS. Se pueden totalizar tanto campos de números enteros como de punto flotante de precisión simple, de punto flotante de doble precisión, de empaquetados y de largos empaquetados .
ACROSS sortfield ACROSS-TOTAL [AS 'name'] [COLUMNS col1 AND col2 ...]
donde:
A continuación se muestra cómo generar un total de fila para valores de campos de clasificación horizontales (ACROSS). Fíjese que los valores sumados en la columna TOTAL TITLE COUNT sólo muestran los valores en las columnas PG y R (clasificación). Los valores en la columna COPIES no se incluyen, toda vez que no se trata de valores de campo de clasificación horizontal (ACROSS).
TABLE FILE MOVIES SUM COPIES BY CATEGORY COUNT TITLE BY CATEGORY ACROSS RATING ACROSS-TOTAL COLUMNS PG AND R END
La salida es:
RATING PG R TOTAL TITLE TITLE TITLE CATEGORY COPIES COUNT COUNT COUNT --------------------------------------- ACTION 14 2 3 5 COMEDY 16 4 1 5 DRAMA 2 0 1 1 FOREIGN 5 2 3 5 MUSICALS 2 1 1 2 MYSTERY 17 2 5 7 SCI/FI 3 0 3 3
WebFOCUS |