Vous pouvez trier des informations de rapport verticalement à l'aide de l'option BY. La phrase BY crée des lignes dans votre rapport. Vous pouvez inclure jusqu'à 128 phrases de tri (les phrases BY et les phrases ACROSS) par requête de rapport (127 si vous utilisez des commandes d'affichage PRINT ou LIST).
Les critères de tri apparaissent lorsque leur valeur change. Cependant, vous pouvez afficher chaque valeur de tri en utilisant le paramètre BYDISPLAY. Pour consulter un exemple, consultez Affichage de toutes les valeurs des critères de tri vertical (BY).
BY {HIGHEST|LOWEST} [n] sortfield [AS 'text']
où :
Trie dans l'ordre décroissant.
Trie dans l'ordre croissant. LOWEST est la valeur par défaut.
spécifie que seules les valeurs de champ de trin sont comprises dans le rapport.
Est le nom du critère de tri.
Est l'en-tête de colonne à utiliser pour la colonne du critère de tri dans la sortie de rapport.
PRINT LAST_NAME BY DEPARTMENT
n'imprime MIS qu'une fois, suivi des noms de six employés. Vous pouvez remplir chaque cellule de colonne de tri vertical d'une valeur, même si la valeur se répète, en utilisant le paramètre SET BYDISPLAY. Pour plus de détails, consultez Affichage de toutes les valeurs des critères de tri vertical (BY).
Ce qui suit illustre la façon d'afficher tous les identificateurs d'employés par service.
TABLE FILE EMPLOYEE PRINT EMP_ID BY DEPARTMENT END
La sortie affiche une ligne pour chaque champ EMP_ID dans chaque service.
Comment : |
Dans un groupe de tri vertical, la valeur de critère de tri ne s'affiche que sur la première ligne des lignes composant son groupe de tri, et sur la première ligne d'une page. Cependant, à l'aide de la commande SET BYDISPLAY, vous pouvez afficher le champ BY approprié sur chaque ligne d'un rapport créé dans un format de sortie avec style.
Bien que la commande SET BYDISPLAY soit pris en charge par tous les formats de sortie avec style, elle est particulièrement importante pour rendre la sortie de rapport plus utilisable par Excel, qui ne peut pas trier les colonnes correctement lorsqu'il y a des valeurs vides sur des lignes.
Cette fonctionnalité vous permet d'éviter de spécifier le critère de tri deux fois, une fois comme champ d'affichage et l'autre comme critère de tri (avec l'option NOPRINT). Par exemple :
PRINT FIRST_NAME LAST_NAME BY FIRST_NAME NOPRINT
SET BYDISPLAY = {OFF|ON}
ou
ON TABLE SET BYDISPLAY {OFF|ON}
où :
Affiche une valeur du champ BY uniquement sur la première ligne des lignes composant son groupe de tri, ainsi que sur la première ligne d'une page. OFF est la valeur par défaut.
Affiche la valeur du champ BY associé sur chaque ligne de la sortie de rapport créé au format stylisé.
Ce qui suit illustre la façon d'afficher toutes les instances d'une valeur de champ de tri verticale (BY) dans un rapport stylisé avec la commande SET BYDISPLAY.
SET BYDISPLAY = ON
TABLE FILE CENTHR
PRINT LNAME
BY FNAME
WHERE FNAME EQ 'CAROLYN' OR 'DAVID' ON
TABLE PCHOLD FORMAT EXL2KEND
La sortie est :
Vous pouvez organiser les informations dans un rapport en utilisant plus d'un critère de tri. Lorsque vous spécifiez plusieurs critères de tri, la séquence des phrases BY détermine l'ordre de tri. La première phrase BY définit le saut de tri principal, la deuxième phrase BY définit le deuxième saut de tri, et ainsi de suite. Chaque tri successif est imbriqué dans celui qui le précède.
La requête suivante utilise des champs de tri verticaux (BY) multiples.
TABLE FILE EMPLOYEE PRINT CURR_SAL BY DEPARTMENT BY LAST_NAME WHERE CURR_SAL GT 21500 END
La sortie est :
DEPARTMENT LAST_NAME CURR_SAL ---------- --------- -------- MIS BLACKWOOD $21,780.00 CROSS $27,062.00 PRODUCTION BANNING $29,700.00 IRVING $26,862.00
Comment : Référence : |
Dans une expression de tri, vous pouvez limiter le nombre de valeurs de tri affichées. Avec l'expression PLUS OTHER, vous pouvez regrouper toutes les autres valeurs dans un groupe séparé et afficher ce groupe comme une ligne de rapport supplémentaire.
[RANKED] BY {HIGHEST|LOWEST|TOP|BOTTOM} n srtfield [AS 'text'] [PLUS OTHERS AS 'othertext'] [IN-GROUPS-OF m1 [TOP n2]] [IN-RANGES-OF m3 [TOP n4]
où :
trie par ordre croissant, allant de la valeur la plus petite jusqu'à celle la plus grande (a-z, A-Z, 0-9 pour les champs alphanumériques ; 0-9 pour les champs numériques). BOTTOM est un synonyme pour LOWEST.
trie par ordre décroissant, allant de la valeur la plus grande jusqu'à celle la plus petite. TOP est un synonyme pour HIGHEST.
spécifie que seules les valeurs de champ de trin sont comprises dans le rapport.
Est le nom du critère de tri.
est le texte servant comme en-tête de colonne pour les valeurs de critères de tri.
est le texte servant de titre de ligne du groupement "other" (autre). Cette phrase AS doit être celle qui s'affiche just après la phrase PLUS OTHERS.
est la valeur incrémentielle entre groupes de critères de tri.
Est le nombre facultatif qui définit le plus haut label de groupe à inclure dans le rapport.
Est un nombre entier supérieur à zéro indiquant la plage selon laquelle les valeurs de champ de tri sont groupées.
est le nombre facultatif qui définit la plus haute étiquette de plage à inclure dans le rapport. La plage est étendue de sorte à inclure toutes les valeurs de données supérieures à cette valeur.
La requête suivante affiche les deux valeurs ED_HRS les plus élevées et regroupe les valeurs qui ne sont pas incluses dans une rangée titrée Others (Autres) :
TABLE FILE EMPLOYEE PRINT CURR_SAL LAST_NAME BY HIGHEST 2 ED_HRS PLUS OTHERS AS 'Others' END
La sortie est :
ED_HRS CURR_SAL LAST_NAME ------ -------- --------- 75.00 $21,780.00 BLACKWOOD 50.00 $18,480.00 JONES $16,100.00 MCKNIGHT Others $165,924.00
La requête suivante effectue un tri par les 2 ED_HRS les plus élevés et regroupe les valeurs de critères de tri par incréments de 25 ED_HRS. Les valeurs qui sont en-deçà de l'étiquette de groupe la plus basse sont incluses dans la catégorie Autres. Toutes les valeurs situées au-dessus de l'étiquette de groupe supérieur sont inclus dans le groupe supérieur :
TABLE FILE EMPLOYEE PRINT CURR_SAL LAST_NAME BY HIGHEST 2 ED_HRS PLUS OTHERS AS 'Others' IN-GROUPS-OF 25 TOP 50 END
La sortie est :
ED_HRS CURR_SAL LAST_NAME ------ -------- --------- 50.00 $18,480.00 JONES $21,780.00 BLACKWOOD $16,100.00 MCKNIGHT 25.00 $11,000.00 STEVENS $13,200.00 SMITH $26,862.00 IRVING $9,000.00 GREENSPAN $27,062.00 CROSS Others $78,800.00
Si l'expression BY HIGHEST est changée en BY LOWEST, toutes les valeurs au-delà du groupement de tête (50 ED_HRS et au-delà) sont incluses dans la catégorie Autres :
TABLE FILE EMPLOYEE PRINT CURR_SAL LAST_NAME BY LOWEST 2 ED_HRS PLUS OTHERS AS 'Others' IN-GROUPS-OF 25 TOP 50 END
La sortie est :
ED_HRS CURR_SAL LAST_NAME ------ -------- --------- .00 $9,500.00 SMITH $29,700.00 BANNING $21,120.00 ROMANS $18,480.00 MCCOY 25.00 $11,000.00 STEVENS $13,200.00 SMITH $26,862.00 IRVING $9,000.00 GREENSPAN $27,062.00 CROSS Others $56,360.00
WebFOCUS |