Tri de lignes

Dans cette section :

Comment :

Référence :

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).


Haut de page

x
Syntaxe : Trier par ligne
BY {HIGHEST|LOWEST} [n] sortfield [AS 'text']

où :

HIGHEST

Trie dans l'ordre décroissant.

LOWEST

Trie dans l'ordre croissant. LOWEST est la valeur par défaut.

n

spécifie que seules les valeurs de champ de trin sont comprises dans le rapport.

sortfield

Est le nom du critère de tri.

text

Est l'en-tête de colonne à utiliser pour la colonne du critère de tri dans la sortie de rapport.


Haut de page

x
Référence : Notes d'utilisation pour le tri de lignes


Exemple : Tri de lignes avec 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.


Haut de page

x
Affichage de toutes les valeurs des critères de tri vertical (BY)

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


x
Syntaxe : Afficher toutes les valeurs des critères de tri vertical (BY)
SET BYDISPLAY = {OFF|ON}

ou

ON TABLE SET BYDISPLAY {OFF|ON}

où :

OFF

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.

ON

Affiche la valeur du champ BY associé sur chaque ligne de la sortie de rapport créé au format stylisé.



Exemple : Affichage de toutes les valeurs des critères de tri vertical (BY)

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 :


Haut de page

x
Utilisation de champs de tri verticaux (BY)

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.



Exemple : Tri avec des champs de tri verticaux (BY)multiples

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

Haut de page

x
Affichage d'une rangée de données exclues par une expression de tri

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.



x
Syntaxe : Afficher une rangée de données exclues par une expression de tri
[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ù :

LOWEST

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.

HIGHEST

trie par ordre décroissant, allant de la valeur la plus grande jusqu'à celle la plus petite. TOP est un synonyme pour HIGHEST.

n

spécifie que seules les valeurs de champ de trin sont comprises dans le rapport.

srtfield

Est le nom du critère de tri.

text

est le texte servant comme en-tête de colonne pour les valeurs de critères de tri.

othertext

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.

m1

est la valeur incrémentielle entre groupes de critères de tri.

n2

Est le nombre facultatif qui définit le plus haut label de groupe à inclure dans le rapport.

m3

Est un nombre entier supérieur à zéro indiquant la plage selon laquelle les valeurs de champ de tri sont groupées.

n4

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.



x
Référence : Notes d'utilisation pour PLUS OTHERS


Exemple : Afficher la rangée représentant les valeurs de critères de tri exclus par une expression de tri

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


Exemple : Afficher la rangée représentant les valeurs de critères de tri non inclus dans un groupement de critères de tri

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