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.
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.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.Määritä
Calculated field
-tyypin AllInvoices-tietolähde, joka sisältää lausekkeenLISTJOIN(SalesInvoice, ProjectInvoice)
.Tämä tietolähde palauttaa liitettyjen myyntilaskujen ja projektilaskujen luettelon.
Määritä
Record list
-tyypin InvoicedCustomer-tietolähde, joka sisältää lausekkeenLISTDISTINCT(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.