Cómo calcular totales de filas y columnas

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.


Principio de página

x
Sintaxis: Cómo Calcular totales de filas y columnas
						display_command fieldname AND ROW-TOTAL [alignment][/format] [AS 'name'] 
display_command fieldname AND COLUMN-TOTAL [alignment][AS 'name']

donde:

display_command
Es uno de los comandos siguientes: PRINT, LIST, SUM o COUNT.
fieldname
Es el nombre del campo para el que se calculan totales de fila o de columna.
alignment
Especifica la alineación de la etiqueta ROW-TOTAL o COLUMN-TOTAL. Los valores posibles son:

/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.

format
Reformatea el ROW-TOTAL.
name
Es la etiqueta del ROW-TOTAL o COLUMN-TOTAL.

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']


Ejemplo: Cómo calcular totales de filas y columnas

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


Ejemplo: Cómo especificar totales de columnas con ON TABLE

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


Ejemplo: Cómo utilizar totales de filas y columnas en un informe de matriz

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


Ejemplo: Cómo incluir valores calculados en totales de filas y columnas

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

Principio de página

x
Referencia: Usar ROW-TOTAL con ACROSS y comandos de múltiples resultados

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

Principio de página

x
Cómo generar totales de filas para valores de campos de clasificación horizontales (ACROSS)

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 .



x
Sintaxis: Cómo Generar totales de columnas para valores de campos de clasificación horizontales (ACROSS)
ACROSS sortfield ACROSS-TOTAL [AS 'name'] [COLUMNS col1 AND col2 ...]

donde:

sortfield
Es el nombre del campo que se clasifica horizontalmente.
name
Es el nuevo nombre del título de columna del campo ACROSS-TOTAL.
col1, col2
Son los títulos de las columnas ACROSS que desea incluir en el total.


Ejemplo: Cómo generar totales de filas para valores de campos de clasificación horizontales (ACROSS)

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


x
Referencia: Notas sobre el uso de ACROSS-TOTAL

WebFOCUS