List.Distinct

Синтаксис

List.Distinct(list as list, optional equationCriteria as any) as list

О программе

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

  • list: список, из которого извлекаются отдельные значения.
  • equationCriteria: (необязательно) указывает, как определяется равенство при сравнении значений. Этот параметр может быть функцией селектора ключей, функцией сравнения или списком, содержащим как селектор ключей, так и средство сравнения.

Пример 1

Удалите дубликаты из списка {1, 1, 2, 3, 3, 3}.

Использование

List.Distinct({1, 1, 2, 3, 3, 3})

Выходные данные

{1, 2, 3}

Пример 2

Начиная с конца списка выберите фрукты с уникальной длиной текста.

Использование

let
    Source = {"Apple", "Banana", "Cherry", "Date", "Fig"},
    Result = List.Distinct(List.Reverse(Source), each Text.Length(_))
in
    Result

Выходные данные

{"Fig", "Date", "Cherry", "Apple"}

Пример 3

Начиная с начала списка выберите уникальные фрукты, игнорируя регистр.

Использование

let
    Source = {"apple", "Pear", "aPPle", "banana", "ORANGE", "pear", "Banana", "Cherry"},
    Result = List.Distinct(Source, Comparer.OrdinalIgnoreCase)
in
    Result

Выходные данные

{"apple", "Pear", "banana", "ORANGE", "Cherry"}

Пример 4

Извлеките из списка списков первые списки с уникальными именами стран, игнорируя регистр. Поместите извлеченные списки в строки новой таблицы.

Использование

let
    Source = {
        {"USA", #date(2023, 8, 1), 567},
        {"canada", #date(2023, 8, 1), 254},
        {"Usa", #date(2023, 7, 1), 450},
        {"CANADA", #date(2023, 6, 1), 357},
        {"Panama", #date(2023, 6, 2), 20},
        {"panama", #date(2023, 7, 1), 40}
    },
    DistinctByCountry = List.Distinct(
        Source,
        {each _{0}, Comparer.OrdinalIgnoreCase}
    ),
    ToTable = Table.FromRows(DistinctByCountry, {"Country", "Date", "Value"}),
    ChangeTypes = Table.TransformColumnTypes(
        ToTable, {{"Country", type text}, {"Date", type date}, {"Value", Int64.Type}}
    )
in
    ChangeTypes

Выходные данные

#table(type table[Country = text, Date = date, Value = Int64.Type],
{
    {"USA", #date(2023, 8, 1), 567},
    {"canada", #date(2023, 8, 1), 254},
    {"Panama", #date(2023, 6, 2), 20}
})

Критерии уравнения