Tri avec des commandes d'affichage multiples

Dans cette section :

Une requête peut comporter jusqu'à seize différents ensembles de commandes d'affichage (également appelées des phrases verbe), dont chacune avec ses propres conditions de tri. Afin d'afficher toutes les informations, il doit exister un rapport significatif parmi les différents ensembles de conditions de tri. Les règles suivantes s'appliquent :


Haut de page

Exemple : Utilisation de champs d'affichage et de tri multiples

La requête suivante récapitule plusieurs niveaux de détails dans la source de données.

TABLE FILE EMPLOYEE
SUM CURR_SAL
SUM CURR_SAL BY DEPARTMENT
SUM CURR_SAL BY DEPARTMENT BY LAST_NAME
END

La commande SUM CURR_SAL calcule la somme totale des salaires actuels ; SUM CURR_SAL BY DEPARTMENT calcule les sommes totales des salaires actuels pour chaque service ; SUM CURR_SAL BY DEPARTMENT BY LAST_NAME calcule les sommes totales des salaires actuels pour chaque nom d'employé.

La sortie est :


Haut de page

x
Contrôler le Formatage des rapports avec Commandes Affichage multiple

Comment :

Vous pouvez utilisez la commande SET DUPLICATECOL pour reformater les requêtes de rapport qui utilisent des commandes d'affichage multiples, en plaçant les champs agrégés dans la même colonne au dessus du champ affiché.

Par défaut, chaque nouvelle commande d'affichage dans une requête génère un critère de tri additionnel et affiche les champs de colonnes. Avec DUPLICATECOL sur OFF, chaque champ n'occupe qu'une seule colonne dans la requête, avec les valeurs de chaque commande d'affichage empilées sous les valeurs pour la commande d'affichage suivante.



x
Syntaxe : Contrôler le format des rapports avec plusieurs commandes d'affichage
SET DUPLICATECOL={ON|OFF}

où :

ON

affiche le rapport avec chaque champ sous forme de colonne. C'est la valeur par défaut.

OFF

affiche le rapport avec des champs communs sous forme de rangée.



Exemple : Affichage de rapports avec Commandes Affichage multiple

La requête suivante fait la somme des salaires en cours et des heures de classe pour la source de données EMPLOYEE en entier et pour chaque département :

TABLE FILE EMPLOYEE
SUM CURR_SAL ED_HRS                                           
SUM CURR_SAL ED_HRS BY DEPARTMENT                           
END

Lorsque le paramètre DUPLICATECOL est défini sur ON, la sortie a des colonnes séparées pour les totaux généraux et pour les totaux de chaque département :

   CURR_SAL  ED_HRS  DEPARTMENT         CURR_SAL  ED_HRS
   --------  ------  ----------         --------  ------
$222,284.00  351.00  MIS             $108,002.00  231.00
                     PRODUCTION      $114,282.00  120.00

Avec DUPLICATECOL=OFF, la sortie a une colonne pour chaque champ. Les totaux généraux se trouvent sur le haut de la rangée du rapport, et les totaux de chaque département se trouvent dans une rangée additionnelle au-dessous des totaux généraux :

DEPARTMENT         CURR_SAL  ED_HRS 
----------         --------  ------ 
                $222,284.00  351.00 
MIS             $108,002.00  231.00 
PRODUCTION      $114,282.00  120.00

La requête suivante ajoute une commande PRINT triée par département et par nom de famille à la requête précédente :

SET SPACES = 1
TABLE FILE EMPLOYEE                                          
SUM CURR_SAL ED_HRS                                          
SUM CURR_SAL ED_HRS BY DEPARTMENT AS 'DEPT'                         
PRINT FIRST_NAME CURR_SAL ED_HRS BY DEPARTMENT BY LAST_NAME
END

Avec DUPLICATECOL=ON, la sortie à des colonnes séparées pour les totaux généraux, pour les totaux départementaux, et pour chaque nom de famille :

Avec DUPLICATECOL=OFF, la sortie a une colonne pour chaque champ. Les totaux généraux sont sur la première ligne du rapport, les totaux départementaux sont sur des lignes supplémentaires en dessous des totaux généraux, et les valeurs pour chaque nom de famille sont sur des lignes supplémentaires en dessous des totaux départementaux.

DEPT       LAST_NAME       FIRST_NAME        CURR_SAL ED_HRS
----       ---------       ----------        -------- ------
                                          $222,284.00 351.00
MIS                                       $108,002.00 231.00
           BLACKWOOD       ROSEMARIE       $21,780.00  75.00
           CROSS           BARBARA         $27,062.00  45.00
           GREENSPAN       MARY             $9,000.00  25.00
           JONES           DIANE           $18,480.00  50.00
           MCCOY           JOHN            $18,480.00    .00
           SMITH           MARY            $13,200.00  36.00
PRODUCTION                                $114,282.00 120.00
           BANNING         JOHN            $29,700.00    .00
           IRVING          JOAN            $26,862.00  30.00
           MCKNIGHT        ROGER           $16,100.00  50.00
           ROMANS          ANTHONY         $21,120.00   5.00
           SMITH           RICHARD          $9,500.00  10.00
           STEVENS         ALFRED          $11,000.00  25.00


x
Syntaxe : Appliquer un style à un rapport à l'aide de SET DUPLICATECOL=ON

Dans une feuille de style, vous pouvez identifier les lignes que vous souhaitez mettre en forme en spécifiant quelle commande d'affichage a créé ces lignes.

VERBSET = n						

où :

n

est le nombre ordinal de la commande d'affichage compris dans la requête de rapport.



Exemple : Appliquer un style aux rangées associées à une commande d'affichage spécifique

La requête suivante à deux commandes d'affichage :

  1. SUM CURR_SAL ED_HRS BY DEPARTMENT (totaux par département).
  2. PRINT FIRST_NAME CURR_SAL ED_HRS BY DEPARTMENT BY LAST_NAME (valeurs par employé par département).
SET DUPLICATECOL = OFF    
TABLE FILE EMPLOYEE                                                 
SUM CURR_SAL ED_HRS BY DEPARTMENT                                 
PRINT FIRST_NAME CURR_SAL ED_HRS BY DEPARTMENT BY LAST_NAME                
ON TABLE SET STYLE *                                                
TYPE = REPORT, COLUMN= P4, VERBSET = 1, STYLE = ITALIC,    COLOR=BLUE,$  
TYPE = REPORT, COLUMN= B2, VERBSET = 2, STYLE = UNDERLINE, COLOR = RED,$ 
ENDSTYLE                                                            
END

Dans la sortie :

Lorsque vous stylez des colonnes spécifiques, si vous utilisez la notation P cela signifie que vous comptez chaque colonne affichée dans la sortie du rapport, y compris les colonnes BY. Dans ce cas P1 est la colonne DEPARTEMENT, P2 est la colonne LAST_NAME (ceci est également B2, le second champ de colonne BY), P3 est la colonne FIRST_NAME, P4 est la version affichée de la colonne CURR_SAL (la matrice interne comprend plusieurs colonne CURR_SAL), et P5 est la colonne affichée ED_HRS (la matrice interne comprend plusieurs colonnes ED_HRS).

La sortie est :


WebFOCUS