Jaa


LISTDISTINCT ER -toiminto

Tärkeä

Jotkin tai kaikki tässä artikkelissa mainitut toiminnot tulevat saataville esiversiojulkaisun osana. Sisältö ja toiminnot voivat muuttua. Lisätietoja ennakkojulkaisusta on kohdassa Palvelupäivitysten saatavuus.

LISTDISTINCT-funktio laskee määritetyn lausekkeen valitun luettelon jokaisen tietueen valitsimena. Se palauttaa uuden tietueluettelon arvon, joka sisältää yhden tietueen kutakin yksilöllistä valitsinarvoa kohden.

Syntaksi

LISTDISTINCT (list, selector)

Argumentit

list: Tietueluettelo

Tietueluettelo-tietotyypin tietolähteen kelvollinen polku.

selector: Primitiiviset tietotyypit

Kelvollinen lauseke, jonka avulla lasketaan valitun luettelon jokaisen tietueen valitsinarvo.

Tämä parametri tukee seuraavia tietotyyppejä:

  • Boolen arvo
  • Päivämäärä
  • Päivämäärä ja aika
  • Guid
  • Kokonaisluku
  • Int64
  • Reaaliluku
  • Merkkijono

Palautusarvot

Tietueluettelo

Tuloksena oleva tietueluettelo.

Käyttöhuomautukset

Luotavan luettelon rakenne vastaa määritetyn luettelon rakennetta.

Sama valitsimen arvo voidaan laskea useille tietueille määritetyssä luettelossa. Tässä tapauksessa luodun luettelon vastaavan tietueen kenttäarvot vastaavat määritetyn luettelon ensimmäisen tietueen arvoja, joille valitsinarvo lasketaan.

Tämän toiminnon suorittaminen tapahtuu muistissa olevan tietueluettelo-tyypin sähköisen raportoinnin (ER) tietolähteen avulla.

GROUPBY-tietolähdettä voidaan käyttää myös sellaisten luettelotietojen luomiseen, joille on määritetty erilliset arvot sisältävä valitsin. Suorituskyvyn ja muistin kulutuksen näkökulmasta on kuitenkin parempi käyttää LISTDISTINCT-funktiota kuin GROUPBY-tietolähdettä, koska toiminnon suorittaminen tapahtuu muistissa.

Esimerkki

Seuraavassa esimerkissä näkyy, miten voit saada luettelon yksilöivistä asiakastilinumeroista, joille on myönnetty vähintään yksi myyntilasku tai projektilasku tiettynä kautena.

  1. Kirjoita sen tyypin SalesInvoice-tietolähde Record list-tyyppistä, joka viittaa CustInvoiceJour-sovellustauluun ja suodattaa tiettyjen kausien myyntilaskut.

    Tämän tietolähteen InvoiceAccount-kenttä palauttaa laskutetun asiakkaan tilinumeron.

  2. Kirjoita sen tyypin ProjectInvoice-tietolähde Record list-tyyppistä, joka viittaa ProjInvoiceJour-sovellustauluun ja suodattaa tiettyjen kausien projektilaskut.

    Tämän tietolähteen InvoiceAccount-kenttä palauttaa laskutetun asiakkaan tilinumeron.

  3. Määritä Calculated field-tyypin AllInvoices-tietolähde, joka sisältää lausekkeen LISTJOIN(SalesInvoice, ProjectInvoice).

    Tämä tietolähde palauttaa liitettyjen myyntilaskujen ja projektilaskujen luettelon.

  4. Määritä Record list-tyypin InvoicedCustomer-tietolähde, joka sisältää lausekkeen LISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount).

    Tämä tietolähde palauttaa uuden luettelon, joka sisältää yhden tietueen jokaiselle määritetyn kauden aikana laskutetulle asiakkaalle. Tämän luettelon InvoiceAccount-kenttä sisältää asiakkaan tilinumeron.

Lisäresurssit

Luettelotoiminnot