Cómo: Referencia: |
Los comandos COMPUTE pueden incluirse en archivos máster, y aparecer citados en solicitudes TABLE posteriores, lo que le permite construir las expresiones una vez y usarlas en distintas solicitudes.
COMPUTE fieldname/fmt=expression;
donde:
Es el nombre del campo calculado.
Es el formato y la longitud del campo calculado.
Es la fórmula para calcular el valor del campo.
En todos los casos, los COMPUTEs de un archivo máster presentan la misma funcionalidad y limitaciones que los COMPUTEs temporales. Concretamente, los campos calculados en el archivo máster, deben seguir estas reglas:
Nota: Actualmente, WebFOCUS Maintain no admite el uso de COMPUTEs en archivos máster y, por tanto, COMPUTE no aparece en el Asistente de actualizaciones.
Use la sintaxis estándar de COMPUTE, para añadir un valor calculado a su archivo máster. Para acceder al valor calculado, haga referencia al nombre del campo calculado en las solicitudes TABLE posteriores. Si se emplea como objeto de un verbo, igual que en este ejemplo, la sintaxis es el campo SUM (o PRINT) o el campo COMPUTE.
A continuación le mostramos el archivo máster SALESTES (el archivo SALES FILE, modificado con un COMPUTE insertado):
FILENAME=SALESTES, SUFFIX=FOC, SEGNAME=STOR_SEG, SEGTYPE=S1, FIELDNAME=STORE_CODE, ALIAS=SNO, FORMAT=A3, $ FIELDNAME=CITY, ALIAS=CTY, FORMAT=A15, $ FIELDNAME=AREA, ALIAS=LOC, FORMAT=A1, $ SEGNAME=DATE_SEG, PARENT=STOR_SEG, SEGTYPE=SH1, FIELDNAME=DATE, ALIAS=DTE, FORMAT=A4MD, $ SEGNAME=PRODUCT, PARENT=DATE_SEG, SEGTYPE=S1, FIELDNAME=PROD_CODE, ALIAS=PCODE, FORMAT=A3, FIELDTYPE=I, $ FIELDNAME=UNIT_SOLD, ALIAS=SOLD, FORMAT=I5, $ FIELDNAME=RETAIL_PRICE, ALIAS=RP, FORMAT=D5.2M, $ FIELDNAME=DELIVER_AMT, ALIAS=SHIP, FORMAT=I5, $ FIELDNAME=OPENING_AMT, ALIAS=INV, FORMAT=I5, $ FIELDNAME=RETURNS, ALIAS=RTN, FORMAT=I3, MISSING=ON, $ FIELDNAME=DAMAGED, ALIAS=BAD, FORMAT=I3, MISSING=ON, $ COMPUTE REVENUE/D12.2M=UNIT_SOLD*RETAIL_PRICE;
La siguiente solicitud TABLE usa el campo REVENUE:
TABLE FILE SALESTES HEADING CENTER "NEW YORK PROFIT REPORT" " " SUM UNIT_SOLD AS 'UNITS,SOLD' RETAIL_PRICE AS 'RETAIL_PRICE' COMPUTE REVENUE; BY PROD_CODE AS 'PROD,CODE' WHERE CITY EQ 'NEW YORK' END
La salida es:
NEW YORK PROFIT REPORT PROD UNITS CODE SOLD RETAIL_PRICE REVENUE ---- ---- ------------ ------- B10 30 $.85 $25.50 B17 20 $1.89 $37.80 B20 15 $1.99 $29.85 C17 12 $2.09 $25.08 D12 20 $2.09 $41.80 E1 30 $.89 $26.70 E3 35 $1.09 $38.15
WebFOCUS |