Qu'est-ce qu'un champ temporaire ?

Référence :

Un champ temporaire est un champ dont la valeur n'est pas stockée dans la source de données mais qui peut être calculée à partir des données de cette source ou se voir attribuer une valeur absolue. Un champ temporel n'occupe pas de place mémoire dans la source de données et n'est créé qu'en cas de besoin.

Lorsque vous créez un champ temporaire, vous créez une expression pour déterminer sa valeur. Vous pouvez combiner champs, valeurs constantes et opérateurs dans une expression pour créer une valeur unique. Par exemple, si vos données comprennent des valeurs de salaire et de déduction, vous pouvez calculer le rapport entre les déductions et salaires à l'aide de l'expression suivante :

deduction / salary

Vous pouvez définir cette expression par vous-même, ou bien vous pouvez utiliser l'une des nombreuses fonctions fournies pour réaliser des calculs ou manipulations particulières. Par ailleurs, vous pouvez utiliser des expressions et fonctions en tant que blocs constitutifs pour des expressions plus complexes, et évaluer des champs temporaires par rapport à un autre champ temporaire.


Haut de page

x
Référence : Types de champs temporaires

Vous avez le choix entre deux types de champs temporaires : (un champ virtuel et une valeur calculée ; ces deux types diffèrent en fonction de leur évaluation :

Un champ virtuel (DEFINE)est évalué à mesure que chacun des enregistrements qui satisfont aux critères de sélection est récupéré de la source de données. Le résultat de l'expression est traité comme un champ réel stocké dans la source de données.

Une valeur calculée (COMPUTE) est évaluée après que toutes les données qui satisfont aux critères de sélection soient récupérées, triées et agrégées. De cette manière, le calcul s'effectue en utilisant les valeurs agrégées des champs.


Haut de page

x
Référence : Evaluation de champs temporaires

Ce qui suit illustre la façon dont une requête est traitée et indique le moment où chaque type de champ temporaire est évalué.

traiter à partir de la matrice interne



Exemple : Distinction entre champs virtuels et valeurs calculées

Dans l'exemple suivant, les champs DRATIO (champ virtuel) et CRATIO (valeur calculée)utilisent la même expression, DELIVER_AMT/OPENING_AMT, sans pour autant renvoyer le même résultat. La valeur de CRATIO n'est calculé qu'une fois que tous les enregistrements ont été sélectionnés, triés et agrégés. Le champ virtuel DRATIO est calculé pour chaque enregistrement récupéré.

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 sortie est :

distinction entre champs virtuels et les valeurs calculées


Haut de page

x
Référence : Sélection d'un champ temporaire

Ce qui suit vise à vous aider à choisir le type de champ temporaire dont vous avez besoin.

Choisissez un champ virtuel lorsque vous voulez :

Choisissez une valeur calculée lorsque vous voulez :


WebFOCUS