LISTDISTINCT ER-funksjonen
Viktig
Deler av eller all funksjonalitet som er nevnt i denne artikkelen, er tilgjengelig som en del av en forhåndsversjon. Innholdet og funksjonaliteten kan bli endret. Hvis du vil ha mer informasjon om forhåndsversjoner, kan du se Tilgjengelighet av serviceoppdatering.
LISTDISTINCT
-funksjonen beregner det angitte uttrykket som en velger for hver post i den angitte listen. Den returnerer en ny Postliste-verdi som inneholder én enkelt post for hver unike velgerverdi.
Syntaks
LISTDISTINCT (list, selector)
Argumenter
list
: Postliste
Den gyldige banen til en datakilde av Postliste-datatypen.
selector
: Primitiv datatype
Et gyldig uttrykk som brukes til å beregne en utvalgsverdi for hver post i den angitte listen.
Følgende datatyper støttes for denne parameteren:
- Boolsk
- Dato
- DateTime
- Guid
- Heltall
- Int64
- Kommatall
- Streng
Returverdier
Postliste
Den resulterende listen over oppføringer.
Bruksnotater
Strukturen i listen som opprettes, samsvarer med strukturen i den angitte listen.
Den samme velgerverdien kan beregnes for flere poster i den angitte listen. I dette tilfellet er feltverdiene for den tilsvarende posten i den opprettede listen lik verdiene til den første posten fra den angitte listen som velgerverdien beregnes for.
Kjøringen av denne funksjonen utføres på alle datakilder for elektronisk rapportering (ER) for Postliste-typen som finnes i minnet.
Datakilden GROUPBY kan også brukes til å generere listen over poster som velgeren som har distinkte verdier, beregnes for. Fra et ytelses- og minneforbruksperspektiv er det imidlertid bedre å bruke LISTDISTINCT
-funksjonen enn datakilden GROUPBY, fordi kjøringen av funksjonen utføres i minnet.
Eksempel
Følgende eksempel viser hvordan du kan hente listen over unike kundekontonumre som minst én salgsfaktura eller prosjektfaktura har blitt utstedt til, i løpet av en bestemt periode.
Angi SalesInvoice-datakilden for
Record list
-typen som refererer til apptabellen CustInvoiceJour, og filtrerer salgsfakturaer for bestemte perioder.InvoiceAccount
-feltet i denne datakilden returnerer kontonummeret til en fakturert kunde.Angi ProjectInvoice-datakilden for
Record list
-typen som refererer til apptabellen ProjInvoiceJour, og filtrerer prosjektfakturaer for bestemte perioder.InvoiceAccount
-feltet i denne datakilden returnerer kontonummeret til en fakturert kunde.Konfigurer datakilden AllInvoices for
Calculated field
-typen som inneholder uttrykketLISTJOIN(SalesInvoice, ProjectInvoice)
.Denne datakilden returnerer den sammenføyde listen over salgsfakturaer og prosjektfakturaer.
Konfigurer datakilden InvoicedCustomer for
Record list
-typen som inneholder uttrykketLISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount)
.Denne datakilden returnerer en ny liste som inneholder én enkelt post for hver unike kunde som er fakturert i løpet av den definerte perioden.
InvoiceAccount
-feltet i denne listen inneholder et kundekontonummer.