4D v16.3

VALEURS DISTINCTES

Accueil

 
4D v16.3
VALEURS DISTINCTES

VALEURS DISTINCTES 


 

VALEURS DISTINCTES ( leChamp ; tableau {; tabNbVal} ) 
Paramètre Type   Description
leChamp  Champ in Champ à utiliser
tableau  Tableau in Tableau devant recevoir les données du champ indexable
tabNbVal  Tableau entier long, Tableau réel in Tableau devant recevoir le nombre d'occurrences de chaque valeur

VALEURS DISTINCTES crée et remplit le tableau tableau avec toutes les valeurs distinctes provenant du champ leChamp pour la sélection courante de la table du champ et, optionnellement, retourne dans tabNbVal le nombre d'occurrences de chaque valeur.

Vous pouvez passer à cette commande tout type de champ indexable, c’est-à-dire dont le type supporte l’indexation mais qui n'est pas forcément indexé. Toutefois, l’exécution de la commande avec des champs non indexés est plus lente qu'avec des champs indexés. A noter également que dans ce cas, la commande perd l'enregistrement courant.
VALEURS DISTINCTES analyse et extrait les valeurs distinctes pour les enregistrements sélectionnés uniquement.

Note : Lorsque vous exécutez VALEURS DISTINCTES au sein d'une transaction non encore terminée, la commande tient compte des enregistrements créés au cours de la transaction.

Le tableau utilisé par VALEURS DISTINCTES doit être du même type que le champ passé en premier paramètre, sinon le tableau est retypé. Il y a une exception à cette règle : si le champ est de type Image (et est associé à un index de mots-clés), le tableau correspondant doit être de type Texte.

Après l'appel, la taille du tableau est égale au nombre de valeurs distinctes trouvées dans la sélection. La commande ne modifie pas la sélection courante ni l'enregistrement courant. Les éléments dans tableau sont triés par ordre croissant car VALEURS DISTINCTES utilise l'index du champ. Si cet ordre vous convient, vous n'avez donc pas besoin d'appeler TRIER TABLEAU après l'exécution de VALEURS DISTINCTES.

Note : Lorsque VALEURS DISTINCTES est exécutée avec un champ texte ou image associé à un index de mots-clés, la commande remplit le tableau avec les mots-clés de l'index. A la différence des autres types de données, les valeurs retournées diffèrent donc en fonction de l'existence de l'index. Dans le cas d'un champ texte, l'index de mots-clés est toujours pris en compte, même si le champ est également associé à un index standard. Si le champ texte ou image n’est pas associé à un index de mots-clés, le tableau est retourné vide.

La commande accepte en paramètre optionnel un tableau tabNbVal. Lorsqu'il est passé, ce tableau retourne, pour chaque valeur distincte de leChamp présente dans tableau, le nombre d'occurrences détectées dans la sélection courante. Le tableau tabNbVal est automatiquement dimensionné au même nombre d'éléments que tableau. Par exemple, pour une sélection qui contient trois enregistrements avec les valeurs de champs "A", "B" et "A", tableau contiendra {A;B} et tabNbVal contiendra {2;1}. Vous pouvez passer un tableau Entier long ou un tableau Réel dans tabNbVal

Note : Le paramètre tabNbVal n'est pas pris en charge pour les champs texte ou image associés à des index de mots-clés (dans ce contexte, il est retourné vide). 

ATTENTION : VALEURS DISTINCTES peut créer des tableaux de taille importante, en fonction de la taille de la sélection courante, ainsi que du type et de la taille des données à charger. Comme les tableaux résident en mémoire, il peut être utile de tester la taille des tableaux créés après l'exécution de la commande, ou d'utiliser une méthode projet d'interception d'erreurs installée par la commande APPELER SUR ERREUR.

4D Server : Cette commande est optimisée pour 4D Server. Le tableau est créé et les valeurs sont calculées sur le serveur. Seul le tableau est envoyé au client.

 

Note : Cette commande ne prend pas en charge les champs de type Objet.

L'exemple suivant crée une liste de villes à partir de la sélection courante et indique à l'utilisateur le nombre de villes dans lesquelles la société dispose de magasins :

 TOUT SELECTIONNER([Revendeurs]) ` Créer une sélection d'enregistrements
 VALEURS DISTINCTES([Revendeurs]Ville;taVilles)
 ALERTE("Cette société dispose de magasins dans "+Chaine(Taille tableau(taVilles))+" villes.")

Vous souhaitez obtenir la liste complète des mots-clés contenus dans l’index des mots-clés du champ "Photos" :

 TOUT SELECTIONNER([IMAGES])
 TABLEAU TEXTE(<>_MesMotsCles;10)
 VALEURS DISTINCTES([IMAGES]Photos;<>_MesMotsCles)

Pour calculer des statistiques, vous voulez trier le nombre de valeurs distinctes d'un champ par ordre décroissant :

 TABLEAU TEXTE($_issue_type;0)
 TABLEAU ENTIER LONG($_issue_type_instance;0)
 VALEURS DISTINCTES([Issue]iType;$_issue_type;$_issue_type_instances)
 TRIER TABLEAU($_issue_type_instances;$_issue_type;<)



Voir aussi  


APPELER SUR ERREUR
SELECTION LIMITEE VERS TABLEAU
SELECTION VERS TABLEAU

 
PROPRIÉTÉS 

Produit : 4D
Thème : Tableaux
Numéro : 339
Nom intl. : DISTINCT VALUES

Commande(s) éligible(s) à l'exécution dans un process préemptifComportement différent en mode distant

 
HISTORIQUE 

Modifié : 4D v11 SQL
Modifié : 4D v15 R4

 
MOTS-CLÉS 

index mots-clés, mots-clés

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)