Cómo realizar cálculos en saltos de campos de clasificación

Cómo:

Referencia:

Puede utilizar los comandos RECAP y COMPUTE para crear valores subtotales en un cálculo. No aparecen los valores de subtotal. El informe muestra únicamente el resultado del cálculo.


Principio de página

x
Sintaxis: Cómo Utilizar totales y subtotales en cálculos

Tanto los comandos RECAP como los COMPUTE tienen una sintaxis similar a otros comandos de total y subtotal.

{BY|ON} fieldname1 {RECAP|COMPUTE} fieldname2[/format] = expression;
                                      [WHEN expression;]

donde:

fieldname1

Es el campo en la frase BY. Cada vez que cambia el valor del campo BY se calcula un nuevo valor RECAP.

fieldname2

Es el nombre que contiene el resultado de la expresión.

/format

Puede ser cualquier formato válido. El valor predeterminado es D12.2.

expression

Puede ser cualquier expresión válida, tal como se describe en Cómo utilizar expresiones. Debe terminar la expresión con punto y coma.

WHEN expression

Se utiliza solamente con RECAP. Especifica la salida condicional de las líneas de RECAP conmo si fueran determinadas por expresiones booleanas (vaya a Cómo mostrar condicionalmente líneas de resumen y texto). Debe terminar la expresión con punto y coma.


Principio de página

x
Referencia: Notas sobre el uso de RECAP y COMPUTE


Ejemplo: Cómo utilizar RECAP

La siguiente solicitud muestra el uso de RECAP (DEPT_NET) para determinar el salario neto de cada departamento:

TABLE FILE EMPLOYEE
SUM DED_AMT AND GROSS
BY DEPARTMENT BY PAY_DATE
ON DEPARTMENT RECAP DEPT_NET/D8.2M = GROSS-DED_AMT;
WHEN PAY_DATE GT 820101
END

La salida es:

DEPARTMENT  PAY_DATE          DED_AMT            GROSS
----------  --------          -------            -----
MIS         81/11/30        $1,406.79        $2,147.75
            81/12/31        $1,406.79        $2,147.75
            82/01/29        $1,740.89        $3,247.75
            82/02/26        $1,740.89        $3,247.75
            82/03/31        $1,740.89        $3,247.75
            82/04/30        $3,386.73        $5,890.84
            82/05/28        $3,954.35        $6,649.50
            82/06/30        $4,117.03        $7,460.00
            82/07/30        $4,117.03        $7,460.00
            82/08/31        $4,575.72        $9,000.00
                                                      
** DEPT_NET           $22,311.98                      
                                                      
PRODUCTION  81/11/30          $141.66          $833.33
            81/12/31          $141.66          $833.33
            82/01/29        $1,560.09        $3,705.84
            82/02/26        $2,061.69        $4,959.84
            82/03/31        $2,061.69        $4,959.84
            82/04/30        $2,061.69        $4,959.84
            82/05/28        $3,483.88        $7,048.84
            82/06/30        $3,483.88        $7,048.84
            82/07/30        $3,483.88        $7,048.84
            82/08/31        $4,911.12        $9,523.84
                                                      
** DEPT_NET           $27,531.14


Ejemplo: Cómo utilizar múltiples comandos RECAP

Puede incluir múltiples comandos RECAP o COMPUTE en una solicitud. Esta opción le permite realizar diferentes cálculos en diferentes saltos de control.

La siguiente solicitud muestra el uso de múltiples comandos RECAP.

TABLE FILE SALES
SUM UNIT_SOLD AND RETURNS
WHERE AREA EQ 'U' 
BY DATE BY AREA BY PROD_CODE
ON DATE RECAP
DATE_RATIO=RETURNS/UNIT_SOLD;
ON AREA UNDER-LINE RECAP
AREA_RATIO=RETURNS/UNIT_SOLD;
END

La salida es:

DATE   AREA  PROD_CODE  UNIT_SOLD  RETURNS
----   ----  ---------  ---------  -------
10/17  U     B10               30        2
             B17               20        2
             B20               15        0
             C17               12        0
             D12               20        3
             E1                30        4
             E3                35        4
                                          
** AREA_RATIO                      .09    
                                          
** DATE_RATIO                      .09    
                                          
------------------------------------------
10/18  U     B10               13        1
                                          
** AREA_RATIO                      .08    
                                          
** DATE_RATIO                      .08    
                                          
------------------------------------------
10/19  U     B12               29        1
                                          
** AREA_RATIO                      .03    
                                          
** DATE_RATIO                      .03    
                                          
------------------------------------------

WebFOCUS