Funkcja LISTDISTINCT ER
Ważne
Niektóre lub wszystkie funkcje wymienione w tym artykule są dostępne w ramach wydania wersji zapoznawczej. Zawartość i funkcje mogą ulec zmianie. Aby uzyskać więcej informacji dotyczących wydań wersji zapoznawczych, zobacz Dostępność aktualizacji usługi.
Funkcja LISTDISTINCT
oblicza określone wyrażenie jako selektor dla każdego rekordu określonej listy. Zwraca nową wartość Lista rekordów zawierającą jeden rekord dla każdej unikatowej wartości selektora.
Składnia
LISTDISTINCT (list, selector)
Argumenty
list
: Lista rekordów
Prawidłowa ścieżka elementu źródła danych o typie danych Lista rekordów.
selector
: Pierwotny typ danych
Prawidłowe wyrażenie używane do obliczenia wartości selektora dla każdego rekordu na określonej liście.
Dla tego parametru są obsługiwane następujące typy danych:
- Wartość logiczna
- Data
- Data/godzina
- Identyfikator Guid
- Wartość całkowita
- Int64
- Rzeczywisty
- Ciąg
Wartości zwracane
Lista rekordów
Wynikowa lista rekordów.
Uwagi dotyczące użytkowania
Struktura tworzonej listy pasuje do struktury określonej listy.
Ta sama wartość selektora może zostać obliczona dla wielu rekordów na określonej liście. W tym przypadku wartości pól odpowiadające danemu rekordowi z utworzonej listy są równe wartościom pierwszego rekordu z określonej listy, dla którego obliczana jest wartość selektora.
Wykonywanie tej funkcji jest wykonywane na dowolnym źródle danych raportowania elektronicznego (ER) typu Lista rekordów, które znajduje się w pamięci.
Źródło danych GROUPBY może być również używane do generowania listy rekordów, dla których jest obliczane selektor zawierający różne wartości. Jednak z perspektywy wykorzystania wydajności i pamięci lepiej jest stosować funkcję LISTDISTINCT
niż źródło danych GROUPBY, ponieważ wykonywanie funkcji jest wykonywane w pamięci.
Przykład
W poniższym przykładzie pokazano, jak można uzyskać listę unikatowych numerów kont odbiorców, dla których wystawiono co najmniej jedną fakturę sprzedaży lub fakturę projektu w określonym okresie.
Wprowadź źródło danych SalesInvoice typu
Record list
, które odwołuje się do tabeli aplikacji CustInvoiceJour i filtruje faktury sprzedaży dla wybranych okresów.Pole
InvoiceAccount
tego źródła danych zwraca numer konta zafakturowanego odbiorcy.Wprowadź źródło danych ProjectInvoice typu
Record list
, które odwołuje się do tabeli aplikacji ProjInvoiceJour i filtruje faktury projektu dla wybranych okresów.Pole
InvoiceAccount
tego źródła danych zwraca numer konta zafakturowanego odbiorcy.Skonfiguruj źródło danych AllInvoices typu
Calculated field
, które zawiera wyrażenieLISTJOIN(SalesInvoice, ProjectInvoice)
.To źródło danych zwraca listę sprzężonych faktur sprzedaży i faktur projektu.
Skonfiguruj źródło danych InvoicedCustomer typu
Record list
, które zawiera wyrażenieLISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount)
.To źródło danych zwraca nową listę zawierającą jeden rekord dla każdego unikatowego odbiorcy, który został zafakturowany w określonym okresie. Pole
InvoiceAccount
tej listy zawiera numer konta odbiorcy.