Dans cette section : |
La commande COUNT compte le nombre d'instances qui existent pour un champ particulier. La commande COUNT est particulièrement utile en conjonction avec la phrase BY, qui est traitée à la rubrique Trier des rapports tabulaires.
COUNT compte les instances de données contenues dans un rapport, et non pas les valeurs.
Pour la syntaxe COUNT, consultez Utiliser des commandes d'affichage dans une requête.
Par défaut, un champ COUNT est un nombre entier à cinq chiffres. Vous pouvez le reformater en utilisant la commande COMPUTE et changer sa longeur de champ en utilisant le paramètre SET COUNTWIDTH. Pour plus de détails sur la commande COMPUTE, consultez Création de champs temporaires. Pour plus d'infomations sur SET COUNTWIDTH, reportez-vous au manuel Développement d'applications de reporting .
Lorsque COUNT est utilisé dans une requête, le mot COUNT est ajouté au titre de colonne par défaut, à moins que le titre de colonne soit modifié avec une phrase AS.
Pour déterminer combien d'employés se trouvent dans la source de données EMPLOYEE, vous pouvez compter les instances de EMP_ID, ce qui est le numéro d'identification d'employé.
TABLE FILE EMPLOYEE COUNT EMP_ID END
L'image suivante montre les résultats de la procédure de rapport.
EMP_ID |
COUNT |
------ |
12 |
Pour compter les instances de EMP_ID pour chaque département, utilisez cette requête :
TABLE FILE EMPLOYEE COUNT EMP_ID BY DEPARTMENT END
La sortie de la procédure de rapport indique que sur les douze instances de EMP_ID dans la source de données, six proviennent du service MIS et six proviennent du service PRODUCTION :
EMP_ID DEPARTMENT COUNT ---------- ------ MIS 6 PRODUCTION 6
L'exemple suivant compte les instances de données dans les champs LAST_NAME, DEPARTMENT, et JOBCODE dans la source de données EMPLOYEE.
TABLE FILE EMPLOYEE COUNT LAST_NAME AND DEPARTMENT AND JOBCODE END
L'image suivante montre les résultats de la procédure de rapport.
LAST_NAME DEPARTMENT JOBCODE COUNT COUNT COUNT --------- ---------- ------- 12 12 19
La source de données EMPLOYEE contient des données relatives à douze employés, avec une instance pour chaque LAST_NAME. Bien qu'il n'y ait que deux valeurs pour DEPARTMENT, il y a douze instances du champ DEPARTMENT car chaque employé travaille pour un des deux départements. Aussi, il y a dix-neuf instances du champ JOBCODE car les employés peuvent avoir plus d'un code de travail au cours de leur emploi.
Vous pouvez compter facilement les instances du segment le plus bas dans le chemin de gauche d'une source de données en spécifiant l'astérisque (*) comme caractère générique au lieu d'un nom de champ spécifique. Dans une source de données à segment unique, cela compte toutes les instances dans la source de données.
La commande COUNT * réalise cette tâche en comptant les valeurs du premier champ dans le segment. Les instances auxquelles il manque une valeur dans le premier champ ne sont pas comptées (lorsque la commande est ainsi, SET MISSING=ON).
Les instances de segments dans les chemins courts ne sont pas comptées par COUNT *, quelle que soit la valeur du paramètre ALL de la commande SET.
Pour en savoir plus au sujet des valeurs manquantes, des chemins courts et du paramètre SET ALL, consultez Gestion d'enregistrements avec des valeurs de champs manquantes.
La requête suivante compte le nombre d'instances du segment SKILLSEG de la source de données EMPLOYEE.
TABLE FILE EMPLOYEE COUNT * END
L'image suivante montre les résultats de la procédure de rapport.
COUNT * |
COUNT |
------- |
19 |
COUNT * compte le nombre d'instances du segment SKILLSEG, qui est le segment le plus bas dans le chemin de gauche de la structure de source de données EMPLOYEE (la source de données EMPLOYEE jointe aux sources de données JOBFILE et EDUCFILE). Vous pouvez visualiser la structure de chemin à la rubrique Affichage de la structure et de l'ordre d'extraction d'une source de données multi-chemins.
Conseil : dans certains environnements, l'avertissement suivant s'affiche si vous utilisez la commande COUNT * avec une source de données à chemins multiples (tel que EMPLOYEE dans l'exemple ci-dessus).
(FOC757) WARNING. YOU REQUESTED PRINT * OR COUNT * FOR A MULTI-PATH FILE
WebFOCUS |