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 :
TABLE FILE EMPLOYEE SUM ED_HRS SUM CURR_SAL CNT.CURR_SAL BY DEPARTMENT PRINT FIRST_NAME BY DEPARTMENT BY LAST_NAME END
La première commande SUM n'a pas de condition de tri. La deuxième commande SUM a une condition de tri : BY DEPARTMENT. A cause de cette condition de tri, la commande PRINT doit avoir BY DEPARTMENT comme sa première condition de tri, et d'autres conditions de tri peuvent être ajoutées à la commande si nécessaire.
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 :
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.
SET DUPLICATECOL={ON|OFF}
où :
affiche le rapport avec chaque champ sous forme de colonne. C'est la valeur par défaut.
affiche le rapport avec des champs communs sous forme de rangée.
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
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ù :
est le nombre ordinal de la commande d'affichage compris dans la requête de rapport.
La requête suivante à deux commandes d'affichage :
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 |