LAST: Extraire la valeur précédente

Comment :

Langages disponibles : reporting

La fonction LAST permet d'extraire la valeur précédente pour un champ.

L'effet de la fonction LAST varie selon qu'elle apparaît dans une commande DEFINE ou COMPUTE :

N'utilisez pas LAST avec la commande -SET dans le Gestionnaire de dialogue.


Haut de page

x
Syntaxe : Récupérer la valeur précédente
LAST fieldname

où :

fieldname

Alphanumérique ou Numérique

est le nom de champ.

Remarque : LAST n'utilise pas d'argument de sortie.



Exemple : Récupérer une valeur précédente

LAST extrait doit récupérer la valeur précédente du champ DEPARTMENT pour déterminer si on doit redémarrer le total cumulatif des salaires de chaque service. Si la valeur est égale à la valeur actuelle, CURR_SAL est additionné au RUN_TOT pour générer un total cumulatif des salaires à l’intérieur de chaque service.

TABLE FILE EMPLOYEE
PRINT LAST_NAME CURR_SAL AND COMPUTE
RUN_TOT/D12.2M = IF DEPARTMENT EQ LAST DEPARTMENT THEN
                (RUN_TOT + CURR_SAL) ELSE CURR_SAL ;
AS 'RUNNING,TOTAL,SALARY'
BY DEPARTMENT SKIP-LINE
END

La sortie est :

                                                   RUNNING
                                                     TOTAL
DEPARTMENT  LAST_NAME            CURR_SAL           SALARY
----------  ---------            --------          -------
MIS         SMITH              $13,200.00       $13,200.00
            JONES              $18,480.00       $31,680.00
            MCCOY              $18,480.00       $50,160.00
            BLACKWOOD          $21,780.00       $71,940.00
            GREENSPAN           $9,000.00       $80,940.00
            CROSS              $27,062.00      $108,002.00
PRODUCTION  STEVENS            $11,000.00       $11,000.00
            SMITH               $9,500.00       $20,500.00
            BANNING            $29,700.00       $50,200.00
            IRVING             $26,862.00       $77,062.00
            ROMANS             $21,120.00       $98,182.00
            MCKNIGHT           $16,100.00      $114,282.00

Information Builders