Information de concept

Trier les enregistrements

Trie les enregistrements dans une table Analytics dans un ordre séquentiel croissant ou décroissant, en fonction d'un ou plusieurs champs clés indiqués. Les résultats sont renvoyés vers une nouvelle table Analytics qui a été réordonnée physiquement.

SORT {<ON> champ_clé <D> <...n>|<ON> ALL <EXCLUDE nom_champ <...n>>} <FIELDS nom_champ <AS nom_affichage> <...n>|FIELDS ALL <EXCLUDE nom_champ <...n>>> TO nom_table <LOCAL> <IF test> <WHILE test> <FIRST plage|NEXT plage> <APPEND> <OPEN> <ISOLOCALE code_paramètres_régionaux>
Nom Description
ON champ_clé D <...n> | ON ALL

Le ou les champs clés ou bien l'expression à utiliser pour le tri.

Vous pouvez trier tout type de champ, y compris les champs calculés et les expressions ad hoc, quel que soit le type de données.

  • ON champ_clé utilise le(s) champ(s) spécifié(s)

    Si vous effectuez un tri en fonction de plusieurs champs, vous créez un tri imbriqué dans la table de sortie. L'ordre de l'imbrication suit l'ordre dans lequel vous indiquez les champs.

    Incluez D pour trier un champ clé dans l'ordre décroissant. L'ordre de tri par défaut est croissant.

  • ON ALL utilise tous les champs de la table

    Si vous effectuez un tri en fonction de tous les champs d'une table, vous créez un tri imbriqué dans la table de sortie. L'ordre de l'imbrication suit l'ordre d'apparition des champs dans le format de table.

    Un ordre de tri croissant est la seule option pour ON ALL.

EXCLUDE nom_champ

optionnel

Valide uniquement dans le cas d'un tri à l'aide de ON ALL.

Le ou les champs à exclure de la commande. EXCLUDE vous permet de personnaliser ON ALL, en excluant les champs spécifiés.

EXCLUDE doit suivre immédiatement ON ALL. Par exemple :

ON ALL EXCLUDE champ_1 champ_2

FIELDS nom_champ <...n> | FIELDS ALL

optionnel

Remarque

Les champs clés sont inclus automatiquement dans la table de sortie et ne doivent pas être spécifiés à l'aide de FIELDS.

Les champs à inclure dans la sortie :

  • FIELDS nom_champ utilisez les champs spécifiés

    Les champs sont utilisés dans l'ordre dans lequel vous les indiquez.

    Convertit les champs calculés en champs physiques du type de données approprié dans la table de destination : ASCII ou Unicode (selon l'édition d'Analytics), ACL (type de données numérique natif), DateHeure ou Logique. Remplit les champs physiques avec les valeurs calculées réelles.

  • FIELDS ALL utilisez tous les champs dans la table

    Les champs sont utilisés dans leur ordre d'apparition dans le format de table.

    Convertit les champs calculés en champs physiques du type de données approprié dans la table de destination : ASCII ou Unicode (selon l'édition d'Analytics), ACL (type de données numérique natif), DateHeure ou Logique. Remplit les champs physiques avec les valeurs calculées réelles.

  • ignorer FIELDS l'intégralité de l'enregistrement est incluse dans le fichier de sortie triée : tous les champs et toutes les parties indéfinies de l'enregistrement

    Les champs sont utilisés dans leur ordre d'apparition dans le format de table.

    Les champs calculés sont conservés.

Astuce

S'il vous faut uniquement une partie des données contenues dans un enregistrement, n'incluez pas tous les champs ou l'intégralité de l'enregistrement dans la table de sortie triée. Sélectionnez uniquement les champs qu'il vous faut, ce qui, dans la plupart des cas, accélère le processus de tri.

AS nom_affichage

optionnel

Valide uniquement en cas d'utilisation de FIELDS.

Le nom d'affichage (titre de la colonne) pour le champ dans la vue dans la nouvelle table Analytics. Si vous souhaitez que le nom d'affichage soit identique au nom du champ ou à un nom d'affichage existant dans la table source, n'utilisez pas AS.

Indiquez le nom_affichage sous forme de chaîne entre guillemets. Utilisez un point-virgule (;) entre les mots si vous souhaitez insérer un saut de ligne dans le titre de la colonne.

Remarque

AS fonctionne uniquement lors d'une sortie vers une nouvelle table. Si vous effectuez un ajout dans une table existante, les autres titres de colonne de la table existante ont la priorité.

EXCLUDE nom_champ

optionnel

Valide uniquement en cas d'utilisation de FIELDS ALL.

Le ou les champs à exclure de la commande. EXCLUDE vous permet de personnaliser FIELDS ALL, en excluant les champs spécifiés.

EXCLUDE doit suivre immédiatement FIELDS ALL. Par exemple :

FIELDS ALL EXCLUDE champ_1 champ_2
TO nom_table

Emplacement vers lequel envoyer les résultats de la commande :

  • nom_table enregistre les résultats dans une table Analytics

    Indiquez nom_table sous forme de chaîne entre guillemets avec une extension de fichier .FIL. Par exemple : TO "Sortie.FIL"

    Par défaut, le fichier de données de table (.FIL) est enregistré dans le dossier contenant le projet Analytics.

    Utilisez un chemin de fichier absolu ou relatif pour enregistrer le fichier de données dans un autre dossier existant :

    • TO "C:\Sortie.FIL"
    • TO "Résultats\Sortie.FIL"

    Remarque

    La longueur des noms des tables est limitée à 64 caractères alphanumériques, sans l'extension .FIL. Le nom peut inclure le caractère de soulignement ( _ ), mais aucun autre caractère spécial ni espace. Le nom ne peut pas commencer par un chiffre.

LOCAL

optionnel

Enregistre le fichier de sortie au même emplacement que le projet Analytics.

Remarque

Applicable uniquement lorsque vous exécutez la commande sur une table de serveur avec un fichier de sortie qui est une table Analytics.

Le paramètre LOCAL doit suivre immédiatement le paramètre TO.

IF test

optionnel

Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée uniquement sur les enregistrements remplissant la condition.

Remarque

La condition IF est évaluée uniquement par rapport aux enregistrements restant dans une table après application des options relevant du champ d'application (WHILE, FIRST, NEXT).

WHILE test

optionnel

Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée jusqu'à ce que la condition soit évaluée comme fausse ou lorsque la fin de la table est atteinte.

Remarque

Si vous utilisez WHILE conjointement avec FIRST ou NEXT, le traitement des enregistrements s'arrête dès qu'une limite est atteinte.

FIRST plage | NEXT plage

optionnel

Le nombre d'enregistrements à traiter :

  • FIRST pour commencer le traitement à partir du premier enregistrement jusqu'à ce que le nombre d'enregistrements spécifié soit atteint
  • NEXT pour commencer le traitement à partir de l'enregistrement actuellement sélectionné jusqu'à ce que le nombre d'enregistrements spécifié soit atteint

Utilisez plage pour indiquer le nombre d'enregistrements à traiter.

Si vous ignorez FIRST et NEXT, tous les enregistrements sont traités par défaut.

APPEND

optionnel

Ajoute la sortie de commande à la fin d'un fichier existant au lieu de remplacer ce fichier.

Remarque

Vous devez vous assurer que la structure de la sortie de la commande et du fichier existant est identique :

  • les mêmes champs
  • le même ordre des champs
  • les champs correspondants ont la même longueur
  • les champs correspondants ont le même type de données

Analytics ajoute la sortie à un fichier existant sans tenir compte de sa structure, ce qui peut désordonner les données si la structure de la sortie et du fichier existant ne correspond pas.

OPEN

optionnel

Ouvrez la table et appliquez l'index à la table.

ISOLOCALE code_paramètres_régionaux

optionnel

Remarque

Applicable dans l'édition Unicode d'Analytics uniquement.

Paramètre système local au format langue_pays. Par exemple, pour utiliser le français canadien, saisissez fr_ca.

Utilisez les codes suivants :

  • langue code linguistique de la norme ISO 639
  • pays code pays de la norme ISO 3166

    Si vous n'indiquez pas de code pays, c'est le pays par défaut pour la langue qui est utilisé.

Si vous n'utilisez pas ISOLOCALE, ce sont les paramètres système régionaux par défaut qui sont utilisés.

Trier par un seul champ, sortir des enregistrements intégraux

Vous souhaitez trier les enregistrements dans l'exemple de table Inventaire par numéro de produit. Les enregistrements triés sont extraits dans une nouvelle table Analytics appelée Inventaire_Numéro_Produit.

Les enregistrements intégraux sont inclus dans la table de sortie :

SORT ON NumProd TO "Numéro_Produit_Inventaire"

Pour basculer de l'ordre de tri croissant par défaut à un ordre de tri décroissant, vous ajoutez D après le nom du champ clé :

SORT ON NumProd D TO "Numéro_Produit_Inventaire"

Trier par un seul champ, sortir un sous-ensemble de champs

Vous souhaitez trier les enregistrements dans l'exemple de table Inventaire par numéro de produit. Seuls le champ clé et les champs spécifiés qui ne sont pas des champs clés sont extraits dans une table Analytics appelée Quantité_disponible_Inventaire.

Le troisième champ non clé, QtyOH, porte le nom d'affichage Quantité disponible dans la table de sortie :

SORT ON NumProd FIELDS DescProd StatProd QtyOH AS "Quantité disponible" TO "Quantité_disponible_Inventaire"

Trier par un seul champ, sortir tous les champs

Vous souhaitez trier les enregistrements dans l'exemple de table Inventaire par numéro de produit. Tous les champs sont extraits dans une nouvelle table Analytics appelée Inventaire_Numéro_Produit.

La différence entre utiliser FIELDS ALL et sortir l'enregistrement intégral, c'est que FIELDS ALL convertit les champs calculés de la table source en champs physiques dans la table de sortie, et remplit les champs avec les valeurs calculées réelles :

SORT ON NumProd FIELDS ALL TO "Numéro_Produit_Inventaire"

Trier sur plusieurs champs (tri imbriqué)

Vous souhaitez trier les enregistrements dans l'exemple de table Inventaire par emplacement, puis par classe de produit, puis par numéro de produit. Les enregistrements triés sont extraits dans une nouvelle table Analytics appelée Numéro_Classe_Emplacement_Inventaire.

SORT ON Emplacement ClsProd NumProd TO "Numéro_Classe_Emplacement_Inventaire"

Tri à l'aide de champs associés

Vous souhaitez trier les enregistrements dans la table de l'échantillon Trans_Cf en fonction des champs suivants :

  • état du fournisseur (table Fournisseur associée)
  • ville du fournisseur (table Fournisseur associée)
  • numéro du fournisseur (table Trans_Cf)

Les trois champs clés et les champs spécifiés qui ne sont pas des champs clés, y compris le champ associé Fournisseur.Nom_Fournisseur, sont extraits dans une table Analytics appelée Trans_Cf_Etat_Ville :

SORT ON Fournisseur.Etat_Fournisseur Fournisseur.Ville_Fournisseur No_Fournisseur FIELDS Fournisseur.Nom_Fournisseur Num_facture Date_facture Montant_Facture NumProd Quantité Coût_unitaire TO "Trans_Cf_Etat_Ville"

Pour plus d'informations sur le fonctionnement de cette commande, consultez Trier les enregistrements.

La séquence de tri appliquée par la commande SORT

La commande SORT applique l'ordre de tri spécifié dans l'option Ordre de tri (Outils > Options> Table). Les séquences de tri par défaut sont présentées ci-dessous.

Pour des informations détaillées, consultez la section L'option Ordre de tri et les séquences de tri.

Édition Analytics

Ordre de tri par défaut

Séquence de tri associée

Non Unicode

Système par défaut

(ASCII)

Nombres, puis majuscules, puis minuscules :

0, 1, 2... A, B, C... a, b, c...

Exemple : « Z » est trié avant « a ».

Unicode

Mélanger les langages (UCA)

(algorithme de classement Unicode)

Nombres, puis minuscules et majuscules mélangées les unes avec les autres :

0, 1, 2... a, A, b, B, c, C...

Exemple : « a » est trié avant « Z ».

Respect de la casse

La fonction SORT est sensible à la casse. Selon l'édition d'Analytics que vous utilisez (non Unicode ou Unicode), la casse des chaînes de caractères peut affecter le tri.

Vous pouvez utiliser la fonction UPPER( ) conjointement à SORT si vous ne voulez pas que la casse affecte le tri :

SORT ON UPPER(key_field) TO "Table_triée"

Tri par champs associés

Vous pouvez trier par champs associés et les inclure sous forme de champs qui ne soient pas des champs clés dans la table de sortie triée. Pour faire référence à un champ associé dans la commande SORT, indiquez nom table enfant.nom champ.

Fichiers de données à longueur fixe et à longueur variable

La commande SORT fonctionne à la fois sur des fichiers de données à longueur fixe et à longueur variable.