Spécifier l'ordre de tri

Dans cette section :

Comment :

Les valeurs de champs de tri s'affichent automatiquement dans l'ordre croissant, allant de la valeur la plus basse jusqu'à celle la plus haute. La séquence de tri par défaut varie selon les systèmes d'exploitation. Sur z/OS et VM, cela implique la séquence a-z, 0-9 pour les champs alphanumériques et 0-9 pour les champs numériques. Sur z/OS et VM, cela implique la séquence a-z, 0-9 pour les champs alphanumériques et 0-9 pour les champs numériques.

Vous avez la possibilité de remplacer cette définition par défaut et d'afficher les valeurs dans l'ordre décroissant, allant de la valeur la plus haute jusqu'à celle la plus basse, en incluant HIGHEST dans la phrase de tri.


Haut de page

x
Syntaxe : Spécifier l'ordre de tri
{BY|ACROSS} {LOWEST|HIGHEST} sortfield					

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). Ceci est la valeur par défaut.

HIGHEST

trie par ordre décroissant, allant de la valeur la plus grande jusqu'à celle la plus petite. Vous pouvez aussi utiliser TOP comme synonyme de HIGHEST.

sortfield

Est le nom du critère de tri.



Exemple : Trier dans l'ordre croissant

La requête de rapport suivante ne spécifie pas d'ordre de tri particulier, et par conséquent, elle liste les salaires dans l'ordre croissant par défaut.

TABLE FILE EMPLOYEE
PRINT LAST_NAME
BY CURR_SAL
END

Vous pouvez spécifier explicitement ce même ordre croissant en incluant LOWEST dans la phrase de tri.

TABLE FILE EMPLOYEE
PRINT LAST_NAME
BY LOWEST CURR_SAL
END

La sortie est :



Exemple : Trier dans l'ordre décroissant

La requête suivante liste les salaires dans l'ordre décroissant.

TABLE FILE EMPLOYEE
PRINT LAST_NAME
BY HIGHEST CURR_SAL
END

La sortie est :


Haut de page

x
Spécifier votre ordre de tri personnalisé

Dans cette section :

Comment :

Référence :

Les valeurs de champs de tri s'affichent automatiquement dans l'ordre croissant, allant de la valeur la plus basse jusqu'à celle la plus haute.

Vous pouvez remplacer l'ordre par défaut et afficher les valeurs dans une séquence de tri que vous définissez. Pour ce faire, vous devez déterminer les choses suivantes :

  1. Quels champs de tri voulez-vous permettre ? Vous pouvez spécifier toute valeur de critère de tri ou un sous-ensemble de valeurs. Lors du lancement de votre requête de rapport, seuls les enregistrements comprenant ces valeurs sont inclus dans le rapport.
  2. L'ordre dans lequel vous voulez que les valeurs s'affichent. Vous pouvez spécifier n'importe quel ordre. Par exemple, vous pouvez spécifier que le champ de tri A1 comprenant un code à lettre unique soit trié dans l'ordre A, Z, B, C, Y, etc.

Il y a deux manières de spécifier un ordre de tri personnalisé, selon que vous triiez les lignes avec BY, ou que vous triiez les colonnes avec ACROSS :



x
Syntaxe : Définir votre ordre de tri
BY sortfield AS 'coltitle' ROWS value1 [AS 'text1'] 
OVER value2 [AS 'text2']
[... OVER valuen [ AS 'textn']]
END

où :

sortfield

Est le dernier champ BY dans le rapport.

'coltitle'

Est le titre de colonne pour le champ BY dans la sortie de rapport.

value1

Est la valeur du champ de tri qui s'affiche la première dans la séquence de tri.

AS 'text'

Vous permet d'assigner un texte de remplacement pour la première rangée, qui remplace la valeur de champ dans la sortie. Saisissez le texte entre guillemets simples.

value2

Est la valeur du critère de tri qui s'affiche la deuxième dans la séquence de tri.

AS 'text'

Vous permet d'assigner un texte de remplacement pour la deuxième ligne, qui remplace la valeur de champ dans la sortie. Saisissez le texte entre guillemets simples.

valuen

Est la valeur du critère de tri qui s'affiche la dernière dans la séquence de tri.

AS 'textn'

Vous permet d'assigner un texte de remplacement pour la dernière ligne, qui remplace la valeur de champ dans la sortie. Saisissez le texte entre guillemets simples.

Voici une autre syntaxe :

FOR sortfield
value1 OVER value2 [... OVER valuen]

qui utilise la phrase de reporting basée lignes FOR, comme le décrit Création de rapports financiers avec le langage de modélisation financière (FML).



x
Référence : Notes d'utilisation pour définir votre ordre de tri


Exemple : Définir l'ordre de tri de lignes

Ce qui suit illustre la façon de trier les employés selon les banques auxquelles leurs salaires sont automatiquement déposés, ainsi que la façon de définir un label personnalisé dans la séquence de tri pour le champ « Bank ».

TABLE FILE EMPLOYEE
PRINT LAST_NAME
BY BANK_NAME ROWS 'BEST BANK' OVER STATE
   OVER ASSOCIATED OVER 'BANK ASSOCIATION'
END

La sortie est :



x
Syntaxe : Définir la séquence de tri de colonnes
ACROSS sortfield COLUMNS value1 AND value2 [... AND valuen]

où :

sortfield

Est le nom du critère de tri.

value1

Est la valeur du champ de tri qui s'affiche la première dans la séquence de tri.

value2

Est la valeur du critère de tri qui s'affiche la deuxième dans la séquence de tri.

valuen

Est la valeur du critère de tri qui s'affiche la dernière dans la séquence de tri.



x
Référence : Notes d'utilisation sur la définition de l'ordre de tri de colonnes


Exemple : Définir la séquence de tri de colonnes

Ce qui suit illustre la façon de trier les salaires des employés selon les banques auxquelles ils sont automatiquement déposés, ainsi que la façon de définir un label personnalisé dans la séquence de tri pour le champ « Bank ».

TABLE FILE EMPLOYEE
SUM CURR_SAL
ACROSS BANK_NAME COLUMNS 'BEST BANK' AND STATE
   AND ASSOCIATED AND 'BANK ASSOCIATION'
END

La sortie est :

BANK_NAME                                                                    
BEST BANK          STATE              ASSOCIATED         BANK ASSOCIATION
-------------------------------------------------------------------------
     $29,700.00         $18,480.00         $64,742.00         $27,062.00


x
Sélectionner et attribuer des titres de colonnes aux valeurs ACROSS

Lorsque vous utilisez la phrase ACROSS COLUMNS pour sélectionner et trier les colonnes qui s'affichent sur la sortie du rapport pour un champ de tri ACROSS, vous pouvez attribuer à chaque colonne sélectionnée un nouveau titre de colonne à l'aide d'une phrase AS.



x
Syntaxe : Attribuer des titres de colonnes aux valeurs ACROSS
ACROSS sortfield [AS title]
 COLUMNS aval1 [AS val1title] [{AND|OR} aval2 [AS val2title] [... {AND|OR} avaln [AS valntitle]]]

où :

sortfield

Est le nom du champ ACROSS.

titre

Est le titre du nom de champ ACROSS.

AND|OR

Est nécessaire pour séparer les valeurs ACROSS sélectionnées. AND et OR sont des synonymes prévus à cet effet.

aval1, aval2, ... avaln

Sont les valeurs ACROSS sélectionnées pour l'affichage sur la sortie du rapport.

val1title, val2title ...valntitle

Sont les titres de colonnes pour les valeurs ACROSS sélectionnées.



x
Référence : Notes d'utilisation pour attribuer les titres de colonnes aux valeurs ACROSS
  • Toute valeur spécifiée en tant que valeur ACROSS dans la phrase de tri apparaît sur la sortie du rapport, même si la valeur est filtrée par un test IF ou WHERE, ou si la valeur n'existe pas du tout dans la source de données.

    Remarque : pour les formats de sortie stylisés, SET HIDENULLACRS=ON supprime les colonnes vides dans les groupes ACROSS de la sortie du rapport.

  • Les titres de colonne pour les champs ACROSS s'affichent sur une seule ligne de la sortie du rapport.
  • La prise en charge des noms AS pour valeurs ACROSS est limitée à la commande TABLE FILE.
  • Lorsque vous créez un fichier HOLD avec SET ASNAMES = ON, le nom du champ d'origine est propagé vers le fichier maître de sortie, pas le nom AS.


Exemple : Sélectionner et attribuer des titres de colonnes aux valeurs ACROSS

La requête suivante contre la source de données GGSALES sélectionne les colonnes Coffee Grinder, Latte et Coffee Pot pour le champ ACROSS PRODUCT, et attribue à chacun d'eux une nouveau titre de colonne :

 TABLE FILE GGSALES                     
 SUM                                    
 DOLLARS/I8M AS ''                      
 BY REGION                              
 ACROSS PRODUCT  AS 'Products'          
   COLUMNS 'Coffee Grinder' AS 'Grinder'
    OR Latte AS 'caffellatte'              
    AND 'Coffee Pot' AS 'Carafe'           
ON TABLE SET PAGE NOPAGE
END                                    

La sortie est :

             Products                                           
             Grinder          caffellatte      Carafe           
Region                                                          
----------------------------------------------------------------
Midwest         $666,622       $2,883,566         $599,878      
Northeast       $509,200       $2,808,855         $590,780      
Southeast       $656,957       $2,637,562         $645,303      
West            $603,436       $2,670,405         $613,624                                                                   

WebFOCUS