Del via


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.

  1. 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.

  2. 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.

  3. Konfigurer datakilden AllInvoices for Calculated field-typen som inneholder uttrykket LISTJOIN(SalesInvoice, ProjectInvoice).

    Denne datakilden returnerer den sammenføyde listen over salgsfakturaer og prosjektfakturaer.

  4. Konfigurer datakilden InvoicedCustomer for Record list-typen som inneholder uttrykket LISTDISTINCT(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.

Tilleggsressurser

Listefunksjoner