Функция LISTDISTINCT ER
Важно
Часть или вся функциональность, описанная в этой статье, доступна в рамках предварительного выпуска. Содержимое и функциональность могут быть изменены. Дополнительные сведения о предварительных выпусках см. в разделе Доступность обновления службы.
Функция LISTDISTINCT
вычисляет указанное выражение в качестве селектора для каждой записи указанного списка. Оно возвращает новое значение списка записей, содержащее одну запись для каждого уникального значения селектора.
Синтаксис
LISTDISTINCT (list, selector)
Аргументы
list
: Список записей
Действительный путь источника данных типа данных Список записей.
selector
: Примитивный тип данных
Допустимое выражение, используемое для расчета значения селектора для каждой записи в указанном списке.
Для этого параметра поддерживаются следующие типы данных:
- Логический
- Дата
- DateTime
- GUID
- Целое число
- Int64
- Действующий
- Строка
Возвращаемые значения
Список записей
Полученный список записей.
Примечания по использованию
Созданная структура списка совпадает со структурой указанного списка.
Для нескольких записей в указанном списке может быть рассчитано одно и то же значение селектора. В этом случае значения полей соответствующей записи в созданном списке равны значениям первой записи из указанного списка, для которого рассчитывается значение селектора.
Выполнение этой функции выполняется в любом источнике данных электронной отчетности (ER) типа списка записей, присутствующего в памяти.
Источник данных GROUPBY также можно использовать для создания списка записей, для которых рассчитывается селектор с различными значениями. Однако с точки зрения производительности и потребления памяти лучше использовать функцию LISTDISTINCT
, чем источник данных GROUPBY, так как выполнение функции в происходит памяти.
Пример
В следующем примере показано, как можно получить список уникальных номеров счетов клиентов, для которых в течение определенного периода была создана по крайней мере одна накладная по продаже или накладная по проекту.
Введите источник данных SalesInvoice типа
Record list
, относящийся к таблице приложения CustInvoiceJour и фильтрующий накладные по продаже для указанных периодов.Поле
InvoiceAccount
этого источника данных возвращает номер счета клиента, по которому выставлена накладная.Введите источник данных ProjectInvoice типа
Record list
, относящийся к таблице приложения ProjInvoiceJour и фильтрующий накладные по проекту для указанных периодов.Поле
InvoiceAccount
этого источника данных возвращает номер счета клиента, по которому выставлена накладная.Настройте источник данных AllInvoices типа
Calculated field
, содержащий выражениеLISTJOIN(SalesInvoice, ProjectInvoice)
.Этот источник данных возвращает объединенный список накладных по продаже и накладных по проекту.
Настройте источник данных InvoicedCustomer типа
Record list
, содержащий выражениеLISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount)
.Этот источник данных возвращает новый список, содержащий одну запись для каждого уникального клиента, по которому была выставлена накладная в течение определенного периода времени. Поле
InvoiceAccount
этого списка содержит номер счета клиента.