¿Qué es un campo temporal?

Referencia:

Un campo temporal es un campo cuyo valor no está almacenado en el origen de datos, pero que se puede calcular a partir de los datos que allí existen, o al que se le puede asignar un valor absoluto. Un campo temporal no ocupa espacio en el origen de datos y sólo se crea cuando es necesario.

Cuando crea un campo temporal, determina su valor mediante una expresión. Puede combinar campos, constantes y operadores en una expresión para producir un valor único. Por ejemplo, si sus datos contienen cantidades de salarios y desgravaciones podrá calcular la proporción de desgravaciones a salarios con esta expresión:

deduction / salary

Puede especificar la expresión de forma manual o utilizar una de las funciones incluidas para efectuar cálculos y manipulaciones específicos. También puede usar expresiones y funciones como bloques de construcción para expresiones más complejas, al igual que usar un campo temporal para evaluar otro.


Principio de página

x
Referencia: Tipos de campos temporales

Puede utilizar dos tipos de campos temporales (un campo virtual y un valor calculado), que difieran en cuanto a su evaluación:

Los campos virtuales (DEFINE) se evalúan según se van recuperando los registros que cumplen con los criterios de selección. El resultado de la expresión se trata como si fuera un campo almacenado, real en el origen de datos.

Un valor calculado (COMPUTE) se evalúa después de haberse recuperado, clasificado y sumado todos los datos que coinciden con los criterios de selección. Por lo tanto, el cálculo se realiza usando los valores agregados de los campos.


Principio de página

x
Referencia: Cómo evaluar campos temporales

A continuación se muestra cómo se procesa una solicitud y cuándo se evalúa cada tipo de campo temporal:

procesamiento basado en la matriz interna



Ejemplo: Cómo diferenciar entre campos temporales y valores calculados

En el ejemplo siguiente, los campos DRATIO (campo virtual) y CRATIO (valor calculado) utilizan la misma expresión DELIVER_AMT/OPENING_AMT, pero no arrojan los mismos resultados. El valor de CRATIO se calcula después de seleccionar, clasificar y agregar todos los registros. El campo virtual DRATIO se calcula para cada registro recuperado.

DEFINE FILE SALES
DRATIO = DELIVER_AMT/OPENING_AMT;
END
TABLE FILE SALES
SUM DELIVER_AMT AND OPENING_AMT AND DRATIO
COMPUTE CRATIO = DELIVER_AMT/OPENING_AMT;
END

La salida es:

cómo diferenciar entre campos virtuales y valores calculados


Principio de página

x
Referencia: Cómo seleccionar un campo temporal

La parte que aparece a continuación le ayudará a elegir el tipo de cambio temporal que necesita.

Escoja un campo temporal cuando quiera:

Escoja un valor calculado cuando quiera:


WebFOCUS