Delen via


Functie LISTDISTINCT ER

Belangrijk

De functionaliteit die in dit artikel wordt vermeld, of een gedeelte hiervan, is beschikbaar als onderdeel van een preview-versie. De inhoud en de functies kunnen worden gewijzigd. Meer informatie over preview-versies vindt u in Beschikbaarheid van serviceupdate.

De LISTDISTINCT-functie berekent de opgegeven expressie als een selector voor elke record van de opgegeven lijst. Er wordt een nieuwe waarde Recordlijst geretourneerd die één record bevat voor elke unieke selectorwaarde.

Syntaxis

LISTDISTINCT (list, selector)

Argumenten

list: Recordlijst

Het geldige pad van een gegevensbron van het gegevenstype Recordlijst.

selector: Primitief gegevenstype

Een geldige expressie die wordt gebruikt om een selectiewaarde te berekenen voor elke record in de opgegeven lijst.

De volgende gegevenstypen worden voor deze parameter ondersteund:

  • Booleaans
  • Datum
  • DateTime
  • Guid
  • Geheel getal
  • Int64
  • Real-modus
  • Tekenreeks

Retourwaarden

Recordlijst

De resulterende lijst met records.

Gebruiksaanwijzingen

De structuur van de lijst die wordt gemaakt, komt overeen met de structuur van de opgegeven lijst.

Dezelfde selectorwaarde kan worden berekend voor meerdere records in de opgegeven lijst. In dit geval zijn de veld waarden van de bijbehorende record in de gemaakte lijst gelijk aan de waarden van de eerste record uit de opgegeven lijst waarvoor de selectorwaarde wordt berekend.

De uitvoering van deze functie vindt plaats op elke ER-gegevensbron van het type recordlijst die aanwezig is in het geheugen.

De gegevensbron GROUPBY kan ook worden gebruikt om de lijst met records te genereren waarvoor de selector met afzonderlijke waarden wordt berekend. Vanuit het oogpunt van prestatie en geheugenverbruik is het echter beter om de functie LISTDISTINCT te gebruiken dan de gegevensbron GROUPBY, omdat de uitvoering van de functie in het geheugen plaatsvindt.

Voorbeeld

In het volgende voorbeeld ziet u hoe u de lijst met unieke klantrekeningnummers kunt ophalen die gedurende een bepaalde periode voor ten minste één verkoopfactuur of projectfactuur zijn uitgegeven.

  1. Voer de gegevensbron SalesInvoice in van het type Record list die verwijst naar de toepassingstabel CustInvoiceJour en de verkoopfacturen filtert voor specifieke perioden.

    Het veld InvoiceAccount van deze gegevensbron retourneert het rekeningnummer van een gefactureerde klant.

  2. Voer de gegevensbron ProjectInvoice in van het type Record list die verwijst naar de toepassingstabel ProjInvoiceJour en de projectfacturen filtert voor specifieke perioden.

    Het veld InvoiceAccount van deze gegevensbron retourneert het rekeningnummer van een gefactureerde klant.

  3. Configureer de gegevensbron AllInvoices van het veld Calculated field dat de expressie LISTJOIN(SalesInvoice, ProjectInvoice) bevat.

    Deze gegevensbron retourneert de gekoppelde lijst met verkoopfacturen en projectfacturen.

  4. Configureer de gegevensbron InvoicedCustomer van het veld Record list dat de expressie LISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount) bevat.

    Met deze gegevensbron wordt een nieuwe lijst geretourneerd die één record bevat voor elke unieke klant die gedurende de gedefinieerde periode is gefactureerd. Het veld InvoiceAccount van deze lijst bevat een rekeningnummer van een klant.

Aanvullende bronnen

Lijstfuncties