Поделиться через


Функция LISTDISTINCT ER

Важно

Часть или вся функциональность, описанная в этой статье, доступна в рамках предварительного выпуска. Содержимое и функциональность могут быть изменены. Дополнительные сведения о предварительных выпусках см. в разделе Доступность обновления службы.

Функция LISTDISTINCT вычисляет указанное выражение в качестве селектора для каждой записи указанного списка. Оно возвращает новое значение списка записей, содержащее одну запись для каждого уникального значения селектора.

Синтаксис

LISTDISTINCT (list, selector)

Аргументы

list: Список записей

Действительный путь источника данных типа данных Список записей.

selector: Примитивный тип данных

Допустимое выражение, используемое для расчета значения селектора для каждой записи в указанном списке.

Для этого параметра поддерживаются следующие типы данных:

  • Логический
  • Дата
  • DateTime
  • GUID
  • Целое число
  • Int64
  • Действующий
  • Строка

Возвращаемые значения

Список записей

Полученный список записей.

Примечания по использованию

Созданная структура списка совпадает со структурой указанного списка.

Для нескольких записей в указанном списке может быть рассчитано одно и то же значение селектора. В этом случае значения полей соответствующей записи в созданном списке равны значениям первой записи из указанного списка, для которого рассчитывается значение селектора.

Выполнение этой функции выполняется в любом источнике данных электронной отчетности (ER) типа списка записей, присутствующего в памяти.

Источник данных GROUPBY также можно использовать для создания списка записей, для которых рассчитывается селектор с различными значениями. Однако с точки зрения производительности и потребления памяти лучше использовать функцию LISTDISTINCT, чем источник данных GROUPBY, так как выполнение функции в происходит памяти.

Пример

В следующем примере показано, как можно получить список уникальных номеров счетов клиентов, для которых в течение определенного периода была создана по крайней мере одна накладная по продаже или накладная по проекту.

  1. Введите источник данных SalesInvoice типа Record list, относящийся к таблице приложения CustInvoiceJour и фильтрующий накладные по продаже для указанных периодов.

    Поле InvoiceAccount этого источника данных возвращает номер счета клиента, по которому выставлена накладная.

  2. Введите источник данных ProjectInvoice типа Record list, относящийся к таблице приложения ProjInvoiceJour и фильтрующий накладные по проекту для указанных периодов.

    Поле InvoiceAccount этого источника данных возвращает номер счета клиента, по которому выставлена накладная.

  3. Настройте источник данных AllInvoices типа Calculated field, содержащий выражение LISTJOIN(SalesInvoice, ProjectInvoice).

    Этот источник данных возвращает объединенный список накладных по продаже и накладных по проекту.

  4. Настройте источник данных InvoicedCustomer типа Record list, содержащий выражение LISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount).

    Этот источник данных возвращает новый список, содержащий одну запись для каждого уникального клиента, по которому была выставлена накладная в течение определенного периода времени. Поле InvoiceAccount этого списка содержит номер счета клиента.

Дополнительные ресурсы

Функции для работы со списками