Fonction LISTDISTINCT ER
Important
Tout ou partie de la fonctionnalité décrite dans cet article est accessible dans le cadre d’une version préliminaire. Le contenu et la fonctionnalité peuvent faire l’objet de modifications. Pour plus d’informations sur les préversions, voir Disponibilité des mises à jour de service.
La fonction LISTDISTINCT
calcule l’expression spécifiée comme un sélecteur pour chaque enregistrement de la liste spécifiée. Elle renvoie une nouvelle valeur Liste des enregistrements qui contient un seul enregistrement pour chaque valeur de sélecteur unique.
Syntaxe
LISTDISTINCT (list, selector)
Arguments
list
: Liste d’enregistrements
Chemin d’accès valide d’une source de données du type de données Liste d’enregistrements.
selector
: Type de données primitif
Expression valide utilisée pour calculer une valeur de sélecteur pour chaque enregistrement de la liste spécifiée.
Les types de données suivants sont pris en charge pour ce paramètre :
- Booléen
- Date
- Date et heure
- GUID
- Entier
- Int64
- Réel
- Chaîne
Valeurs de retour
Liste d’enregistrements
Liste des enregistrements résultante.
Notes d’utilisation
La structure de la liste créée correspond à la structure de la liste spécifiée.
La même valeur de sélecteur peut être calculée pour plusieurs enregistrements dans la liste spécifiée. Dans ce cas, les valeurs de champ de l’enregistrement correspondant dans la liste créée sont égales aux valeurs du premier enregistrement de la liste spécifiée pour laquelle la valeur du sélecteur est calculée.
L’exécution de cette fonction se fait sur toute source de données Gestion des états électroniques (ER) du type Liste des enregistrements présent en mémoire.
La source de données GROUPBY peut également être utilisée pour générer la liste des enregistrements pour lesquels le sélecteur qui a des valeurs distinctes est calculé. Cependant, du point de vue des performances et de la consommation de mémoire, il est préférable d’utiliser la fonction LISTDISTINCT
que la source de données GROUPBY, car l’exécution de la fonction se fait en mémoire.
Exemple
L’exemple suivant montre comment vous pouvez obtenir la liste des numéros de compte client uniques auxquels au moins une facture vente ou une facture projet a été émise au cours d’une période spécifique.
Entrez la source de données SalesInvoice de type
Record list
qui fait référence à la table d’application CustInvoiceJour et filtre les factures vente pour des périodes spécifiques.Le champ
InvoiceAccount
de cette source de données renvoie le numéro de compte d’un client facturé.Entrez la source de données ProjectInvoice de type
Record list
qui fait référence à la table d’application ProjInvoiceJour et filtre les factures projet pour des périodes spécifiques.Le champ
InvoiceAccount
de cette source de données renvoie le numéro de compte d’un client facturé.Configurez la source de données AllInvoices du type
Calculated field
qui contient l’expressionLISTJOIN(SalesInvoice, ProjectInvoice)
.Cette source de données renvoie la liste jointe des factures vente et des factures projet.
Configurez la source de données InvoicedCustomer du type
Record list
qui contient l’expressionLISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount)
.Cette source de données renvoie une nouvelle liste qui contient un enregistrement unique pour chaque client unique qui a été facturé pendant la période définie. Le champ
InvoiceAccount
de cette liste contient un numéro de compte client.